Тихое сканирование, или что нужно знать про Nmap.

Привет всем, сегодня продолжаем разбирать по полочкам сканер Nmap, и попробуем выяснить, почему так часто сканирование заканчивается неудачей, и что обязательно нужно знать тому, кто впервые набирает команду nmap в терминале Кали. И, наконец, что такое тихое сканирование, и почему оно так важно.

простое сканирование nmap

Так или иначе вопрос удачного сканирования лежит в плоскости обхода систем защиты от того же сканирования, и их появилось немало. Времена, когда простым пингованием и выбором подходящего скрипта можно было вытрясти из хоста всю информацию, давно канули в лету. Так что пентестеру приходится изрядно изощряться для того, чтобы получить хоть какой-то результат.

Работа в глобальной сети тем и отличается от сети локальной, что в последней можно скорректировать линию защиты подопытной ОСи для достижения максимальных результатов сканирования. Однако зачем себя же и обманывать?

Однако основная проблема начинающих тестеров в том, что они просто забывают о том, что программы, подобные Nmap – это не инструмент вторжения в чужое пространство. Это именно инструмент тестирования на безопасность. А потому большинство опций, здесь представленных, не пригодны для IT-ниндзя: они рассчитаны на производительность в условиях бесконечных прав на проверку безопасности. А глобальная сеть – это устройства, которые нужно “преодолеть” перед тем, как вы настигнете конечный компьютер-жертву. Что и где настроено на стороне пассивной защиты – основная цель пентестера. Однако практически ни один из его шагов незамеченным не останется – ведь многие техники сканирования предназначена именно для достижения оптимального результата с чёткими ответами. И в случае несанкционированного проникновения в сеть жертвы выход видится один – максимально тихое сканирование.

Далее. Все действия по пингованию и сканированию производятся от имени привилегированного пользователя. У Nmap есть отличительная особенность: она следит за регистром команд и флагов, а одинаковые команды с одними флагами обрабатываются у разных пользователей по-разному. Хотите чистоту полевых испытаний – работайте из-под root.



Что предлагает Nmap?

По умолчанию, как вы знаете, Nmap запускает сканирование по типу TCP SYN  (это флаг -sS в команде nmap). Оно (ТиСиПи СИН сканирование) никогда не откроет сессию ни одного из приложений и, значит, не сильно с ними конфликтует, но теоретически способно обнаружить открытые порты (равно как фильтруемые и закрытые). Это относительно тихое сканирование, но пассивная защита (далее просто защита) может его зафиксировать по необычному – относительно остального потока интернет-трафика – числу попыток соединений (подключился-отключился) к различным портам системы. Отсюда вывод первый:

незаметное и тихое сканирование с флагом -sS возможно лишь при сканировании отдельного или ограниченного набора портов.

Казалось бы, наиболее подходящим в случае разведки стали бы следующие виды скана по типу FIN (-sF) и Xmas-tree (-sX). Сюда же можно добавить и Null-сканирование (-sN). Отличительная особенность их (ФИН, ИксМАС-три и Нулл) сканирования – в сторону жертвы уходит единичный блок (фрейм) TCP протокола, один же блок и возвращается. Никаких рукопожатий или дополнительных фреймов: всё ограничивается этой парой. А значит:

  • администратор жертвы в логах ничего не увидит
  • пропускная способность сети не меняется (провайдер и админы) ничего предрассудительного не обнаружат
  • если слепое сканирование натыкается на не-Windows ОС, о ней такие сканы рассказать могут многое

НО. Вывод второй:

Сканирование портов систем под управлением Windows с флагами -sN, -sX и -sF бессмысленно: система просто не отзовётся, выдав сообщение о закрытых портах.

Какие варианты?

Остаётся ACK (-sA) АК-скан – идеальный до недавнего времени вариант сканирования. Умеет перепрыгивать через фаероволлы, и, также как и предыдущие, способен экономить сетевой трафик, не выказывая подлинных намерений атакующего компьютера. Отсюда и некоторые ограничения в результатах:

Сканирование с флагом -sA не скажет, открыт ли порт или закрыт: оно способно оперировать лишь с показаниями FILTERED или UNFILTERED (фильтруется или нет) – речь только о доступных портах системы. 




А вот это уже не тихое сканирование.

В Nmap существует целый ряд техник, применять которые не рекомендуется, если вы собираетесь остаться неузнанным системами безопасности и не бросаться в глаза в логах. Это не означает, что их их нужно похерить: просто у них есть ряд серьёзных ограничений.

  • Сканирование TCP connect (-sT) отправляет хендшейки (рукопожатия) вслед за FIN-пакетами и открывает сессию с приложением на стороне удалённого сервера. Как вы понимаете, это сразу обнаруживается в логах, и сетевое соединение мгновенно заполняется кучей протокольных фреймов типа “подключение-проверил_работает_ли-отключение”. Какая тут тишина…
  • Ping (-sP) сканирование не такой перфоратор в стенку сервера, однако, если сканирование включает в себя большой диапазон IP адресов, это подразумевает, что с вашего адреса в сторону подсети пойдёт огромное количество echo-запросов ICMP. Дело в том, что у таких эхо-запросов есть ряд выдающихся черт, выделяющих этот протокол из числа остальных. Возьмите к тому же сам факт того, что в объёме интернет-трафика количество запросов ICMP мизерно, а значит процесс сканирования с флагом -sP с любого IP выдаст его намерения мгновенно. Хотите тихое сканирование? Работайте одновременно только с двумя-тремя устройствами.
  • Сканирование IP протокола (-sO) и  Ping (-sP) на первый взгляд вполне подходяще: в сторону жертвы идёт один фрейм, вероятно, один же и вернётся. Ширина канала для него крайне узка и потеряется в общем потоке трафика. Однако этот факт, скорее всего, и выдаст тестера в файле трассировки в логах сервера, чей IP будет немедленно забанен внимательным админом.
  • RPC сканирование. Имеет явные черты громкоговорителя из-за попытки открыть сессии с приложениями. Как-то столкнулся с термином RPC-шлифовка: и правда, сканирование флагом (-sR) чем-то напоминает бесконечное перемалывание сервисов пакетами на основе того же RPC. Сеть, которая не привыкла видеть большое количество таких пакетов, должна насторожиться.

Проверьте, не пингуют ли вас…

Тихое сканирование: незаметный пинг.

С типами сканирования более-менее разобрались. Обратим внимание на утилиту отправителя пакетов PING. Не лишним стало бы напомнить, что по умолчанию Nmap пытается пинговать все устройства, на которые утилита наткнётся. Так что, вероятно, есть смысл В КАЖДОМ ИЗ ТИПОВ СКАНИРОВАНИЯ использовать обнулённый  пинг, добавив в команду nmap флаг -P0. Если уж нам понадобилось пропинговать цель перед сканированием, помните, что:

  • пинг самой Nmap  – это крохи трафика
  • никакой пинг ни с одним из приложений на стороне жертвы не будет взаимодействовать
  • и пусть пинг будет всё-таки отдельной командой

Тихое сканирование: отключаем обратный DNS запрос.

Когда мы вводим в команду nmap нужный нам IP адрес, скрипт обязательно попытается преобразовать IP адрес в имя DNS. Для случаев корректной отправки почтовых сообщений с собственного сервера это просто необходимо, а в нашем случае зачем?  Согласен, способ попахивает паранойей, и вы ощутите потерю в скорости работы. Если же вы определяете цель по доменному имени вместо IP, способность воспроизвести разрешение имени может дать сбой. А потому возьмите на заметку:

  • запрещаем реверс DNS с помощью флага -n
  • используем в качестве целей только адреса в формате 111.111.111.111. Никаких сайт.com или какое там устройство явилось вашей целью…
  • если использования именно имени удалённого хоста не избежать никак или, действительно, приходится работать устройство по его имени, как вариант можно добавить пару “IP адрес – имя” (XXX.XXX.XXX.XXX www.сайт.com) в файле hosts. Поиск DNS будет производиться не где-то там, а у вас на компьютере. Так что разведка и ещё раз разведка.

Следующую статью я посвящу очередной порции полезных настроек короля сканеров Nmap: мы рассмотрим Тайминги сканирования, которые придадут многим, казалось бы, простеньким командам остроту и конкретность в результатах.

Успехов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Максимальный размер загружаемого файла: 50 МБ. Вы можете загрузить: изображение, видео. Ссылки на YouTube, Facebook, Twitter и другие сервисы, вставленные в текст комментария, будут автоматически встроены. Перетащите файлы сюда