Nmap избежать случайных результатов (повысить точность) - PullRequest
0 голосов
/ 24 февраля 2020

Я использую nmap для обнаружения 80 открытых портов для данной сети (в сети, а не локально), проблема в том, что некоторые хосты в этой сети перегружены (они обрабатывают огромные трафик http c), поэтому nmap пропуская некоторые из этих хостов, например:

  1. первое сканирование с использованием nmap для хоста X дает: обнаружен открытый порт tcp (80);
  2. второе сканирование: нет открытого порта;
  3. третье сканирование: обнаружен открытый порт TCP (80);
  4. ...

И так далее, он не дает постоянных результатов, и мне нужно точно знать, на каких хостах открыто 80 портов (или другой порт),

Я пытался увеличить время ожидания, увеличить / уменьшить агрессивность ... В итоге я получаю следующую команду nmap:

nmap -sS -p 80 -T3 -v -n --min-rtt-timeout 60m --max-retries 30 --host-timeout 5m -Pn --open X.X.X.X

Я пробовал комбинацию различных параметров, я хочу, чтобы nmap повторял несколько раз для каждого хоста, чтобы он закрыл 80 (или другой) порт,

Есть идеи?

Заранее спасибо,

1 Ответ

2 голосов
/ 25 февраля 2020

Я сомневаюсь, что эти серверы «перегружены». Я предпочел бы предположить, что на серверах работает какая-то IDS, это может быть установка fail2ban или CSD / LFD, или, возможно, брандмауэр или какое-либо устройство, которое мешает сканированию портов и, таким образом, сводит на нет ваши усилия по разведке. Любой сервер, работающий на Inte rnet, должен иметь какую-то защиту, поэтому вы можете ожидать, что многие серверы действительно настроены для того, чтобы усложнить вашу работу.

Сканирование портов, особенно скрытно и надежно обходить IDS - это искусство. Делая это грубым способом, вы получите грубые и несколько ненадежные результаты.

Для IDS довольно легко распознать сигнатуру сканирования nmap, подобного вашей, которое не использует никаких конкретных опций, - и заблокировать его. , но существуют методы, позволяющие сделать его менее очевидным (см., например, руководство nmap для некоторых советов).

Некоторые предложения:

  • попытаться распределите сканирование по множеству различных диапазонов / адресов IP и в случайном порядке - если вы сканируете каждый хост в сети / 16 последовательно, с постоянной скоростью, это совершенно очевидно, шумно и определенно не скрытно к брандмауэру, защищающему эту сеть
  • узнайте о параметрах командной строки nmap
  • наберитесь терпения

Короче говоря, у вас есть экспериментировать много . Найдите некоторые хосты, у которых вы уверены, что порт 80 открыт, а другие, которые не должны, пробуйте разные команды, повторяйте их, пока не получите согласованные результаты, и не забывайте, что хронометраж важен, что означает быть осторожным .

Это зависит от того, сколько хостов вы хотите сканировать или насколько велик диапазон IP-адресов, который вы хотите исследовать. Если вы сканируете все пространство IPv4, проблемы масштабируемости не такие, как если бы вы сканировали домашнюю сеть, например.

Не существует единого решения, подходящего для всех, каждый сервер может иметь различные настройки сети и параметры безопасности, поэтому они не будут одинаково реагировать на внешний зонд.

Доступно множество инструментов, и nmap наверняка входит в топ-10, к которым должен обращаться каждый тестер проникновения. Но это не единственный. Получение наиболее подходящего инструмента для конкретной работы c облегчает задачу (или делает ее менее трудной).

У меня такое ощущение, что Scapy может быть хорошим кандидатом для этой конкретной работы. Поскольку вы сканируете порт 80 , по крайней мере, попытайтесь заставить его выглядеть как законный запрос из браузера. Вы можете попробовать использовать Wireshark на своем компьютере и прослушать некоторые HTTP-запросы, чтобы увидеть, как выглядят пакеты из вашего веб-браузера. Затем попробуйте «воспроизвести» похожие пакеты, используя Scapy или, возможно, какой-либо другой инструмент (hping?). Затем вы можете запустить пакеты, которые выглядят как «настоящие вещи».

Опять же, nmap абсолютно великолепен, но вы сами не можете контролировать сами пакеты.

...