Сергей Попов
02.07.2025, 15:45
https://forum.antichat.xyz/attachments/4942341/1751455911953.png
Ты думаешь, что знаешь Nmap, просто просканировав пару IP? Давай копнем глубже и посмотрим, на что он способен на самом деле, когда стандартные подходы уже не работают.
Сегодня хочу поговорить об инструменте, который для многих стал синонимом сетевого сканирования. О нашем верном и безотказном Nmap. Многие начинают с простого скана портов и на этом останавливаются, а ведь вся мощь этой утилиты раскрывается гораздо глубже. Эта статья — для тех, кто уже освоил азы и хочет выжать из Nmap максимум. Пройдемся от классики до продвинутых фишек и, конечно, коснемся магии скриптового движка NSE.
Для пентестера или ИБ-специалиста владение Nmap — это как для хирурга владение скальпелем: обязательно и требует точности. Если вы только определяетесь с вектором развития, рекомендую изучить пошаговое руководство для начинающих пентестеров (https://forum.antichat.xyz/threads/584955/), чтобы понять всю картину. Сегодня мы не будем разжевывать, что такое IP-адрес. Мы сосредоточимся на тактиках, которые отличают новичка от профессионала, и разберем, как превратить стандартное nmap сканирование портов в целенаправленное исследование. Стоит помнить, что активное сканирование — это лишь один из этапов, который часто идет после пассивной разведки, например, с использованием различных OSINT-ботов и сервисов (https://forum.antichat.xyz/threads/584778/).
Nmap для профи: от тихого скана до мощи NSE
Nmap (Network Mapper) — это не просто сканер портов. Это мощнейший опенсорсный инструмент для исследования сети и проведения аудита безопасности. Для пентестера или ИБ-специалиста владение Nmap — это как для хирурга владение скальпелем: обязательно и требует точности. Сегодня мы не будем разжевывать, что такое IP-адрес. Мы сосредоточимся на тактиках, которые отличают новичка от профессионала, и разберем, как превратить стандартное nmap сканирование портов в целенаправленное исследование.
Основы основ: выбор правильного типа сканирования
Каждое сканирование начинается с выбора метода. И тут кроется первый важный нюанс, который влияет и на скорость, и на скрытность. Два самых популярных типа TCP-сканирования — это
TCP Connect (-sT)
и
SYN Stealth (-sS)
. В чем же их принципиальная разница?
TCP Connect Scan (
-sT
): Этот метод использует системный вызов
connect()
операционной системы для установки полного трехстороннего рукопожатия (SYN, SYN/ACK, ACK).
Плюс: Не требует прав суперпользователя (root).
Минус: Очень "шумный". Установка полного соединения легко обнаруживается и логируется большинством файрволов и IDS. Это как громко постучать в дверь и дождаться, пока ее откроют.
SYN Scan (
-sS
): А вот это уже классика пентеста, не зря он используется по умолчанию при запуске от root. Nmap отправляет SYN-пакет, как бы собираясь начать соединение.
Если в ответ приходит SYN/ACK — порт открыт. Nmap, вместо отправки финального ACK, посылает RST-пакет, обрывая соединение до его полного установления.
Если приходит RST — порт закрыт.
Если ответа нет — порт, скорее всего, фильтруется.
Плюс: Гораздо более скрытный метод, так как полное соединение не устанавливается. Его называют "полуоткрытым" сканированием.
Минус: Требует прав root для создания "сырых" сокетов.
Практический пример:
Представим, что мы хотим быстро и относительно незаметно проверить, открыт ли веб-сервер (порт 80) и SSH (порт 22) на цели
scanme.nmap.org
.
Bash:
# Требует прав root/sudo
sudo
nmap -sS -p
22,80
scanme.nmap.org
Запустив эту команду, мы получим быстрый и точный результат, минимизируя вероятность быть замеченными на базовом уровне мониторинга. Использование
-sT
в профессиональной среде — скорее исключение, когда нет root-доступа.
Продвинутые техники: копаем глубже
Окей, с портами разобрались. Но что за ними скрывается? Наша задача — собрать как можно больше информации.
Определение версий служб и ОС (-sV)
Знать, что порт 80 открыт — это полдела. А вот знать, что за ним стоит
Apache 2.4.52
на
Ubuntu
, а не
IIS 10.0
на Windows — это уже ценная информация для поиска эксплойтов. Здесь в игру вступает ключ
-sV
.
Bash:
# Сканируем топ-20 портов, определяя версии сервисов
sudo
nmap -sS -sV --top-ports
20
scanme.nmap.org
Nmap отправит специальные пробы на открытые порты и проанализирует ответы, чтобы максимально точно определить сервис и его версию. Это один из самых полезных ключей в арсенале.
Сканирование UDP (-sU)
Многие забывают, что кроме TCP существует и UDP. А ведь через него работают такие важные сервисы, как DNS (53), SNMP (161) и VPN (OpenVPN, IKE). Сканирование UDP — процесс медленный и муторный, так как протокол не подразумевает установку соединения. Отсутствие ответа не всегда означает, что порт закрыт. Однако игнорировать его — преступная халатность.
Bash:
# Медленное, но важное сканирование популярных UDP-портов
sudo
nmap -sU --top-ports
50
scanme.nmap.org
Будьте готовы, что такой скан займет значительно больше времени, чем TCP.
Обход файрволов
Когда на пути стоит файрвол или IDS/IPS, стандартные сканы могут не пройти. Тут нужны хитрости:
Фрагментация пакетов (
-f
): Этот ключ разбивает TCP-заголовок на мелкие фрагменты. Некоторые старые файрволы, пытаясь сэкономить ресурсы, не собирают такие пакеты для анализа и пропускают их.
Указание MTU (
--mtu
): Можно задать свой размер пакета, например,
--mtu 8
, чтобы отправить 8-байтовые пакеты. Это тоже может запутать некоторые системы защиты.
Подмена источника (
-D RND:10
): Создает 10 "ложных" IP-адресов (декоев), которые якобы сканируют цель вместе с вами. Ваш реальный IP будет затерян в этом шуме, что усложнит анализ логов.
Пример комплексной команды для "тихого" сканирования:
Bash:
# Максимально аккуратный скан с фрагментацией и медленным таймингом
sudo
nmap -sS -f -T2 -p
22,80
,443
Здесь
-T2
(
Polite
) замедляет сканирование, чтобы не вызывать подозрений у систем мониторинга аномальной сетевой активности.
Сила скриптов: Nmap Scripting Engine (NSE)
Вот мы и подобрались к самому интересному. NSE — это сердце Nmap, превращающее его из сканера в многофункциональный комбайн для аудита. Скрипты, написанные на языке Lua, могут выполнять тысячи задач: от поиска уязвимостей до брутфорса учетных записей.
Использовать их просто. Основной ключ —
--script
.
Поиск уязвимостей (категория
vuln
):
Это набор скриптов, которые ищут конкретные, известные уязвимости на основе обнаруженных сервисов.
Bash:
# Запускаем все скрипты из категории vuln на цели
sudo
nmap -sS -sV --script
=
vuln -p
80,443
Если на веб-сервере обнаружится, например, уязвимость типа Heartbleed, Nmap об этом сообщит.
Использование популярных скриптов:
Один из самых полезных скриптов —
vulners
, который сверяет версии ПО с огромной базой данных уязвимостей на vulners.com.
Bash:
# Требуется предварительно скачать скрипт или использовать дистрибутив, где он есть
sudo
nmap -sV --script
=
vulners
Результат будет содержать не только список открытых портов, но и перечень CVE, ассоциированных с запущенным на них софтом, часто даже со ссылками на эксплойты. Применение таких скриптов особенно эффективно при аудите внутренних сетей, где часто можно наткнуться на распространенные конфигурации. Это первый шаг к более сложным сценариям, таким как тестирование на проникновение в Active Directory (https://forum.antichat.xyz/threads/582884/), где результаты сканирования Nmap дают основу для дальнейших атак.
Шпаргалка (Cheat Sheet) полезных команд
Сохраните себе, пригодится!
nmap -sS -p-
"Тихое" сканирование всех 65535 TCP-портов. Будьте готовы ждать!
nmap -sV -O
Определение версий сервисов и операционной системы.
nmap -A
"Агрессивный" режим. Включает
-sV
,
-O
, трассировку и запуск дефолтных скриптов NSE.
nmap -sn 192.168.1.0/24
"Ping scan". Быстрое обнаружение "живых" хостов в сети без сканирования портов.
nmap --script=http-title -p 80,443
Получает заголовки (titles) веб-страниц с открытых HTTP(S) портов.
nmap -iL targets.txt
Сканирование целей из файла
targets.txt
.
nmap -oA scan_results
Сохранение результатов сразу в трех форматах:
.nmap
,
.gnmap
(для grep) и
.xml
.
Коллеги, Nmap — это инструмент с почти безграничными возможностями. Мы лишь "пробежались по верхам", затронув ключевые моменты, которые отличают поверхностное использование от профессионального. Настоящее мастерство приходит с практикой: экспериментируйте с типами сканирования, таймингами, скриптами NSE и учитесь интерпретировать результаты. Понимание этих техник закладывает базу для более сложных активностей, и со временем вы сможете определиться, что вам ближе: классический пентест или работа в Red Team (https://forum.antichat.xyz/threads/584913/). Не бойтесь читать официальную документацию — она великолепна. Помните: хороший специалист знает не только, какую команду запустить, но и почему именно ее.
FAQ
Насколько законно использовать Nmap?
Nmap — это легальный инструмент для администраторов и ИБ-специалистов. Однако сканирование сетей, которые вам не принадлежат и на исследование которых у вас нет письменного разрешения, незаконно в большинстве стран мира и может расцениваться как несанкционированный доступ. Всегда действуйте в рамках закона и этики.
Почему
nmap -sS
требует
sudo
?
Для создания "сырых" (raw) пакетов, которые необходимы для SYN-сканирования, программа должна иметь повышенные привилегии в операционной системе. Системный вызов
connect()
, используемый в
-sT
, доступен любому пользователю.
Какой тип сканирования самый лучший?
Не существует "лучшего" типа на все случаи жизни. Выбор зависит от цели: для максимальной скрытности —
-sS
с медленными таймингами (
-T1
,
-T0
), для быстрой разведки своей сети —
-sn
, для максимальной информации —
-A
.
А какими нетривиальными комбинациями ключей и скриптами Nmap пользуетесь вы? Делитесь своими любимыми nmap примерами команд и кейсами в комментариях! Давайте соберем лучшую базу знаний вместе.
Ты думаешь, что знаешь Nmap, просто просканировав пару IP? Давай копнем глубже и посмотрим, на что он способен на самом деле, когда стандартные подходы уже не работают.
Сегодня хочу поговорить об инструменте, который для многих стал синонимом сетевого сканирования. О нашем верном и безотказном Nmap. Многие начинают с простого скана портов и на этом останавливаются, а ведь вся мощь этой утилиты раскрывается гораздо глубже. Эта статья — для тех, кто уже освоил азы и хочет выжать из Nmap максимум. Пройдемся от классики до продвинутых фишек и, конечно, коснемся магии скриптового движка NSE.
Для пентестера или ИБ-специалиста владение Nmap — это как для хирурга владение скальпелем: обязательно и требует точности. Если вы только определяетесь с вектором развития, рекомендую изучить пошаговое руководство для начинающих пентестеров (https://forum.antichat.xyz/threads/584955/), чтобы понять всю картину. Сегодня мы не будем разжевывать, что такое IP-адрес. Мы сосредоточимся на тактиках, которые отличают новичка от профессионала, и разберем, как превратить стандартное nmap сканирование портов в целенаправленное исследование. Стоит помнить, что активное сканирование — это лишь один из этапов, который часто идет после пассивной разведки, например, с использованием различных OSINT-ботов и сервисов (https://forum.antichat.xyz/threads/584778/).
Nmap для профи: от тихого скана до мощи NSE
Nmap (Network Mapper) — это не просто сканер портов. Это мощнейший опенсорсный инструмент для исследования сети и проведения аудита безопасности. Для пентестера или ИБ-специалиста владение Nmap — это как для хирурга владение скальпелем: обязательно и требует точности. Сегодня мы не будем разжевывать, что такое IP-адрес. Мы сосредоточимся на тактиках, которые отличают новичка от профессионала, и разберем, как превратить стандартное nmap сканирование портов в целенаправленное исследование.
Основы основ: выбор правильного типа сканирования
Каждое сканирование начинается с выбора метода. И тут кроется первый важный нюанс, который влияет и на скорость, и на скрытность. Два самых популярных типа TCP-сканирования — это
TCP Connect (-sT)
и
SYN Stealth (-sS)
. В чем же их принципиальная разница?
TCP Connect Scan (
-sT
): Этот метод использует системный вызов
connect()
операционной системы для установки полного трехстороннего рукопожатия (SYN, SYN/ACK, ACK).
Плюс: Не требует прав суперпользователя (root).
Минус: Очень "шумный". Установка полного соединения легко обнаруживается и логируется большинством файрволов и IDS. Это как громко постучать в дверь и дождаться, пока ее откроют.
SYN Scan (
-sS
): А вот это уже классика пентеста, не зря он используется по умолчанию при запуске от root. Nmap отправляет SYN-пакет, как бы собираясь начать соединение.
Если в ответ приходит SYN/ACK — порт открыт. Nmap, вместо отправки финального ACK, посылает RST-пакет, обрывая соединение до его полного установления.
Если приходит RST — порт закрыт.
Если ответа нет — порт, скорее всего, фильтруется.
Плюс: Гораздо более скрытный метод, так как полное соединение не устанавливается. Его называют "полуоткрытым" сканированием.
Минус: Требует прав root для создания "сырых" сокетов.
Практический пример:
Представим, что мы хотим быстро и относительно незаметно проверить, открыт ли веб-сервер (порт 80) и SSH (порт 22) на цели
scanme.nmap.org
.
Bash:
# Требует прав root/sudo
sudo
nmap -sS -p
22,80
scanme.nmap.org
Запустив эту команду, мы получим быстрый и точный результат, минимизируя вероятность быть замеченными на базовом уровне мониторинга. Использование
-sT
в профессиональной среде — скорее исключение, когда нет root-доступа.
Продвинутые техники: копаем глубже
Окей, с портами разобрались. Но что за ними скрывается? Наша задача — собрать как можно больше информации.
Определение версий служб и ОС (-sV)
Знать, что порт 80 открыт — это полдела. А вот знать, что за ним стоит
Apache 2.4.52
на
Ubuntu
, а не
IIS 10.0
на Windows — это уже ценная информация для поиска эксплойтов. Здесь в игру вступает ключ
-sV
.
Bash:
# Сканируем топ-20 портов, определяя версии сервисов
sudo
nmap -sS -sV --top-ports
20
scanme.nmap.org
Nmap отправит специальные пробы на открытые порты и проанализирует ответы, чтобы максимально точно определить сервис и его версию. Это один из самых полезных ключей в арсенале.
Сканирование UDP (-sU)
Многие забывают, что кроме TCP существует и UDP. А ведь через него работают такие важные сервисы, как DNS (53), SNMP (161) и VPN (OpenVPN, IKE). Сканирование UDP — процесс медленный и муторный, так как протокол не подразумевает установку соединения. Отсутствие ответа не всегда означает, что порт закрыт. Однако игнорировать его — преступная халатность.
Bash:
# Медленное, но важное сканирование популярных UDP-портов
sudo
nmap -sU --top-ports
50
scanme.nmap.org
Будьте готовы, что такой скан займет значительно больше времени, чем TCP.
Обход файрволов
Когда на пути стоит файрвол или IDS/IPS, стандартные сканы могут не пройти. Тут нужны хитрости:
Фрагментация пакетов (
-f
): Этот ключ разбивает TCP-заголовок на мелкие фрагменты. Некоторые старые файрволы, пытаясь сэкономить ресурсы, не собирают такие пакеты для анализа и пропускают их.
Указание MTU (
--mtu
): Можно задать свой размер пакета, например,
--mtu 8
, чтобы отправить 8-байтовые пакеты. Это тоже может запутать некоторые системы защиты.
Подмена источника (
-D RND:10
): Создает 10 "ложных" IP-адресов (декоев), которые якобы сканируют цель вместе с вами. Ваш реальный IP будет затерян в этом шуме, что усложнит анализ логов.
Пример комплексной команды для "тихого" сканирования:
Bash:
# Максимально аккуратный скан с фрагментацией и медленным таймингом
sudo
nmap -sS -f -T2 -p
22,80
,443
Здесь
-T2
(
Polite
) замедляет сканирование, чтобы не вызывать подозрений у систем мониторинга аномальной сетевой активности.
Сила скриптов: Nmap Scripting Engine (NSE)
Вот мы и подобрались к самому интересному. NSE — это сердце Nmap, превращающее его из сканера в многофункциональный комбайн для аудита. Скрипты, написанные на языке Lua, могут выполнять тысячи задач: от поиска уязвимостей до брутфорса учетных записей.
Использовать их просто. Основной ключ —
--script
.
Поиск уязвимостей (категория
vuln
):
Это набор скриптов, которые ищут конкретные, известные уязвимости на основе обнаруженных сервисов.
Bash:
# Запускаем все скрипты из категории vuln на цели
sudo
nmap -sS -sV --script
=
vuln -p
80,443
Если на веб-сервере обнаружится, например, уязвимость типа Heartbleed, Nmap об этом сообщит.
Использование популярных скриптов:
Один из самых полезных скриптов —
vulners
, который сверяет версии ПО с огромной базой данных уязвимостей на vulners.com.
Bash:
# Требуется предварительно скачать скрипт или использовать дистрибутив, где он есть
sudo
nmap -sV --script
=
vulners
Результат будет содержать не только список открытых портов, но и перечень CVE, ассоциированных с запущенным на них софтом, часто даже со ссылками на эксплойты. Применение таких скриптов особенно эффективно при аудите внутренних сетей, где часто можно наткнуться на распространенные конфигурации. Это первый шаг к более сложным сценариям, таким как тестирование на проникновение в Active Directory (https://forum.antichat.xyz/threads/582884/), где результаты сканирования Nmap дают основу для дальнейших атак.
Шпаргалка (Cheat Sheet) полезных команд
Сохраните себе, пригодится!
nmap -sS -p-
"Тихое" сканирование всех 65535 TCP-портов. Будьте готовы ждать!
nmap -sV -O
Определение версий сервисов и операционной системы.
nmap -A
"Агрессивный" режим. Включает
-sV
,
-O
, трассировку и запуск дефолтных скриптов NSE.
nmap -sn 192.168.1.0/24
"Ping scan". Быстрое обнаружение "живых" хостов в сети без сканирования портов.
nmap --script=http-title -p 80,443
Получает заголовки (titles) веб-страниц с открытых HTTP(S) портов.
nmap -iL targets.txt
Сканирование целей из файла
targets.txt
.
nmap -oA scan_results
Сохранение результатов сразу в трех форматах:
.nmap
,
.gnmap
(для grep) и
.xml
.
Коллеги, Nmap — это инструмент с почти безграничными возможностями. Мы лишь "пробежались по верхам", затронув ключевые моменты, которые отличают поверхностное использование от профессионального. Настоящее мастерство приходит с практикой: экспериментируйте с типами сканирования, таймингами, скриптами NSE и учитесь интерпретировать результаты. Понимание этих техник закладывает базу для более сложных активностей, и со временем вы сможете определиться, что вам ближе: классический пентест или работа в Red Team (https://forum.antichat.xyz/threads/584913/). Не бойтесь читать официальную документацию — она великолепна. Помните: хороший специалист знает не только, какую команду запустить, но и почему именно ее.
FAQ
Насколько законно использовать Nmap?
Nmap — это легальный инструмент для администраторов и ИБ-специалистов. Однако сканирование сетей, которые вам не принадлежат и на исследование которых у вас нет письменного разрешения, незаконно в большинстве стран мира и может расцениваться как несанкционированный доступ. Всегда действуйте в рамках закона и этики.
Почему
nmap -sS
требует
sudo
?
Для создания "сырых" (raw) пакетов, которые необходимы для SYN-сканирования, программа должна иметь повышенные привилегии в операционной системе. Системный вызов
connect()
, используемый в
-sT
, доступен любому пользователю.
Какой тип сканирования самый лучший?
Не существует "лучшего" типа на все случаи жизни. Выбор зависит от цели: для максимальной скрытности —
-sS
с медленными таймингами (
-T1
,
-T0
), для быстрой разведки своей сети —
-sn
, для максимальной информации —
-A
.
А какими нетривиальными комбинациями ключей и скриптами Nmap пользуетесь вы? Делитесь своими любимыми nmap примерами команд и кейсами в комментариях! Давайте соберем лучшую базу знаний вместе.