
Инструмент автоматизированной разведки веб-доменов и оценки безопасности, объединяющий перечисление поддоменов, сканирование портов, сканирование уязвимостей и AI-обнаружение для рабочих процессов тестирования на проникновение.
Введение • Установка • Использование • Запуск HaxUnit • Функции
HaxUnit.com
Присоединяйтесь к Discord!
HaxUnit — это комплексный Python-инструмент для разведки и оценки безопасности веб-доменов. Он объединяет различные инструменты для поиска поддоменов, сканирования портов, поиска уязвимостей и многого другого.
HaxUnit ориентирован на простоту и стремится быть лучшим и наиболее полным решением для оценки веб-безопасности.
Для надежной установки рекомендуется использовать HaxUnit с Docker Compose.
Первоначальная настройка может занять несколько минут:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example в .env и заполните API-ключи.ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
chmod +x rebuild-compose.sh open-bash.sh
./rebuild-compose.sh
После успешного завершения установки вы окажетесь внутри Docker-контейнера, готового к запуску HaxUnit:
🎉 Установка завершена! 🎉
HaxUnit теперь готов к работе!
Время находить уязвимости и исправлять их как профессионал! 🕵️♂️🔍
🚀 Для запуска сканирования выполните следующую команду:
haxunit -d <domain>
Всё, теперь вы готовы начать сканирование доменов с помощью HaxUnit!
Чтобы открыть bash-оболочку внутри контейнера HaxUnit, выполните следующую команду:
./open-bash.sh
Убедитесь, что на вашей системе установлено следующее программное обеспечение:
python3 (>=3.10)go (>=1.22)docker.io (>=20.10.7)Клонируйте репозиторий:
Откройте терминал и выполните следующую команду, чтобы клонировать репозиторий и перейти в директорию проекта:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
Установите python3.11-venv (при необходимости):
Если у вас не установлен модуль venv, возможно, вам потребуется его установить. Выполните одну из следующих команд в зависимости от версии Python:
sudo apt update
sudo apt install python3.11-venv
Или для Python 3.10:
sudo apt update
sudo apt install python3.10-venv
Создайте виртуальное окружение:
Создайте виртуальное окружение с именем haxunit-venv:
python3 -m venv haxunit-venv
Активируйте виртуальное окружение:
Активируйте виртуальное окружение с помощью следующей команды:
source haxunit-venv/bin/activate
Примечание: чтобы деактивировать виртуальное окружение позже, просто выполните deactivate.
Если всё установлено правильно, вы должны увидеть следующий вывод:
[HaxUnit] [Init] All tools are successfully installed - good luck!
Процесс установки теперь использует pdtm (ProjectDiscovery Tool Manager) для эффективного управления инструментами и включает интеллектуальные проверки, чтобы избежать повторной установки уже имеющихся инструментов.
haxunit -h
Эта команда отобразит справку по инструменту. Ниже перечислены все поддерживаемые флаги.
usage: main.py [-h] [-d DOMAIN] [-m {quick,extensive}] [-v] [-b BIN] [-is ISERVER] [-it ITOKEN] [-acu] [-y] [-u] [-i] [--wpscan-api-token WPSCAN_API_TOKEN]
[--use-notify] [--cloud-upload] [--htb] [--fuzz] [--use-gpt] [--skip-installers]
HaxUnit - Web Domain Reconnaissance Tool
optional arguments:
-h, --help показать это справочное сообщение и выйти
-d DOMAIN, --domain DOMAIN
веб-сайт для разведки: example.com
-m {quick,extensive}, --mode {quick,extensive}
установить режим сканирования
-v, --verbose выводить больше информации
-b BIN, --bin BIN указать, какой python bin использовать
-is ISERVER, --iserver ISERVER
URL interactsh сервера для самостоятельного экземпляра
-it ITOKEN, --itoken ITOKEN
токен аутентификации для самостоятельного interactsh сервера
-acu, --use-acunetix Включить интеграцию с Acunetix
-y, --yes автоматический ответ "да" на все запросы
-u, --update обновить все инструменты
-i, --install установить все инструменты
--wpscan-api-token WPSCAN_API_TOKEN
API-токен WPScan для отображения данных об уязвимостях
--use-notify запустить уведомление по завершении
--cloud-upload загрузить результаты в облако ProjectDiscovery
--htb режим HackTheBox
--fuzz включить фаззинг с ffuf
--use-gpt включить GPT-предложения
--skip-installers пропустить проверки установки инструментов
Выполнить быстрое сканирование example.com:
haxunit -d example.com
Выполнить быстрое сканирование example.com с автоматическим согласием на добавление доменов по умолчанию:
haxunit -d example.com -y
Выполнить расширенное сканирование example.com с использованием Acunetix и загрузкой результатов в облако ProjectDiscovery:
haxunit -d example.com -m extensive --use-acunetix --cloud-upload
Пропустить проверки установки для более быстрого запуска (когда вы знаете, что инструменты установлены):
haxunit -d example.com --skip-installers
Результаты сканирования будут сохранены в следующей структуре каталогов:
scans/
└── example.com/
└── timestamp/
Замените example.com на ваш целевой домен, а timestamp на дату и время проведения сканирования.
Эта структура организует результаты сканирования в хронологическом порядке в соответствующей папке домена внутри каталога scans.
Этот репозиторий включает пример DAG для Apache Airflow, который автоматизирует процесс сканирования HaxUnit.
dags вашей установки Apache Airflow. git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example в .env и заполните API-ключи.ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
notify-config.yaml.example в notify-config.yaml.Пример конфигурации для уведомлений в Slack:
slack:
- id: "slack"
slack_channel: "automated-pentest"
slack_username: "HackerBot"
slack_format: "{{data}}"
slack_webhook_url: "https://hooks.slack.com/services/XXXXX"
Настройте DAG:
Переименуйте dags.py.example в dags.py и настройте его в соответствии с вашими потребностями.
Не забудьте использовать --use-notify для включения уведомлений.
Соберите и запустите HaxUnit:
После настройки параметров уведомлений соберите и запустите HaxUnit следующей командой:
chmod +x rebuild-compose.sh && ./rebuild-compose.sh
Выполнив эти шаги, вы сможете автоматизировать свои пентесты с помощью Apache Airflow. Наслаждайтесь упрощённым процессом!
HaxUnit использует REST API Acunetix для автоматического создания групп и запуска сканирований.
Чтобы сгенерировать API-ключ, посетите Страницу профиля.
Вставьте API-ключ в файл .env.
ACUNETIX_API_KEY=
Пересоберите docker compose, чтобы применить изменения:
./rebuild-compose.sh
Чтобы запустить HaxUnit с Acunetix, используйте следующую команду:
haxunit -d example.com --use-acunetix
Чтобы установить Acunetix, выполните следующую команду:
bash <(wget -qO- https://raw.githubusercontent.com/Bandit-HaxUnit/acu/main/install.sh)
Это загрузит и установит контейнер Acunetix.
После завершения установки вы можете начать использовать Acunetix с HaxUnit.
Acunetix доступен по адресу https://localhost:3443.
Username: [email protected]
Password: [email protected]
Установите необходимые пакеты:
В активированном виртуальном окружении установите необходимые пакеты:
python3 -m pip install -r requirements.txt
Запустите скрипт установки:
Наконец, запустите основной скрипт с флагом --install:
python3 main.py --install
| Функция | Тип | Описание |
|---|
| dnsx_subdomains | Обнаружение поддомов | Использует dnsx для поиска поддомов и брутфорса поддомов |
| subfinder | Обнаружение поддомов | Использует subfinder для поиска поддомов |
| chaos | Обнаружение поддомов | Запрос базы Chaos от ProjectDiscovery для пассивного перечисления поддомов |
| subwiz | Обнаружение поддомов | Прогнозирование поддомов с помощью ИИ на основе машинного обучения |
| katana | Сканирование | Собирает все URL-адреса из списка поддомов и парсит домен с помощью unfurl |
| alterx | Перестановка поддомов | Генерирует и тестирует перестановки поддомов |
| dnsx_ips | Получение IP-адресов | Использует dnsx для получения A-записей |
| naabu | Обнаружение сканирования портов | Запускает naabu на списке поддомов, используя список распространённых портов для обнаружения HTTP-сервисов |
| httpx | Проверка поддомов | Проверяет все найденные поддомы на активность |
| wpscan | Сканер уязвимостей | Сканер безопасности WordPress |
| acunetix | Сканер уязвимостей | Автоматически создаёт группу для сайта и запускает сканирование поддомов для поиска уязвимостей |
| nuclei | Сканер уязвимостей | Использует все найденные активные поддомы для поиска уязвимостей |