Удобный вид для проверки результатов сканирования Nmap

Введение


xe7pl8gvlwvg2ri0b7tmulxliga.jpeg

Всем привет!

Я работаю в сфере информационной безопасности и занимаюсь анализом защищенности веб приложений. В свободное время я стараюсь повысить свои технические скилы и поэтому практикую bughanting на платформе hackerone или решаю лабы на hackthebox.

Вообще любой анализ web-приложения логично проводить с этапа сбора информации или разведки (кому как нравится, сути это не меняет). На этапе сбора информации о исследуемой системе я использую инструмент под названием nmap. Смею предположить, что данная легендарная утилита не нуждается в представлении, но, если вдруг кто-то не слышал вот ссылка.
Nmap — это консольное приложение (да конечно есть различные форки, например Zenmap и.т.д), и вывод его по умолчанию тоже отображается в консоли. Конечно, он также поддерживает сохранение в файл, в разных форматах, я не буду останавливаться на этом подробно, кому интересно можно посмотреть полный список ключей. (Список опций для Nmap).

Все хорошо, когда ты сканируешь N — хостов, и это N не превышает 10 или 20 штук. Но что делать если хостов становится сильно больше? А теперь представим, что часть из этих хостов например dev.example.com или test123.example.com, разработчики просто забыли вывести из эксплуатации и они не входят в область анализа? Каждый раз писать отчет и тратить на это существенную часть времени? Я вообще не фанат писанины отчетов, особенно на таком простом этапе. Поэтому я стал искать простые способы решения этой задачи.

Как говорили классики все гениальное просто.

nmap-bootstrap-xsl


Ссылка на github разработчика
Дает на выходе симпатичную html страницу, где все удобно разбито и представлено.

ppuclq2b95zlhni2uh8mg7avcws.png

mekshvbugeoqtjzi2hzob0ha_pw.gif

Как пользоваться?


1. Скачиваем сам файл стилей ссылка

2. Добавляем nmap-bootstrap.xsl в качестве таблицы стилей к вашему сканированию Nmap с аргументом --stylesheet:

 nmap -sS -A -p0-65535 -oA drive2 --stylesheet /home/kali/OSINT/nmap-bootstrap-xsl/nmap-bootstrap.xsl -iL /home/kali/Documents/Habr/drive2_domain.txt 

drive2- название xml файла который создаться после работы nmap

3. Используем xsltproc для конвертации файла в html.

 xsltproc -o drive2.html /home/kali/OSINT/nmap-bootstrap-xsl/nmap-bootstrap.xsl drive2.xml

drive2.html — название html страницы которая получится
drive2.xml — название xml файла который создался после работы nmap

Демонстрация работы


Для демонстрации работы возьмем какую-нибудь открытую программу по баг баунти, например DRIVE.NET, Inc.

suvauk58ycbjmmwvjhaywwaaela.png

hkyazsntraua2gfyps_vvbzj9ga.png

Найдем все под домены домена *.drive2.ru и просканируем их nmap сразу с применением nmap-bootstrap-xsl стиля.

1. Ищем под домены домена *.drive2.ru с помощью sublister (ссылка на github)

ph5eqs9k1lmmw7ku9y94rxtitis.png

-k4szfbbxdcfpgqwj8d6xil3dt8.gif

2. Запускаем сканирование nmap

jjz6yhpypneptbrtxds-owyfsbs.gif

3. Полученные файлы после сканирования.

1qygqnsbucyhwxffnrlhtbhruk4.png

4. Используем xsltproc для конвертации файла в html.

 xsltproc -o drive2.html /home/kali/OSINT/nmap-bootstrap-xsl/nmap-bootstrap.xsl drive2.xml

5. Смотрим результат

mekshvbugeoqtjzi2hzob0ha_pw.gif

Пример итоговой html страницы добавил на Яндекс диск. (ссылка на яндекс диск)

Вывод


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

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

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

© Habrahabr.ru