Nmap как первый взгляд на реальный периметр

Продолжаем разбирать инструменты для пентеста.

Ранее я рассказывал про theHarvester, который помогает на начальных этапах сформировать скоуп по объекту. Более подробно можно ознакомиться по ссылке ниже: ➥ https://setka.ru/posts/019d18d1-cdd9-7e33-87d0-8cc3c8dc3941

Теперь хочу рассказать про инструмент, который помогает уже не просто собрать внешний контекст, а посмотреть на сетевую инфраструктуру компании немного ближе. Речь про nmap.

На мой взгляд, это один из обязательных инструментов для изучения, если вы хотите погрузиться в пентест.

nmap часто ошибочно воспринимают слишком упрощённо, как “программа, которая показывает открытые порты”. На практике он даёт куда больше.

Через него можно узнать • какие сервисы вообще доступныкакие из них реально торчат наружукакие версии используются

а дальше уже переходить к анализу поверхности атаки • поиску неправильной конфигурациипоиску CVEвозможных готовых эксплоитов и всё это в одном инструменте.

Nmap отвечает на очень важный вопрос: что у цели доступно по сети на самом деле, а не по документации и не по ощущениям.

━━━━━━━━ Базовые команды nmap ━━━━━━━━

Самый базовый вариант — просто просканировать хост: ➢ nmap target.com

По умолчанию это не скан всех 65535 портов, а наиболее популярных. Для быстрого первичного взгляда этого достаточно, лично я использую данный метод для скриптов.

Если нужно указать конкретные порты, то используется -p: ➢ nmap -p 80,443,22 target.com Если нужен диапазон: ➢ nmap -p 1-1000 target.com

Отдельно стоит понимать разницу между TCP и UDP. Чаще всего начинают именно с TCP, потому что это быстрее, понятнее и даёт хорошую базу. Но UDP игнорировать тоже не стоит, так как там могут быть интересные сервисы вроде DNS, SNMP, NTP и не только.

Для UDP уже используется: ➢ nmap -sU -p 53,161 target.com

Если необходимо определение сервисов и версий, то одна из самых полезных опций: ➢ nmap -sV target.com

Она пытается определить, что именно висит за открытым портом и по возможности показать версию сервиса. А это уже очень практичная история, потому что версия Apache, nginx, OpenSSH, PostgreSQL или какого-либо VPN/панели — это уже не просто факт наличия порта, а входная точка для дальнейшего анализа. Дальше можно искать известные уязвимости, смотреть эксплойты, проверять конфигурацию.

Если нужно не только понять сервис, но и попробовать проверить его на известные слабые места, используют NSE-скрипты, в том числе: nmap --script vuln target.com

Но здесь важно не скатываться в магическое мышление, будто nmap сам “найдёт все уязвимости”. Нет. Он помогает быстро подсветить потенциально слабые места, но это не замена ручному анализу и не полноценный vuln assessment.

━━━━━━━━ Как я использую nmap ━━━━━━━━

Мой личный подход, то я редко начинаю сразу со сложного и тяжёлого скана с определением сервисов на всё подряд.

Обычно логика у меня такая: сначала быстро посмотреть, какие порты вообще открыты, без лишней детализации. То есть сначала понять форму периметра. Уже после этого точечно идти в интересующие порты и запускать на них определение сервисов и версий.

Опции -sV и -sC я использую особенно часто. Первая помогает понять, с чем имеем дело, вторая — быстро получить дополнительный контекст.

━━━━━━━━ Какие существуют сложности ━━━━━━━━

В мире облаков и проксирования у nmap уже появляются ограничения. Если сервис стоит за CDN, WAF, облачным балансировщиком или каким-нибудь edge-прокси, то nmap по сути будет видеть только то, что ему показывает внешний слой. За ним может быть гораздо более сложная инфраструктура, но напрямую её вы уже не пощупаете.

Именно поэтому нет особого смысла ждать от nmap чудес в ситуации, когда перед вами типичный облачный фасад. Он честно покажет доступные снаружи точки, но не даст вам внутреннюю картину только потому, что вы этого захотели. В таких кейсах уже приходится смещать фокус в сторону других методов: • анализа поведения приложения, • работы с HTTP-слоем, • ошибок конфигурации, • утечек заголовков, • CDN-bypass сценариев, • DNS-анализа и общей корреляции данных

━━━━━━━━ Мини итог ━━━━━━━━

nmap — это превосходный инструмент для своих задач. Он не заменяет опыт, не заменяет логику аналитика и не заменяет полноценный пентест, но он отлично помогает увидеть периметр, выделить интересные точки входа и понять, куда вообще стоит копать дальше.

На старте многим хочется сразу искать “критичные уязвимости”, RCE и громкие истории. Но на практике хороший пентест очень часто начинается с гораздо более приземлённых вещей: что открыто, что отвечает, что за сервис, какая версия, и почему это вообще доступно снаружи.

Nmap как первый взгляд на реальный периметр | Сетка — социальная сеть от hh.ru