
Ferramenta automatizada de reconhecimento de domínios web e avaliação de segurança que integra enumeração de subdomínios, varredura de portas, varredura de vulnerabilidades e descoberta com inteligência artificial para fluxos de trabalho de teste de penetração.
Introdução • Instalação • Uso • Executando o HaxUnit • Funções
HaxUnit é uma ferramenta abrangente de reconhecimento e avaliação de segurança baseada em Python para domínios web. Ela integra diversas ferramentas para enumeração de subdomínios, varredura de portas, varredura de vulnerabilidades e muito mais.
HaxUnit foca na simplicidade e visa ser a melhor e mais completa solução para avaliações de segurança web.
Para uma instalação confiável, é recomendado usar o HaxUnit com Docker Compose.
Esta configuração inicial pode levar alguns minutos:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example para .env e preencha as chaves de 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
Quando a instalação for concluída com sucesso, você estará dentro do container Docker, pronto para executar o HaxUnit:
🎉 Installation Complete! 🎉
HaxUnit is now ready to rock!
Time to find those vulnerabilities and patch them like a pro! 🕵️♂️🔍
🚀 To start scanning, run the following command:
haxunit -d <domain>
É isso, você está pronto para começar a escanear domínios com o HaxUnit!
Para abrir um shell bash dentro do container HaxUnit, execute o seguinte comando:
./open-bash.sh
Certifique-se de ter o seguinte software instalado no seu sistema:
python3 (>=3.10)go (>=1.22)docker.io (>=20.10.7)Clone o Repositório:
Abra um terminal e execute o seguinte comando para clonar o repositório e navegar até o diretório do projeto:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
Instale o python3.11-venv (se necessário):
Se você não tiver o módulo venv instalado, talvez seja necessário instalá-lo. Execute um dos seguintes comandos dependendo da sua versão do Python:
sudo apt update
sudo apt install python3.11-venv
Ou para Python 3.10:
sudo apt update
sudo apt install python3.10-venv
Crie um Ambiente Virtual:
Crie um ambiente virtual chamado haxunit-venv:
python3 -m venv haxunit-venv
Ative o Ambiente Virtual:
Ative o ambiente virtual usando o seguinte comando:
source haxunit-venv/bin/activate
Nota: Para desativar o ambiente virtual mais tarde, você pode simplesmente executar deactivate.
Se tudo estiver instalado corretamente, você verá a seguinte saída:
[HaxUnit] [Init] All tools are successfully installed - good luck!
O processo de instalação agora usa o pdtm (ProjectDiscovery Tool Manager) para gerenciamento eficiente de ferramentas e inclui verificações inteligentes para evitar reinstalação de ferramentas já presentes.
haxunit -h
Isso exibirá a ajuda para a ferramenta. Aqui estão todas as opções suportadas.
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 show this help message and exit
-d DOMAIN, --domain DOMAIN
the website to recon: example.com
-m {quick,extensive}, --mode {quick,extensive}
set scan mode
-v, --verbose print more information
-b BIN, --bin BIN set which python bin to use
-is ISERVER, --iserver ISERVER
interactsh server URL for self-hosted instance
-it ITOKEN, --itoken ITOKEN
authentication token for self-hosted interactsh server
-acu, --use-acunetix Enable Acunetix integration
-y, --yes yes to all prompts
-u, --update update all tools
-i, --install install all tools
--wpscan-api-token WPSCAN_API_TOKEN
The WPScan API Token to display vulnerability data
--use-notify Run notify on completion
--cloud-upload Upload results to ProjectDiscovery cloud
--htb HackTheBox mode
--fuzz Enable ffuf fuzzing
--use-gpt Enable GPT suggestions
--skip-installers Skip tool installation checks
Execute uma varredura rápida em example.com:
haxunit -d example.com
Execute uma varredura rápida em example.com dizendo sim para adicionar domínios por padrão:
haxunit -d example.com -y
Execute uma varredura extensiva em example.com usando Acunetix e enviando resultados para a nuvem do ProjectDiscovery:
haxunit -d example.com -m extensive --use-acunetix --cloud-upload
Pule as verificações de instalação para inicialização mais rápida (quando você sabe que as ferramentas estão instaladas):
haxunit -d example.com --skip-installers
Os resultados da varredura serão salvos na seguinte estrutura de diretórios:
scans/
└── example.com/
└── timestamp/
Substitua example.com pelo seu domínio alvo e timestamp pela data e hora em que a varredura foi realizada.
Esta estrutura organiza os resultados cronologicamente sob a respectiva pasta de domínio dentro do diretório scans.
Este repositório inclui um exemplo de DAG do Apache Airflow que automatiza o processo de varredura do HaxUnit.
dags da sua instalação do Apache Airflow. git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example para .env e preencha as chaves de API.ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
notify-config.yaml.example para notify-config.yaml.Exemplo de configuração para notificações no Slack:
slack:
- id: "slack"
slack_channel: "automated-pentest"
slack_username: "HackerBot"
slack_format: "{{data}}"
slack_webhook_url: "https://hooks.slack.com/services/XXXXX"
Configure o DAG:
Renomeie dags.py.example para dags.py e configure conforme sua necessidade.
Não se esqueça de usar --use-notify para habilitar notificações.
Construa e Execute o HaxUnit:
Após configurar as notificações, construa e execute o HaxUnit com o seguinte comando:
chmod +x rebuild-compose.sh && ./rebuild-compose.sh
Seguindo esses passos, você pode agora automatizar seus pentests usando Apache Airflow. Aproveite o processo simplificado!
O HaxUnit utiliza a REST API do Acunetix para automatizar a criação de grupos e iniciar varreduras.
Para gerar uma chave de API, visite Página de Perfil.
Insira a chave de API no arquivo .env.
ACUNETIX_API_KEY=
Reconstrua o docker compose para aplicar as alterações:
./rebuild-compose.sh
Para executar o HaxUnit com o Acunetix, use o seguinte comando:
haxunit -d example.com --use-acunetix
Para instalar o Acunetix, execute o seguinte comando:
bash <(wget -qO- https://raw.githubusercontent.com/Bandit-HaxUnit/acu/main/install.sh)
Isto irá baixar e instalar o container Acunetix.
Quando a instalação estiver completa, você pode começar a usar o Acunetix com o HaxUnit.
O Acunetix pode ser acessado em https://localhost:3443.
Username: [email protected]
Password: [email protected]
Instale os Pacotes Necessários:
Com o ambiente virtual ativado, instale os pacotes necessários:
python3 -m pip install -r requirements.txt
Execute o Script de Instalação:
Por fim, execute o script principal com a flag --install:
python3 main.py --install
| Função | Tipo | Descrição |
|---|
| dnsx_subdomains | Descoberta de subdomínios | Use dnsx para encontrar subdomínios e fazer bruteforce de subdomínios |
| subfinder | Descoberta de subdomínios | Use subfinder para encontrar subdomínios |
| chaos | Descoberta de subdomínios | Consulte o banco de dados Chaos do ProjectDiscovery para enumeração passiva de subdomínios |
| subwiz | Descoberta de subdomínios | Previsão de subdomínios com IA usando aprendizado de máquina |
| katana | Crawling | Colete todas as URLs da lista de subdomínios e analise o domínio usando unfurl |
| alterx | Permutação de subdomínios | Gere e teste permutações de subdomínios |
| dnsx_ips | Buscar endereços IP | Use dnsx para buscar registros A |
| naabu | Descoberta de varredura de portas | Execute naabu na lista de subdomínios usando uma lista de portas comuns para descobrir serviços HTTP |
| httpx | Validação de subdomínios | Verifique todos os subdomínios encontrados se estão ativos |
| wpscan | Scanner de vulnerabilidades | Scanner de Segurança WordPress |
| acunetix | Scanner de vulnerabilidades | Cria automaticamente um grupo para o site e inicia varreduras dos subdomínios para encontrar vulnerabilidades |
| nuclei | Scanner de vulnerabilidades | Usa todos os subdomínios ativos encontrados para procurar por vulnerabilidades |