Nmap для пентестера от сканирования портов до управления рисками

В арсенале современного CISO Nmap (Network Mapper) занимает особое место. Это не просто «хакерский» сканер, а легитимный, стандартизированный инструмент для проактивного управления рисками информационной безопасности. Его правильное применение позволяет трансформировать сырые сетевые данные в основанные на фактах управленческие решения, обеспечивая выполнение требований ФСТЭК, ФСБ и отраслевых стандартов.
Данный материал предполагает, что вы уже знакомы с базовыми возможностями Nmap, такими как определение хостов и сканирование портов. Если вам нужно освежить знания об основных типах сканирования (-sS, -sU) и ключевых опциях, рекомендуем начать с нашей предыдущей статьи «Nmap: Полное руководство для специалиста по безопасности».
Подробный справочник по всем основным командам, техникам сканирования и опциям Nmap собран в Cheatsheet по Nmap для пентеста.
Главная ценность Nmap для CISO заключается в двух взаимосвязанных аспектах:
-
Глубокое понимание состояния сети через интерпретацию статусов портов.
-
Автоматизированное выявление уязвимостей и векторов атаки с помощью скриптового движка NSE (Nmap Scripting Engine).
Это руководство объединяет оба аспекта, предоставляя методику для комплексного аудита защищенности.
Часть 1: Философия Nmap — 6 состояний порта как язык безопасности
Первое, что видит специалист в отчете Nmap — это состояние порта. Это не техническая деталь, а базовый язык, на котором инфраструктура сообщает о своей конфигурации и уязвимостях. Умение читать этот язык — фундаментальный навык для аналитика ИБ.
Шесть состояний порта: от теории к практике управления рисками
В отличие от примитивных сканеров, Nmap детализирует картину, классифицируя порты на шесть состояний. Каждое состояние — это индикатор определенного класса рисков.
1. Открыт (open)
-
Что значит: На порту работает приложение, готовое принимать соединения.
-
Риск для CISO: Прямая точка входа для легитимного сервиса или злоумышленника. Каждый открытый порт увеличивает поверхность атаки.
-
Пример из отчета:
80/tcp open http. Это ожидаемо для веб-сервера. -
Тревожный пример:
3389/tcp open ms-wbt-server(RDP) на сервере в сегменте баз данных. Это прямое нарушение принципа сегментации. -
Решение CISO: Сформировать поручение на аудит необходимости каждого открытого порта и его доступности (правила МЭ).
2. Закрыт (closed)
-
Что значит: Порт доступен (хост отвечает), но служба на нем не запущена.
-
Риск для CISO: Сам по себе риск невысок, но является индикатором доступности хоста. Большое количество закрытых портов при сканировании с
-Pnподтверждает, что хост жив, даже если отключен ICMP (пинг). Эта информация используется злоумышленником для фингерпринтинга (MITRE ATT&CK T1590.008). -
Пример: При сканировании
-p-(все порты) видно:1-79/tcp closed,81-442/tcp closed,444-65535/tcp closed.
3. Фильтруется (filtered)
-
Что значит: Между сканером и портом есть сетевое препятствие (МЭ, ACL), которое блокирует или отбрасывает пакеты. Nmap не получает ответа.
-
Риск для CISO: Это не риск, а признак работы защитных механизмов. Однако статус
filteredна портах, которые должны быть доступны, указывает на возможные ошибки конфигурации МЭ, нарушающие бизнес-процессы. -
Пример анализа периметра:
nmap -sS -p 22,443,8080 company.com
Вывод:
443/tcp open,22/tcp filtered,8080/tcp filtered.
Вывод CISO: Веб-доступ (443) разрешен. SSH (22) и тестовый сервис (8080) защищены файрволом периметра — корректная базовая настройка.
4. Не фильтруется (unfiltered)
-
Что значит: Порт доступен для Nmap (получен ответ RST), но невозможно определить, открыт он или закрыт. Чаще всего возникает при ACK-сканировании (
-sA). -
Риск для CISO: Ключевой индикатор для проверки типа файрвола. Статус
unfilteredна порту, который должен быть защищен, может означать, что файрвол не является stateful (не отслеживает состояния соединений) и пропускает ACK-пакеты. -
Практическая проверка:
# Проверяем порт 45678, который должен быть закрыт для всех nmap -sA -p 45678 internal-server
Тревожный вывод:
45678/tcp unfiltered. Возможна недостаточная конфигурация МЭ.
Нормальный вывод: Для stateful-файрвола порт должен бытьfiltered.
5. Открыт|Фильтруется (open|filtered)
-
Что значит: Nmap не может различить два сценария: порт открыт, но не отвечает или пакеты фильтруются. Типично для UDP-сканирования (
-sU) и «стелс-сканирований» (FIN, Xmas). -
Риск для CISO: Неоднозначность, требующая дальнейшего исследования. Может маскировать реально работающие, но «тихие» UDP-сервисы (например, DNS, SNMP).
-
Пример и решение:
nmap -sU -p 161 target-host
Вывод:
161/udp open|filtered.
Действие CISO: Санкционировать уточняющую проверку с помощью NSE:nmap -sU -p 161 --script snmp-info target-host.
6. Закрыт|Фильтруется (closed|filtered)
-
Что значит: Наиболее редкий статус. Возникает только при Idle-сканировании (
-sI). -
Контекст для CISO: Применение этой техники в легальном аудите крайне ограничено, но понимание статуса важно для анализа разведданных о возможных методах противника (MITRE ATT&CK T1596).
Вывод по статусам: Разница между open, filtered и closed для CISO — это разница между прямой угрозой, работающим рубежом обороны и нейтральной информацией. Без этого понимания данные сканирования бесполезны.
Часть 2: Nmap Scripting Engine (NSE) — автоматизация глубокого аудита по фазам атаки
NSE — это то, что превращает Nmap из разведчика в универсального солдата. Более 600 скриптов позволяют автоматизировать проверки на всех этапах кибер-убийцы, что идеально соответствует превентивной логике CISO.
Стратегическая карта NSE-скриптов для управления ИБ
Для удобства планирования аудита скрипты сгруппированы по тактикам MITRE ATT&CK.
| Фаза MITRE ATT&CK / Цель аудита | Ключевые NSE-скрипты | Что выявляет и практическая польза для CISO |
|---|---|---|
| Reconnaissance (Разведка) | dns-brute, whois-ip, http-robots.txt |
Скрытые субдомены, публичная информация об активах. Помогает составить полную карту периметра, найти «теневые» активы. |
| Discovery (Обнаружение) | smb-enum-shares, http-enum, snmp-info |
Незащищённые сетевые ресурсы, открытые директории, публичный SNMP. Прямое нарушение политик сегментации и минимальных прав. |
| Credential Access (Доступ к учетным данным) | ftp-brute, ssh-brute, http-default-accounts |
Службы со слабыми паролями или учетными данными по умолчанию. Простой вектор для начального заражения. |
| Vulnerability Assessment (Оценка уязвимостей) | vuln, ssl-enum-ciphers, vulners |
Прямое сопоставление версий ПО с CVE, слабые криптоалгоритмы. Основа для плана исправлений и приоритизации. |
| Lateral Movement (Горизонтальное перемещение) | smb-enum-sessions, smb-enum-users |
Активные сессии пользователей, списки учетных записей. Показывает пути возможного распространения угрозы внутри сети. |
Практическое применение NSE-скриптов на разных этапах
Этап 1: Пассивная и активная разведка периметра
Задача CISO: Обнаружить все активы организации, включая забытые и неучтенные.
-
Скрытый субдомен — будущая точка входа:
nmap -sn --script dns-brute --script-args dns-brute.domainlist=subdomains.txt example.com
Что может найти:
dev.old.example.com(забытый тестовый сервер),vpn.backup.example.com(устаревший шлюз).
Вывод для CISO: Эти хосты, вероятно, не попадают в циклы обновления и аудита. Риск: Критический. Требуется немедленная инвентаризация и либо включение в процессы ИБ, либо вывод из эксплуатации. -
Утечка данных через публичные ресурсы:
nmap -p 445,80 --script=smb-enum-shares,http-enum 192.168.1.0/24
Типичная находка:
Sharename: \\FILESRV\HR_Documents
| Path: C:\Shares\HR\
| Anonymous access: READ
Вывод для CISO: Прямое нарушение принципа наименьших привилегий и возможное нарушение 152-ФЗ «О персональных данных». Необходимо срочное изменение прав доступа и аудит логов на предмет уже состоявшихся несанкционированных обращений.
Этап 2: Проактивный поиск уязвимостей и слабых мест
Задача CISO: Найти и устранить уязвимости до их эксплуатации.
-
Автоматизированный поиск известных CVE:
nmap -sV --script=vulners --script-args mincvss=7.0 192.168.1.50
Результат (пример):
| vulners:
| Apache httpd 2.4.49:
| CVE-2021-41773 9.8 (Critical) PATH traversal
| OpenSSL 1.1.1k:
| CVE-2021-37165 7.5 (High) Buffer overflow
Вывод для CISO: Система содержит критическую и высокую уязвимости. Данные из Nmap должны автоматически создавать инцидент в тикет-системе с высоким приоритетом. Это основа для выполнения требований п. 19 Приказа ФСТЭК № 239 о немедленном устранении критических уязвимостей. -
Аудит криптографической стойкости:
nmap -p 443,465,993 --script=ssl-enum-ciphers mail.example.com
Результат (пример):
TLSv1.0: enabled (weak)
| TLS_RSA_WITH_3DES_EDE_CBC_SHA (weak)
Вывод для CISO: Использование небезопасных протоколов на почтовом сервере создает риск перехвата конфиденциальной переписки. Нарушает стандарты PCI DSS и рекомендации ФСТЭК. Требуется план перевода служб на TLS 1.2+.
Этап 3: Анализ риска компрометации учетных записей
Задача CISO: Оценить устойчивость систем к атакам на аутентификацию.
-
Общедоступные сервисы — «открытые двери»:
nmap -p 21 --script=ftp-anon,ftp-brute 192.168.1.100
Результат (пример):
| ftp-anon: Anonymous FTP login allowed
| -r--r--r-- 1 owner group 54321 Feb 28 config_backup.tar
Вывод для CISO: Анонимный доступ к FTP с возможностью скачивания файлов конфигурации — прямой инцидент. Необходимо: 1) Немедленно отключить анонимный доступ. 2) Провести анализ данного хоста на предмет уже состоявшейся компрометации. 3) Пересмотреть политики безопасности для всех сервисов.
Часть 3: Сводный практикум — Сценарии для CISO и команды ИБ
Сценарий А: Расследование инцидента после срабатывания IDS
-
Факт: IDS зафиксировала сканирование портов с внешнего адреса
Xна хостY. -
Действие ИБ: Провести контролируемое внутреннее сканирование атакованного хоста для оценки ущерба.
nmap -sS -sV -O -p- --reason --script="vuln and safe" host-Y.internal -oA incident_scan
-
Анализ отчета:
-
22/tcp open ssh syn-ack— Вывод: SSH доступен. Сравнить с правилами МЭ: должен ли он быть доступен из сегмента, откуда пришла атака? -
445/tcp filtered microsoft-ds no-response— Вывод: SMB защищен файрволом. Хорошо. -
Скрипт
vulnersобнаружилCVE-2023-12345на веб-сервере.
-
-
Итоговое решение CISO: 1) Внести изменение в МЭ для сегментации SSH. 2) Выдать задачу на закрытие CVE. 3) Добавить сигнатуру сканирования из отчета Nmap в правила IDS для улучшения детектирования.
Сценарий Б: Регулярный плановый аудит сегмента сети на соответствие ФСТЭК
-
Цель: Проверить сегмент серверов (
10.10.10.0/28) на соответствие политикам. -
Комплексная команда аудита:
nmap -sS -sV -O -p- --script="(discovery or safe) and not intrusive" \ --script-args http-enum.category=general,smb-enum-shares.timeout=5s \ 10.10.10.0/28 --max-rate 500 -oX compliance_audit_$(date +%Y%m%d).xml
-
Формирование отчета: Конвертировать XML в HTML:
xsltproc compliance_audit_*.xml -o report.html. -
Анализ для регулятора: Отчет показывает: 1) Полный перечень активов. 2) Все открытые порты с обоснованием (сервис+версия). 3) Отсутствие анонимного доступа к общим ресурсам (скрипт
smb-enum-shares). 4) Отсутствие критических уязвимостей (скриптvuln). Это — доказательная база выполнения требований.
Заключение: Nmap в системе управления безопасностью организации
Для CISO Nmap — это система сбора объективных данных об истинном состоянии защищенности. Последовательное применение методологии, описанной в этом руководстве, позволяет:
-
Управлять, а не гадать: Перейти от интуитивных решений к решениям, основанным на данных сканирования и интерпретации статусов.
-
Соответствовать регуляторам: Автоматически формировать доказательную базу для ФСТЭК, ФСБ и внутреннего аудита.
-
Действовать проактивно: Находить и устранять векторы атак (открытые порты, уязвимости, слабые настройки) до их использования злоумышленниками.
-
Говорить на одном языке: Предоставить команде ИБ четкую, структурированную методику для регулярного аудита.
Внедрение этой практики в циклы управления ИБ (Plan-Do-Check-Act) — это признак зрелой security-культуры, где безопасность является не затратной статьей, а инвестицией в устойчивость бизнеса.


















