Внимание!!!

В статье показано пошаговое решение модуля Network Enumeration with Nmap. Я настоятельно рекомендую сначала попробовать решить задачу самостоятельно, а в случае затруднений обратиться к подробному пошаговому руководству. Это позволит вам лучше понять процесс и развить собственные навыки. Также вы можете изучить различные подходы к решению и логику мышления.

Будем останавливаться на темах, в которых есть задачи и будем их решать.

Host Discovery

Задание:
На основе последнего результата выясните, к какой операционной системе он относится. Введите название операционной системы в качестве результата.

Решение:
При проведении ICMP-сканирования целевой узел возвращает пакеты с TTL=128. Учитывая, что:

  • Windows использует начальное значение TTL=128

  • Unix-системы обычно используют TTL=64

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

Ответ: Windows

Host and Port Scanning

Задание 1:
Найдите все TCP-порты на вашем целевом объекте. Отправьте общее количество найденных TCP-портов в качестве ответа.

Решение:
Выполним сканирование с помощью Nmap:

sudo nmap -sS 10.129.2.49 -n -Pn
sudo nmap -sS 10.129.2.49 -n -Pn
  • -sS - Используем для поиска открытых портов из топ 1000;

  • -n - Отключаем разрешения DNS;

  • -Pn - Отключаем запросы ICMP Echo.

В результате сканирования мы нашли 7 открытых портов.

Ответ: 7

Задание 2:
Перечислите имя хоста вашей цели и отправьте его в качестве ответа (с учетом регистра).

Решение:
Имя хоста можно получить, сканируя SMB-порт (445/TCP). Выполним команду:

sudo nmap -sV 10.129.2.49 -n -Pn -p 445
sudo nmap -sV 10.129.2.49 -n -Pn -p 445
  • -sV - Используем для определения названия и версии ПО на открытом порте.

Получаем ответ: Service Info: Host: NIX-NMAP-DEFAULT
Ответ: NIX-NMAP-DEFAULT

Saving the Results

Задание:
Выполните полное сканирование TCP-портов на вашем целевом компьютере и создайте HTML-отчет. Отправьте номер самого высокого порта в качестве ответа.

Решение:
Нам нужно отсканировать целевую машину и сохранить результаты сканирования в XML формате. Приступим:

sudo nmap -sS 10.129.2.49 -n -Pn -oX target
sudo nmap -sS 10.129.2.49 -n -Pn -oX target

После выполнения сканирования в папке появится файл с результатами сканирования под названием target. Далее мы должны преобразовать его в HTML формат:

xsltproc target -o target.html
xsltproc target -o target.html

Эта команда преобразует XML-отчет в HTML-формат.

Теперь у нас есть отчет о результатах сканирования в удобном виде. Откроем отчет в браузере:

Ответ: 31337

Service Enumeration

Задание:
Перечислите все порты и их службы. Одна из служб содержит флаг, который вы должны предоставить в качестве ответа.

Решение:
Для получения флага просканируем все открытые порты подробно:

sudo nmap 10.129.2.49 -sV -p 22,80,110,139,143,445,31337
sudo nmap 10.129.2.49 -sV -p 22,80,110,139,143,445,31337

На порту 31337 во время сканирования был обнаружен флаг:

Nmap Scripting Engine

Задание:
Используйте NSE и его скрипты, чтобы найти флаг, содержащийся в одной из служб, и отправить его в качестве ответа.

Решение:
Запустим стандартное сканирование, для выявления открытых портов:

sudo nmap -sS 10.129.2.49 -n -Pn
sudo nmap -sS 10.129.2.49 -n -Pn

Открытые порты: 22, 80, 110, 139, 143, 445, 31337. Запустим сканирование на открытые порты со стандартными скриптами (-sC):

sudo nmap -sC 10.129.2.49 -n -Pn -p 22,80,110,139,143,445,31337
sudo nmap -sC 10.129.2.49 -n -Pn -p 22,80,110,139,143,445,31337

Стандартные скрипты не выявили флага, но мы знаем, что на 80 порту развернут Apache. Можем за это зацепиться и попробовать построить карту сайта с помощью NSE из категории discovery:

sudo nmap 10.129.2.49 -p 80 --script discovery
sudo nmap 10.129.2.49 -p 80 --script discovery

В ходе сканирования мы наткнулись на подкаталог robots.txt, где хранится информация о сайте. Посмотрим, что в нем находится:

Ответ: флаг находился в каталоге /robots.txt.

Firewall and IDS/IPS Evasion - Easy Lab

Задание:
Наш клиент хочет знать, можем ли мы определить, на какой операционной системе работает его предоставленная машина. Отправьте название ОС в качестве ответа.

Решение:
Попробуем для начала обычное сканирование с определением ОС (-O):

sudo nmap 10.129.2.80 -sS -O -n -Pn
sudo nmap 10.129.2.80 -sS -O -n -Pn

Результаты сканирования ничего не дали, нашли открытые порты (22, 80, 10001). ОС выявить не удалось. Можно попробовать ACK сканирование, если наше сканирование блокируется брандмауэром:

sudo nmap -sA 10.129.2.80 -p 80 -O
sudo nmap -sA 10.129.2.80 -p 80 -O

Мы получили список возможных ОС, но точную не нашли. Попробуем захватить баннеры на открытых портах:

nc 10.129.2.80 22
nc 10.129.2.80 22

В результате захвата мы получаем информацию, где среди версии указана ОС целевой системы.
Ответ: Ubuntu

Firewall and IDS/IPS Evasion - Medium Lab

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

Решение:
Начнем по классике с поиска открытых портов:

sudo nmap -sS 10.129.2.48 -Pn -n --disable-arp-ping
sudo nmap -sS 10.129.2.48 -Pn -n --disable-arp-ping

В ходе сканирования находим открытые порты TCP: 21, 22, 80, 110, 139, 143, 445. И отфильтрованный 53 порт TCP (DNS). Мы знаем, что протокол DNS работает и на TCP, и на UDP. Давайте попробуем запустить UDP-сканирование на 53 порту:

sudo nmap -sU 10.129.2.48 -sV -p 53
sudo nmap -sU 10.129.2.48 -sV -p 53

В итоге получаем, что брандмауэр не фильтрует 53 UDP порт и спокойно выдаёт версию DNS-сервера.

Firewall and IDS/IPS Evasion - Hard Lab

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

Решение:
Начнем со сканирования портов:

sudo nmap -sS 10.129.2.47 -n -Pn --disable-arp-ping
sudo nmap -sS 10.129.2.47 -n -Pn --disable-arp-ping

Было найдено 2 открытых порта: 22 и 80. Попробуем запустить сканирование, используя 53 порт в качестве исходного порта:

sudo nmap -sS 10.129.2.47 -n -Pn --disable-arp-ping --source-port 53
sudo nmap -sS 10.129.2.47 -n -Pn --disable-arp-ping --source-port 53

Мы находим еще один открытый порт - 50000. И мы узнали, что брандмауэр плохо настроен и принимает соединения с 53 TCP порта. Попробуем захватить баннер с этого порта:

sudo ncat -nv --source-port 53 10.129.2.47 50000
sudo ncat -nv --source-port 53 10.129.2.47 50000

Немного подождав, мы получили флаг.

Примечание! Не повторяйте моих ошибок. Если что-то не работает, попробуйте запустить от sudo!

Заключение

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

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

Комментарии (0)