Nmap для Pentester: Статус порта

Spread the love

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

Давай начнем

Требование

  • IP атакующего: 192.168.1.109 [Kali Linux]
  • IP-адрес цели: 192.168.1.119 [Ubuntu]

Состояния портов не являются их существенными свойствами; он показывает, как их видит Nmap. В Nmap порт разделен на шесть состояний:

  1. Открыто: это состояние означает, что приложение на целевой машине прослушивает соединения / пакеты на этом порту.
  2. Закрыт: это состояние означает, что на портах нет приложений, которые их прослушивают, хотя они могут открыться в любое время.
  3. Filtered: это состояние означает, что брандмауэр, фильтр или другое сетевое препятствие блокирует порт, поэтому Nmap не может определить, открыт он или закрыт.
  4. Без фильтрации: порты классифицируются как нефильтрованные, если они реагируют на запросы Nmap, но Nmap не может определить, открыты они или закрыты.
  5. Open / Filtered: указывает, что порт был отфильтрован или открыт, но Nmap не смог установить состояние.
  6. Closed / Filtered : указывает, что порт был отфильтрован или закрыт, но Nmap не смог установить состояние.

Открытый порт

В этом случае служба или приложение, работающее на порту, активно принимает соединения TCP, UDP. Мы отправляем TCP-пакеты на 80-й порт целевой машины. Находим, что порт открыт.

nmap -p80 192.168.1.119 

Мы смотрим на wirehark и обнаруживаем, что происходит трехстороннее рукопожатие, как показано ниже.

  • Nmap отправляет SYN-пакет на порт 80
  • Nmap получил пакет SYN, ACK как ответ от порта 80, который означает, что порт 80 открыт.
  • Nmap отправляет пакет RST

Закрытый порт

В этом случае служба или приложение на порту доступны, но на нем не запущено ни одно приложение. Когда порт находится в закрытом состоянии, он отправляет RST с пакетом ACK, когда получает пакет TCP SYN.

nmap -p80 192.168.1.119 

Теперь мы использовали сканирование SYN для отправки пакетов TCP SYN на порт 80 целевой машины и обнаружили, что цель закрыта . Это потому, что как только он получает пакет TCP SYN, он отправляет обратно пакет TCP RST, ACK.

Мы проверим wirehark, чтобы найти дополнительную информацию, как и ожидалось, как только целевая машина получила пакет TCP SYN, она ответила TCP RST, и NMAP интерпретировал его как закрытый порт.

  • Nmap отправляет SYN-пакет на порт 80
  • Nmap получил пакет RST, ACK как ответ от порта 80, что означает, что порт 80 закрыт.

Отфильтрованный порт

В этом случае Nmap не может определить, открыт ли порт, потому что фильтрация пакетов не позволяет пакетам достигать порта. Когда пакет отброшен, Nmap повторяет попытку несколько раз на тот случай, если зонд был отброшен из-за перегрузки сети, а не из-за фильтрации. Это резко замедляет сканирование.

Давайте воспользуемся iptables, чтобы отбросить TCP-пакеты на целевой машине.

iptables -I INPUT -p tcp -j DROP 

Теперь, когда мы сканируем целевую машину, пакеты будут отброшены, как только она получит TCP-пакеты.

nmap -p80 192.168.1.119 

Из приведенного ниже изображения вы можете увидеть, что теперь оно показывает состояние «отфильтровано» для порта 80.

Давайте посмотрим на wirehark и обнаружим, что когда Nmap отправляет TCP SYN-пакет, мы не получаем ответа от целевой машины. Это означает, что фильтр пакетов или брандмауэр отбрасывает наши пакеты.

Нефильтрованный порт

Нефильтрованное состояние означает, что порт доступен, но Nmap не может определить, открыт он или закрыт. Только сканирование ACK, которое используется для сопоставления наборов правил брандмауэра, классифицирует порты в этом состоянии. Сканирование нефильтрованных портов с помощью других типов сканирования, таких как сканирование окон, сканирование SYN или сканирование FIN, может помочь определить, открыт ли порт.

Мы используем iptables для отбрасывания любого TCP-пакета, поступающего на порт 80 на целевой машине.

iptables -I INPUT -p tcp --dport = 80 -j DROP 

Теперь мы используем сканирование nmap ACK для сканирования целевой машины, чтобы проверить, есть ли брандмауэр или нет.

nmap –sA -p22.80 192.168.1.119 

Как видно на приведенном ниже изображении, порт без брандмауэра отображается как неотфильтрованный, поскольку Nmap не может определить, открыт он или закрыт.

Мы можем видеть в wirehark, что для порта 22 мы получаем пакет RST, тогда как в случае порта 80 пакет отбрасывается целевой машиной.

Открыть | Отфильтрованный порт

В этом случае Nmap не может определить, открыт порт или отфильтрован. Это происходит для типов сканирования, при которых открытые порты не отвечают. Отсутствие ответа также может означать, что фильтр пакетов отбросил зонд или любой вызванный им ответ. Таким образом, Nmap не знает наверняка, открыт порт или фильтруется. Сканирование UDP, IP-протокол, FIN, NULL и Xmas позволяет классифицировать порты таким образом.

Давайте воспользуемся nmap Xmas scan для сканирования целевой машины.

nmap -sX -p80 192.168.1.119 

Как мы видим, сканирование nmap показывает нам порт, который должен быть открыт | фильтрованный.

Мы проверим WireShark, чтобы проанализировать пакеты, отправленные Nmap, и увидим, что не получаем ответа, даже если порт открыт.

Закрыто | Отфильтрованный порт

Это состояние используется, когда Nmap не может определить, закрыт порт или отфильтрован. Он используется только для IP-идентификатора сканирования в режиме ожидания .

Мы используем iptables на нашей целевой машине, чтобы отбрасывать входящие TCP-пакеты на целевой машине.

iptables -I INPUT -p tcp -j DROP 

Мы проведем сканирование IP ID на целевой машине, используя 192.168.1.107 в качестве нашего зомби.

nmap -p80 -sI 192.168.1.107 192.168.1.119 

Как мы видим при сканировании в режиме ожидания зомби, он показывает состояние закрыто | фильтруется для порта 80.

Сканирование в режиме ожидания состоит из трех шагов, которые повторяются для каждого порта:

  1. Проверьте IP-идентификатор зомби и запишите его.
  2. Создайте SYN-пакет от зомби и отправьте его на нужный порт на цели. В зависимости от состояния порта реакция цели может привести или не привести к увеличению IP-идентификатора зомби.
  3. Еще раз проверьте IP ID зомби. Затем состояние целевого порта определяется путем сравнения этого нового IP-идентификатора с идентификатором, записанным на шаге 1.

Мы проверяем Wireshark и обнаруживаем, что нашли весь процесс.

Источник: https://nmap.org/book/man.html

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

WP2Social Auto Publish Powered By : XYZScripts.com