OWASP Nettacker — это автоматизированная платформа (фреймворк) для автоматического тестирования на проникновение, сканирования уязвимостей, сбора информации и создания отчетов, включая найденные уязвимости, информацию об используемых компонентах и другие сведения. 

Nettacker использует такие протоколы, как TCP SYN, ACK и ICMP, для обхода устройств Firewall, DS, IPS. 

OWASP Nettacker разработан некоммерческой организацией OWASP, которая специализируется на обеспечении безопасности веб-приложений. Свое название программа получила от образования слов «Network» (сеть) и «Attacker» (атакующий).

Среди достоинств OWASP Nettacker можно выделить следующие:

  • бесплатный проект с открытым исходным кодом;

  • кроссплатформенность — запустить инструмент можно на ОС семейства Windows, Linux/Unix, macOS. Также доступен вариант запуска в контейнере Docker;

  • поддержка обширного функционала (более 80 модулей) «из коробки», включая такие инструменты, как сканер портов, сканеры для поиска информации об используемых модуле, SSH Brute force и другие. Ознакомиться с полным списком встроенных модулей можно по ссылке;

  • быстрая работа благодаря поддержке многопоточности;

  • наличие функционала для создания отчетов;

  • мультиязычность — утилита локализована на более чем 20 различных языков (включая русский язык);

  • наличие встроенного API.

Установка OWASP Nettacker

Nettacker является кроссплатформенным ПО, однако проще всего запустить утилиту в контейнере Docker. Для этого на сервере, где установлен Docker, достаточно выполнить команду:

docker run -it --name nettacker --rm owasp/nettacker /bin/bash

Для проверки корректности запуска утилиты, выполняем команду:

python3 nettacker.py -h

Использование OWASP Nettacker

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

  • сбор сведений о веб-сайте;

  • сканирование на наличие открытых портов;

  • обнаружение новых хостов;

  • поиск ПО, которое использует веб-сайт.

Разберём работу основных модулей. В качестве атакующей цели можно использовать как доменное имя, так и IP-адрес. Также в процессе сканирования можно использовать 2 и более модуля одновременно. Для этого их необходимо разделить запятыми.

Сканер портов

Функционал для сканирования на наличие открытых портов эквивалентен функционалу программы Nmap. Для того чтобы просканировать веб-сайт geeksforgeeks.org, необходимо выполнить команду:

python3 nettacker.py -i geeksforgeeks.org -m port_scan

В выводе отобразилась таблица, которая содержит в себе дату и время начала сканирования (столбец date), цель (target), используемый модуль (module_name), а также вывод самого модуля. В данном случае мы использовали модуль port_scan, который обнаружил открытые порты на сервере (столбец port). 

Nettacker поддерживает следующие форматы для задания сканируемых объектов:

  • IP-адрес — 192.168.1.1;

  • диапазон IP-адресов — 192.168.1.1-192.168.255.255;

  • подсеть — 192.168.1.0/24;

  • доменное имя — test.com;

  • URL — http://test.com https://test.com.

Также можно задать необходимые адреса в файле и передать данный файл на сканирование. Для этого используется ключ -l. Создадим обычный текстовый файл с именем addresses без расширения со следующим содержимым:

owasp.org
testhtml5.vulnweb.com
testaspnet.vulnweb.com

Передадим данный файл в качестве цели для сканирования открытых портов:

python3 nettacker.py -l addresses -m port_scan

Можно просканировать только конкретные порты. По умолчанию Nettacker сканирует весь диапазон портов, которые заранее прописаны. Чтобы уменьшить время сканирования, можно задать только конкретные порты, используя ключ -g, например, 80 и 22:

python3 nettacker.py -i geeksforgeeks.org -m port_scan -g 80,22

Поиск поддоменов

В Nettacker присутствует отдельный модуль для поиска поддоменов. Для этого используется команда:

python3 nettacker.py -i owasp.org -m subdomain_scan

Сбор информации о веб-сайте

В Nettacker присутствуют модули для поиска различной информации о веб-сайте. Разберём некоторые из них:

admin_scan — сканирует на наличие таких директорий как /admin /cmsadmin /wp-admin и так далее.. 

python3 nettacker.py -i domain1-test.ru -m admin_scan

Как можно заметить, модуль обнаружил на сайте такие директории, как /administration.html /administration.php /administrator /administrator/account.asp /administrator/account.php

pma_scan — проверяет на наличие страницы (phpmyadmin) для входа на phpMyAdmin:

python3 nettacker.py -i domain1-test.ru -m pma_scan

При сканировании была найдена страница со входом на phpMyAdmin (см. скриншот выше).

wordpress_version_scan — определяет версию WordPress (применимо к сайтам, которые используют WordPress в качестве CMS):

python3 nettacker.py -i domain1-test.ru -m wordpress_version_scan

Была найдена версия WordPress под номером 5.1.17.

wp_plugin_scan — сканирует сайт на наличие используемых плагинов WordPress (применимо к сайтам, которые используют WordPress в качестве CMS):

python3 nettacker.py -i domain1-test.ru -m wp_plugin_scan

В примере выше были найдены 2 плагина WordPress — nextgen-gallery и contact-from-7.

x_powered_by_vuln — проверяет заголовок X-Powered-By на наличие в нем информации об используемом программном обеспечении веб-сайта:

python3 nettacker.py -i flynow.vn -s -m port_scan,x_powered_by_vuln

Как можно увидеть, в последнем столбце в качестве значения в заголовке X-Powered-By используется Nginx.

Создание отчетов

После каждого сканирования Nettacker создает отчет, который по умолчанию сохраняется в usr/src/owaspnettacker/.data/results/ и в формате .html:

Отчет состоит из двух частей — интерактивного графа:

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

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

В столбце json_event можно узнать более подробную информацию об отправленном запросе:

Также в качестве форматов для отчета поддерживаются форматы csv и json. Для того чтобы сохранить отчет под новым именем и в новом формате, необходимо использовать ключ -o, например:

python3 nettacker.py -i owasp.org -m admin_scan -o results.csv

Сгенерированный отчет будет сохранен в текущей директории, из которой была запущена утилита nettacker. Можно указывать абсолютный (полный) путь, куда будет сохранен файл с отчетом. Также при использовании форматов csv и json в отчетах не будут использоваться графики.

OWASP Nettacker хорошо подходит для сбора информации о требуемом хосте. Благодаря большому количеству поддерживаемых модулей, можно легко находить только нужную информацию.


НЛО прилетело и оставило здесь промокод для читателей нашего блога:
-15% на заказ любого VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.

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