Если бы я выбирал один инструмент, с которого стоит начинать изучение пентестинга, это был бы Nmap. Не потому что он самый простой — а потому что он учит думать о сети как о структуре, которую можно и нужно понимать.
Что такое Nmap и зачем он нужен
Nmap (Network Mapper) — это инструмент сетевого сканирования и аудита безопасности. Он позволяет обнаруживать хосты в сети, определять открытые порты, версии сервисов, операционные системы и запускать скрипты для автоматизированного сбора информации.
В реальных проектах Nmap — первый шаг reconnaissance. Вы получаете карту атакуемой поверхности: что работает, что слушает, что потенциально уязвимо.
Базовое сканирование
Самый простой вызов:
nmap 192.168.1.1
Nmap просканирует 1000 наиболее популярных портов TCP. Этого достаточно для первичной разведки.
Сканирование диапазона адресов:
nmap 192.168.1.0/24
Чтобы сканировать быстрее — используйте -sn (ping sweep) сначала, чтобы найти живые хосты:
nmap -sn 192.168.1.0/24
Типы сканирования
Ключевой параметр — тип TCP-сканирования:
- -sS — SYN-скан (stealth scan). Не завершает TCP-хендшейк, реже логируется. Требует root.
- -sT — полное TCP-подключение. Работает без root, но более заметен.
- -sU — UDP-сканирование. Медленное, но UDP-сервисы часто забывают проверить (DNS, SNMP, TFTP).
- -sV — определение версий сервисов. Обязательный флаг для углублённого анализа.
Пример: полный скан с версиями и ОС:
nmap -sS -sV -O 192.168.1.1
Работа со скриптами NSE
Nmap Scripting Engine (NSE) — это то, что превращает Nmap из сканера портов в полноценный инструмент разведки и проверки уязвимостей. Скрипты написаны на Lua и разделены по категориям.
Запустить стандартный набор скриптов:
nmap -sC 192.168.1.1
Эквивалентно
--script=default
. Проверяет стандартные вещи: анонимный FTP, версии HTTP-заголовков, SSH-алгоритмы и многое другое.
Проверка SMB на уязвимость EternalBlue:
nmap --script smb-vuln-ms17-010 -p 445 192.168.1.1
Перебор директорий через HTTP:
nmap --script http-enum -p 80,443 192.168.1.1
Полезные комбинации флагов
Агрессивное сканирование (включает -sV, -O, -sC, traceroute):
nmap -A 192.168.1.1
Сохранить результат в трёх форматах сразу:
nmap -oA scan_results 192.168.1.0/24
Генерирует .nmap, .xml и .gnmap — удобно для последующего парсинга.
Сканировать все 65535 портов:
nmap -p- 192.168.1.1
Управление скоростью (T0 — paranoid, T5 — insane):
nmap -T4 192.168.1.1
T4 — хороший баланс скорости и надёжности для внутренних сетей.
Реальные сценарии использования
При работе на внешнем периметре я обычно начинаю с тихого SYN-скана популярных портов, затем перехожу к полному перебору всех портов на найденных хостах, и только потом запускаю версии и скрипты на конкретных целях. Это сокращает время и снижает шум в логах.
Типичная последовательность:
nmap -sn 10.10.10.0/24 -oG hosts.txt
nmap -iL hosts.txt -p- --open -oA all_ports
nmap -sV -sC -p 22,80,443,445 -iL hosts.txt -oA services
Вывод
Nmap — инструмент, который растёт вместе с вами. На первой неделе вы используете его для простого обнаружения портов. Через год — пишете собственные NSE-скрипты. Изучите man-страницу, поэкспериментируйте с NSE-скриптами из /usr/share/nmap/scripts/, и Nmap станет одним из ваших самых мощных инструментов разведки.
Пока нет комментариев. Будьте первым!