Сканирование портов — это важный этап при тестировании безопасности веб-приложений. Ранее я рассказывал об установке и использовании Naabu на Windows. Сегодня покажу, как установить и использовать Naabu на Kali Linux.
Еще по теме: Сканер уязвимостей из Nmap с помощью Vulscan
Что такое Naabu
Naabu — это инструмент написанный на Golang, который используется для поиска открытых портов сайта. Это простой инструмент, который выполняет быстрое сканирование SYN на хосте/списке хостов и составляет список всех портов, которые возвращают ответ.
Основные возможности Naabu:
- Быстрое сканирование на основе SYN/CONNECT.
- Легкий и не использует много ресурсов.
- Удаляет дубликаты хостов между несколькими субдоменами.
- Простая интеграция с NMAP для обнаружения сервисов.
- Поддерживаются различные форматы вывода (JSON, File, Stdout).
Установка Naabu на Kali Linux
Для установки необходимо выполнить всего одну команду:
1 |
sudo apt install naabu -y |
Naabu установлен на Kali Linux. Переходим к использованию.
Использование Naabu на Kali Linux
Как всегда, начинаем с изучения справки:
1 |
naabu -h |
В качестве подопытного будет намеренно уязвимый сайт hackthissite.org. Запускаем сканирование хоста:
1 |
naabu -host hackthissite.org |
Сканер обнаружил на сайте два открытых порта. Для сканирования определенных портов используем параметр -p.
1 |
naabu -p 80,21 -host hackthissite.org |
На следующем скрине видно, как сканер сканирует только указанные нами порты и пропускает порт 443:
По умолчанию Naabu сканирует 100 портов Nmap. Мы также можем использовать некоторые настроенные диапазоны портов:
- -top-ports 100 — сканирует 100 портов Nmap.
- -top-ports 1000 — сканирует 1000 портов Nmap.
- -p — сканирует все порты от 1 до 65535.
Можно также указать, какие порты не следует проверять. Исключим порт 21 и 80:
1 |
naabu -p - -exclude-ports 21,80 -host hackthissite.org |
Можно сканировать хосты из списка. Для этого используем текстовый файл, где каждый хост прописан отдельной строкой и используем параметр -list:
1 |
naabu -list hosts.txt |
На скрине выше видно, что мы проверили все порты целевых хостов. Для вывода результата в формате JSON используем параметр -json. Для сохранения результата в файл параметр -o.
Параметр -silent отобразит результат только после завершения сканирования.
Работа Naabu с Nmap
Мы можем использовать сканер вместе с Nmap. Nmap будет полезен для обнаружения служб, работающих на портах.
Nmap установлен в Kali по умолчанию, поэтому команда будет выглядеть следующим образом:
1 |
echo hackthissite.org | naabu -nmap-cli 'nmap -sV -oX nmap-output' |
Минимизация обнаружения сканирования
Для минимизации вероятности обнаружения и блокировки при использовании Naabu можно предпринять следующие меры предосторожности:
Уменьшение скорости сканирования:
1 |
naabu -h target_ips.txt -p 1-1000 -rate 100 |
Уменьшение скорости сканирования снижает вероятность детектирования со стороны систем защиты.
Использование случайных интервалов:
1 |
naabu -h target_ips.txt -p 1-1000 -rate 100 -random |
Параметр -random позволяет использовать случайные интервалы между отправкой пакетов.
Изменение идентификаторов пакетов:
1 |
naabu -h target_ips.txt -p 1-1000 -ip-ttl 64 |
Настройка параметра -ip-ttl изменяет значение Time-To-Live (TTL) пакетов, что может затруднить их отслеживание.
Использование прокси или VPN для сокрытия реального IP-адреса источника.
Автоматизация сканирования
Для автоматизации процесса сканирования с Naabu можно использовать скрипты и инструменты для регулярного выполнения сканирований и анализа результатов.
Шаг 1: Создание Bash-скрипта для автоматического сканирования:
1 2 3 4 |
#!/bin/bash target_ips="target_ips.txt" output_file="naabu_scan_results_$(date +%F).txt" naabu -h $target_ips -p 1-1000 -o $output_file |
Скрипт выполняет сканирование и сохраняет результаты в файл с текущей датой.
Шаг 3: Настройка cron-job для регулярного выполнения сканирования:
1 |
crontab -e |
Шаг 3: Добавьте следующую строку для выполнения сканирования каждый день в 2 часа ночи:
1 |
0 2 * * * /path/to/naabu_scan.sh |
Использование систем мониторинга и CI/CD:
- Интеграция с системами мониторинга, такими как Nagios или Zabbix, для анализа результатов.
- Использование CI/CD систем, таких как Jenkins, для запуска сканирований в рамках тестовых циклов.
Автоматизация процесса сканирования с Naabu помогает в мониторинге сетевой инфраструктуры и своевременном выявлении новых уязвимостей и изменений.
На этом все. Теперь вы знаете, как установить и использовать Naabu в Kali Linux.
Полезные ссылки:
- Использование сканера портов RustScan на Kali Linux
- Как установить и использовать сканер Nessus на Kali Linux