Nmap: Полное руководство по аудиту сетевой безопасности

Nmap (Network Mapper) — это эталонный инструмент для сетевой разведки и сканирования. Для CISO, аналитиков и пентестеров он служит основным инструментом для легитимного аудита защищенности инфраструктуры, инвентаризации активов и проверки конфигураций. В рамках российского законодательства (187-ФЗ “О КИИ”, 152-ФЗ “О ПДн”, Приказ ФСТЭК №239) использование Nmap должно быть регламентировано внутренними документами и применяться строго для санкционированной оценки защищенности.
Для быстрого повседневного использования рекомендуем сохранить расширенный Cheatsheet по Nmap. В нем в табличном формате с практическими советами собраны команды для указания целей, выбора техник сканирования, обнаружения сервисов и использования NSE-скриптов.
Соответствие MITRE ATT&CK: Техники сканирования Nmap напрямую соотносятся с тактиками противника:
-
Reconnaissance (TA0043): Активное сканирование (T1595).
-
Discovery (TA0007): Обнаружение сетевых сервисов (T1046).
Использование этих техник защитниками позволяет выявить и устранить уязвимости до их эксплуатации злоумышленниками.
Часть 1: Основы. Установка и целеполагание
Установка:
-
Debian/Ubuntu:
sudo apt update && sudo apt install nmap -
RHEL/CentOS/Fedora:
sudo dnf install nmap -
Windows/macOS: Скачать с официального сайта.
Базовый синтаксис: nmap [Опции] {Цель}
Спецификация целей (Target Specification): Четкое определение границ сканирования — основа легитимности.
# Сканирование одного IP nmap 192.168.1.1 # Сканирование диапазона IP nmap 192.168.1.1-254 # Сканирование подсети (CIDR) nmap 192.168.1.0/24 # Сканирование целей из файла (утвержденного списка) nmap -iL targets.txt # Исключение хоста из сканирования nmap 192.168.1.0/24 --exclude 192.168.1.100
Часть 2: Техники сканирования и их применение в аудите
Обнаружение хостов (Host Discovery): Первый этап любой оценки — определение живых узлов.
# Только пинг-сканирование, без проверки портов nmap -sn 192.168.1.0/24 # Отключить обнаружение хостов, сканировать все как активные (для обхода блокировки ping) nmap -Pn 192.168.1.1 # ARP-сканирование в локальной сети (быстро и точно) nmap -PR 192.168.1.1/24
Сканирование портов (Scan Techniques): Выбор метода зависит от задачи и прав.
# TCP SYN сканирование (умолчание с правами root). Быстрое и относительно скрытное. nmap -sS 192.168.1.1 # TCP Connect сканирование (умолчание без root). Устанавливает полное соединение. nmap -sT 192.168.1.1 # UDP сканирование (критично для DNS, SNMP, DHCP) nmap -sU 192.168.1.1 # TCP ACK сканирование (для проверки правил файрвола) nmap -sA 192.168.1.1
Спецификация портов (Port Specification): Точный контроль за тем, что сканируется.
# Сканирование определенного порта nmap -p 22 192.168.1.1 # Сканирование диапазона портов nmap -p 1-1000 192.168.1.1 # Сканирование нескольких конкретных портов nmap -p 80,443,8080 192.168.1.1 # Сканирование смешанных TCP и UDP портов nmap -p U:53,T:21-25,80 192.168.1.1 # Быстрое сканирование (топ-100 портов) nmap -F 192.168.1.1 # Сканирование всех 65535 портов nmap -p- 192.168.1.1
Часть 3: Сбор информации и анализ служб
Определение сервисов и версий (Service and Version Detection): Ключевой этап для поиска уязвимостей.
# Определение версий служб nmap -sV 192.168.1.1 # Более интенсивное определение версий (уровень 9) nmap -sV --version-all 192.168.1.1 # Определение операционной системы nmap -O 192.168.1.1 # Агрессивное сканирование (-A = -O -sV -sC --traceroute) nmap -A 192.168.1.1
Использование скриптов NSE (Nmap Scripting Engine): Автоматизация проверок.
# Запуск безопасных скриптов по умолчанию nmap -sC 192.168.1.1 # Запуск конкретного скрипта (например, для получения баннера) nmap --script=banner 192.168.1.1 # Запуск нескольких скриптов nmap --script=http-title,ssl-enum-ciphers 192.168.1.1 # Запуск скриптов по категории (например, все безопасные) nmap --script "safe" 192.168.1.1 # Полезные скрипты для аудита: # Директори веб-приложения nmap -p80 --script=http-enum 192.168.1.1 # Проверка конфигурации SSL/TLS nmap -p443 --script=ssl-enum-ciphers 192.168.1.1 # Проверка SMB на наличие известных уязвимостей nmap --script=smb-vuln* 192.168.1.1 # Брутфорс поддоменов (только для легитимного тестирования своих доменов!) nmap --script=dns-brute domain.com
Часть 4: Управление производительностью и скрытностью
Тайминг и производительность (Timing and Performance): Настройка скорости сканирования.
# Шаблоны скорости (от T0 до T5) nmap -T0 192.168.1.1 # Параноидально медленно (обход IDS) nmap -T3 192.168.1.1 # Нормальная скорость (по умолчанию) nmap -T5 192.168.1.1 # Максимально быстро # Точный контроль скорости nmap --min-rate 100 192.168.1.1 # Не менее 100 пакетов в секунду nmap --max-rate 500 192.168.1.1 # Не более 500 пакетов в секунду
Обход систем защиты (Firewall/IDS Evasion): Тестирование корректности работы МЭ и систем обнаружения (только в санкционированных тестах!).
# Фрагментация пакетов nmap -f 192.168.1.1 # Использование подставных IP-адресов (decoy) nmap -D 192.168.1.101,192.168.1.102,ME 192.168.1.1 # Использование указанного исходного порта (например, 53 - DNS) nmap -g 53 192.168.1.1 # Изменение размера пакетов nmap --data-length 200 192.168.1.1 # Пример комплексной команды для тестирования IDS nmap -f -T0 -n -Pn --data-length 200 -D 192.168.1.101,192.168.1.102 192.168.1.1
Часть 5: Практические сценарии для аудита безопасности
Сценарий 1: Ежеквартальная инвентаризация сети
# 1. Обнаружение всех активных хостов в подсети nmap -sn -PR 192.168.42.0/24 -oN live_hosts.txt # 2. Сканирование основных портов и версий служб на найденных хостах nmap -sS -sV -O -F -iL live_hosts.txt -oA network_inventory
Цель: Поддержание актуальной CMDB, обнаружение несанкционированных устройств.
Сценарий 2: Аудит безопасности периметра (веб-сервер)
# Полная проверка веб-сервера sudo nmap -sS -sV -sC -O -p- --top-ports 1000 -T4 server.company.ru -oX webserver_audit.xml
Цель: Проверка соответствия политике минимально необходимых портов, сбор данных о версиях ПО для анализа уязвимостей.
Сценарий 3: Глубокий внутренний аудит серверного сегмента
# Безопасное, но глубокое сканирование с ограничением нагрузки sudo nmap -sS -sV -sC -O -p- --script "safe and not intrusive" 10.10.10.0/28 --max-rate 500 -oA internal_audit
Цель: Выявление слабых конфигураций, устаревших служб, подготовка к проверке регулятора.
Сценарий 4: Верификация правил файрвола
# Проверка, как файрвол обрабатывает различные порты nmap -sA -p 22,80,443,3389 172.16.1.100 -oN firewall_test.txt
Цель: Подтверждение корректности настройки правил сетевого экранирования.
Сценарий 5: Быстрый поиск специфичных служб в большой сети
# Найти все веб-сервера (порты 80,443) в сети nmap -p80,443 -sV -oG - --open 192.168.1.0/24 | grep "Ports:" | awk '{print $2}' > web_servers.txt
Часть 6: Обработка и документирование результатов
Форматы вывода (Output):
# Нормальный текстовый вывод nmap -oN report.txt 192.168.1.1 # XML вывод (для обработки другими инструментами) nmap -oX report.xml 192.168.1.1 # Grepable вывод (для скриптов) nmap -oG report.grep 192.168.1.1 # Все форматы сразу nmap -oA results 192.168.1.1 # Увеличение детализации вывода nmap -v 192.168.1.1 # Подробный вывод nmap -vv 192.168.1.1 # Очень подробный вывод nmap --reason 192.168.1.1 # Показывать причину состояния портов
Обработка результатов:
# Конвертация XML в HTML для отчета xsltproc nmap.xml -o nmap_report.html # Сравнение результатов двух сканирований ndiff scan1.xml scan2.xml > changes.diff # Извлечение только открытых портов grep "open" results.nmap | sort -t/ -k1 -n
Часть 7: Юридические аспекты и заключение
Критически важные правила:
-
Санкционирование: Любое сканирование должно проводиться на основании письменного приказа или договора.
-
Документирование: Все этапы и результаты должны фиксироваться для отчетности.
-
Ограничение воздействия: Использовать
--max-rate,-Tпараметры для минимизации нагрузки. -
Избирательность: Не использовать агрессивные скрипты (
brute,dos,exploit) без явной необходимости и дополнительного согласования.
Соответствие требованиям регуляторов:
Регулярное сканирование с помощью Nmap является практической реализацией требований ФСТЭК к проведению анализа защищенности и формированию Банка данных уязвимостей (БДУ).
Заключение:
Для CISO и специалистов по ИБ Nmap — не просто сканер, а инструмент управления рисками. Его методичное, регламентированное применение позволяет перейти от реактивного к проактивному управлению безопасностью, строя оборону на основе данных, а не предположений. Интеграция регулярного сканирования в цикл управления ИБ — признак зрелой security-культуры организации.
Теперь, когда вы знаете, как обнаружить открытые порты и сервисы, логично задаться вопросом: а что с ними делать дальше? Продолжая тему, в следующем разделе мы рассмотрим, как с помощью встроенных и пользовательских скриптов Nmap (NSE) определить конкретные версии ПО, найти известные уязвимости (CVE) и даже проверить конфигурации на типовые ошибки безопасности, что является критическим этапом для оценки реальных рисков.
Дополнительные ресурсы:
-
Официальная документация: https://nmap.org/docs.html
-
База данных скриптов NSE: https://nmap.org/nsedoc/
-
Утилита ndiff для сравнения сканирований:
apt install ndiff
Заявление об ограничении ответственности:
Информация предоставлена исключительно в образовательных целях и для легитимного аудита безопасности. Автор не несет ответственности за любое неправомерное использование описанных техник.

















