Не стоит путать опции обнаружения и сканирования nmap, это разные вещи. Здесь мы подробно разберем, что происходит при обнаружении целевых хостов.
Поиск активных целевых хостов и служб называется их обнаружением. Начиная с ранних стадий сбора информации хакеры получают данные о доменах и ip адресах своих целей, которые они хотят исследовать. Выполняют проверки: являются ли эти хосты активными и запущенны ли на них какие либо службы. Эти ip адреса и домены зачастую приходится вычислять из порой огромных наборов ip адресов, чтобы составить список активных и интересных хостов. Сканирование каждого порта на каждом отдельном ip адресе - это медленный и обычно не обязательный процесс. Хакеры ищут активные хосты с открытыми портами, которые можно проэксплуатировать для компрометации цели.
Первый шаг: убедиться, что хост в рабочем состоянии;
Второй: убедится что на хосте работают службы.
Методы обнаружения nmap предназначены для запроса ответов которые покажут что ip адрес по факту активен.
● Пример обнаружения и сканирования с первого по пятый хоста в сети, без указания опций:
nmap 192.168.1.1-5
В случае когда опции не указаны nmap отправляет:
+ ICMP эхо запрос (ping);
+ TCP SYN пакет на порт 443;
+ TCP ACK пакет на порт 80;
+ ICMP запрос временной метки.
Все это опции обнаружения.
Исключением является: сканирование ARP для IPv4 и обнаружение соседей для IPv6, которые используются для любых целей в локальной ethernet сети.
● Опции сканирования:
-sL - сканирование с целью составления списка. По сути сканирование не будет выполнено. По умолчанию при этом сканировании nmap будет осуществлять обратное разрешение DNS с целью определить имена хостов. По прежнему можно обнаружить интересную информацию, даже просто из их имен. Этот тип сканирования с наименьшим уровнем вторжения. Пример:
nmap facebook.com/24 -sL
nmap -iR 300 -sL -vv (сканирование 300 произвольных хостов, с целью составления списка и двойным уровнем вербальности)
-sn - ping-сканирование, при котором сканирование портов не производится. Данная опция указывает nmap не проводить сканирование портов после этапа обнаружения, а лишь выводить список доступных хостов, которые ответили на запросы по обнаружению. Пример:
nmap 192.168.1.1/24 -sn
-Pn - задает параметр: расценивать все хосты как работающие, пропустить обнаружение хостов. Эта опция целиком пропускает этап обнаружения хостов и приводит к тому что nmap пытается применить запрошенную функцию сканирования по отношению к каждому целевому ip адресу, без первоначальной проверки: активен ли хост. Пример:
nmap 192.168.1.1-5 -Pn -v
-PS/PA/PU/PY - TCP SYN/ACK, UDP или SCTP обнаружение заданных портов:
● -PS - по этой опции отправляется пустой TCP пакет с установленным флагом SYN (порт назначения по умолчанию 80 если не выбрать или не определить каких либо других) Стоит отметить, что потом оно продолжается сканированием портов. Это можно считать обнаружением но по заданным портам, для проверки: активен ли хост. Пример:
nmap 192.168.1.1-5 -PS22-25,80,113,1050,35000 -v
● -PS (SYN ping) Обнаружение проходит путем отправки SYN пакетов на указанные порты и далее сканирование портов не проводится, потому как мы выбрали -sn. Флаг SYN сообщает удаленной системе что вы пытаетесь установить соединение. Как правило порты назначения оказываются закрыты, потому что большая часть портов обычно закрыты и вам обратно отправляется reset RST пакет. Если окажется что порт открыт цель выполнит второй шаг трехстороннего рукопожатия TCP отвечая SYN/ACK TCP пакетом. Машина на которой работает nmap затем завершает соединение ответом с reset RST пакетом, вместо использования ACK пакета, который бы установил трехстороннее рукопожатие, тем самым установив полное соединение. В ответ на неожидаемый SYN/ACK пакет ядро машины отправляет reset RCT пакет, это делает не сам nmap (его не беспокоит закрыт или открыт порт). Reset или SYN/ACK ответ сообщает о том что хост доступен и откликается о том, что он активен.
● -PA (ACK ping) Отправляет ACK пакеты на указанные порты для выполнения обнаружения;
● -PE/PP/PM - обнаружение хостов с использование ICMP эхо запросов, запросов временной метки и сетевой маски;
● -PO - ping с использованием IP протокола. Опция отправляет IP протоколы с заданным номером протокола указанным в заголовке пакета. Если никакие протоколы не заданы, тогда по умолчанию будут отправлены несколько IP пакетов ICMP, IJMP, IPvIP;
● -PR - ARP сканирование (используется если вы внутри локальной сети, работает гораздо быстрее чем IP ping);
● -n/ -R - никогда не производить DNS разрешение, всегда производить разрешение;
● --dns-servers - позволяет выбирать DNS сервер;
● --tracerout - отслеживаем путь. Пример: запрещаем сканирование и отслеживаем путь до трех рандомных хостов
nmap -iR 3 -sn --traceroute
ᅠ