nmap - определение портов, служб, версий служб и ОС

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

Определение портов:

Для выбора портов и диапазонов портов, используется основной переключатель -p.

● Пример:

nmap 192.168.1.35 -v -p 21-1000

● Пример с использованием сканирования UDP и TCP портов (обязательно включаем UDP и SYN сканирование):

nmap 192.168.1.35 -v -p U:53,111,137,5353,T:21-25,80,139,8080 -sU -sS

● Пример случая когда будут обработаны все порты:

nmap 192.168.1.35 -v -p-

● Пример с определением названия службы:

nmap 192.168.1.35 -v -p http,https,ftp

● Пример использования быстрого сканирования, при котором сканируется меньшее количество портов, чем дефолтная одна тысяча. В этом случае сканируется 100 портов:

nmap 192.168.1.35 -v -F

● Пример пример сканирования полного диапазона портов:

nmap 192.168.1.35 -v -p-65535 -v

/*тоже самое другим способом:*/

nmap 192.168.1.35 -v -p0- -v

● Пример сканирования 2000 популярных портов (количество популярных портов можно указать любое):

nmap 192.168.1.35 -v --top-ports 2000

● Пример сканирования популярных портов, с исключением указанных отдельно или диапазоном:

nmap 192.168.1.35 -v --top-ports 2000 --exclude-ports 80,21,5353,139-9000

-r - сканирование последовательно, а не в случайном порядке;

--port-ratio - сканировать порты с более популярным рейтингом, чем рейтинг который вы поставите в опцию.

 

Обнаружение служб и версий:

Знание версий способствует получению информации перед какими эксплойтами уязвима служба.

-sV - основная опция службы определения версий.

● Пример вывода служб работающих на указанных портах:

nmap scanme.nmap.org -sV -p 80,22

● Ссылка на каталог базы данных с запросом служб nmap, которая содержит запросы для обращения к различным службам и соответствующие выражения, для распознавания парсинг-ответов. Если заглянуть в этот файл то можно увидеть паттерны, которые могут быть сопоставлены и это помогает в определении служб:

nmap /usr/share/nmap/nmap-service-probes

nmap 192.168.1.35 -sV

Разберем что делает nmap выполняя определение версий:
- пытается определить протокол службы;
- также название приложений;
- номер версии;
- имя хоста;
- тип устройства (принтер или роутер);
- семейство операционной системы;
- по возможности пытается получить данные по списку типовых платформ CPE.

--allports - не исключать никакие порты при определении версии (по умолчанию nmap при определении версии пропускает порт 9100) с этой опцией никакие порты не будут исключатся. Пример:

nmap 192.168.1.35 -sV --allports

--version-intensity - уровень интенсивности определяет какие виды тестирования должны применяться. Чем выше цифра, тем больше вероятность, что служба будет идентифицирована правильно. Однако сканирование с высокой интенсивностью занимает больше времени. Интенсивность должна быть от 0 до 9 (по умолчанию 7). Пример:

nmap 192.168.1.35 -sV --version-intensity 1 -v

--version-light - облегченная версия сканирования. Пример:

nmap 192.168.1.35 -sV --version-light -v

--version-all - будет пытаться выполнить все запросы (псевдоним для интенсивности уровня 9). Каждый отдельный запрос будет отправляться на каждый порт. Пример:

nmap 192.168.1.35 -sV --version-all -v

--version-trace - указывает nmap: выводить информацию по отладке. Это вывод информации о процессе сканирования (как правило не пригодится, ели только вы не добавили, что то от себя, для определения версий). Пример:

nmap 192.168.1.35 -sV --version-trace

 

Обнаружение операционных систем:

Для определения операционных систем основной опцией является:  -O

nmap 192.168.1.35 -O

--osscan-limit - предназначена для ограничения определения работы функции определения операционных систем, только для перспективных целей. Если вы используете эту функцию, nmap не будет пытаться определить систему на хостах не удовлетворяющих этому критерию. Это может сэкономить время, особенно если вы используете опцию -Pn (сканирование без обнаружения хостов, при котором сканируются все адреса без определения того, являются ли они активными). Пример:

nmap 192.168.1.35 -O -Pn -v --osscan-limit

--fuzzy - опция угадывания результатов определения операционной системы, которая заставляет nmap угадывать более агрессивно. Nmap по прежнему будет сообщать вам о не полных совпадениях и отображать уровень достоверности в процентах по каждому предположению. В целом это более агрессивный подбор. Пример:

nmap 192.168.1.35 -O --fuzzy

-max-os-tries - опция устанавливает максимальное количество попыток определения операционной системы на целевой машине. Когда nmap выполняет определение ОС на целевом хосте и не может найти полные совпадения, он обычно повторяет попытки. По умолчанию nmap выполняет 5 попыток для определения ОС и дважды, если условия не благоприятны. Указание наиболее низкой цифры для этой опции (например 1), ускоряет работу nmap, поскольку он буде совершать меньше попыток. Но очевидно что вы потеряете те попытки в которых потенциально может быть обнаружена операционная система. Пример:

nmap 192.168.1.35 -O -fuzzy -max-os-tries 1

● Помощь можно вызвать командой:

nmap -h

 

Related Articles