uz
KA
июня 23, 2025
Обновлено июня 23, 2025

Nmap: как сканировать сети?

Linux Windows Сети

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

Сегодня рассмотрим один из инструментов, который используют, как хакеры, так и специалисты ИБ для выявления слабых мест в сетевой инфраструктуре.

Обратите внимание, что демонстрация работы ПО приведена в учебных целях противодействия! Цели сканирования принадлежат компании Serverspace. Автор не несет ответственности за последствия его применения.

Что такое Nmap?

Nmap или network mapping представляет собой многофункциональную утилиту, которая позволяет сканировать сети с выявлением хостов, портов, а так же проверять сервисы на уязвимости. Утилита может сканировать, как в пассивном, так и активном режиме агрессивно, но быстро выявляя сервисы или машины. Для установки в Linux дистрибутивах достаточно прописать команду:

apt install nmap -y

А для Windows пользователей воспользоваться альтернативным пакетным менеджером:

winget install Insecure.Nmap
Установка
Скриншот №1 — Установка

После чего пакеты будут доступны на устройстве, а переменные среды пропишут путь до исполняемого файла. Так что при перезапуске терминала команда nmap станет доступна, проверьте прописав ее:

nmap
Справка
Скриншот №2 — Справка

Если вывод такой, то установка прошла успешно, как раз в этом огромном выводе можно увидеть несколько этапов, которые фундаментально важны для разведки вашей инфраструктуры. Чтобы было понятней изобразим это в формате схемы:

Схема
Скриншот №3 — Схема

Сначала среди массива устройств происходит поиск, этот процесс называется Host Discovery. Он позволяет определить список доступных устройств по сети используя различные методы.

При нехватке собственных мощностей можно воспользоваться облачными серверами от Serverspace, для этого перейдем к созданию сервера, на любой из двух платформ vStack cloud или же VMware cloud. Нажмем на кнопку Создать сервер и выберем конфигурацию, подходящую под наши задачи, затем нажмем кнопку Создать:

Создание сервераСкриншот №4 — Создание сервера

Как сканировать хосты через Nmap?

К примеру, можем просканировать сеть и определить методом пинга, какие сейчас устройства доступны:

  nmap -sn 127.0.0.0/24
Host Discovery по ICMP
Скриншот №5 — Host Discovery по ICMP

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

nmap -PA -PS -T3 127.0.0.0/24

Host DiscoveryСкриншот №6 — Host Discovery

Опция -PA/PS означает, что будет использовано обращение по TCP с пакетами SYN/ACK, а флаг -T3 задаст временной интервал, который позволит медленно просканировать сеть. Данный вариант отлично подойдет для тестирования своего СЗИ и его возможности детектировать такую разведку. Так же не забудьте добавить, по желанию опцию -PU, которая позволит детектировать и UDP сервисы.

Как сканировать порты через Nmap?

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

nmap -v -sV -sA -sS -sU -T3 -p U:53,T:80,21-22 4 127.0.1.1
Аудит по портам
Скриншот №7 — Аудит по портам

По результатам мы получаем список версий сервисов, которые доступны по портам, данный подход более деликатен и позволяет хакерам оставлять меньше следов для СЗИ. В данном случае мы указали только одну цель, но у вас их может быть больше. Опция -sV позволяет определить версию ПО, которая занимает порт, T3 параметр скорости сканирования. И определенные порты UDP и TCP с целями, на которых необходимо их обнаружить.

Если вы проводили Host Discovery по ICPM или параметру -sn, то можете просканировать порты с нуля командой:

nmap -v -sV -sA -sS -sU -T3 127.0.1.1 --open

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

Сканирование на уязвимости

Представим, что пришел билютень регулятора с уязвимостями и необходимо проверить их, для этого используем сканер уязвимостей. Это тот же самый сканер nmap, только с выбранными модулями nse, которые расширяет функционал. Для этого перейдем в папку c скриптами и докачаем нужные инструкции NSE на языке Lua:

cd /usr/share/nmap/scripts && \
apt update && apt upgrade && \
sudo git clone git@github.com:vulnersCom/nmap-vulners.git
Скан на уязвимости оп портам
Скриншот №8 — Скан на уязвимости оп портам

После скачивания скриптов их можно вызывать в утилиту из любого места, просканируем наши порты, либо полностью, либо в диапазоне с помощью опции -p. Пропишем команду:

sudo nmap -d -sV -sU -sS --script "*vuln*" 127.0.1.1
Результат сканирования
Скриншот №9 — Результат сканирования

После чего, по результатам увидим все возможные CVE, которые представлены в соответствии с версией детектированного ПО. Данный метод сканирования на уязвимости считается пассивным, так как происходит считывание и сравнение версий с базой уязвимых. Разработчики ПО могут в рамках одной версии закрыть брешь или сами сотрудники придумать способ патча уязвимости. Поэтому не всегда найденное соответствует действительному, обращайте на это внимание! Как список уязвимостей был получен необходимо уже пройтись по инфраструктуре вручную и проверить уязвим ли сервис.

 

Оценка:
5 из 5
Аverage rating : 5
Оценок: 2
100029 Ташкент Улица Якка Чинар, дом 2/1
ООО «ИТГЛОБАЛКОМ ЛАБС»

Вам также может быть интересно...