
Herramienta automatizada de reconocimiento de dominios web y evaluación de seguridad que integra enumeración de subdominios, escaneo de puertos, escaneo de vulnerabilidades y descubrimiento impulsado por IA para flujos de trabajo de pruebas de penetración.
Introducción • Instalación • Uso • Ejecutando HaxUnit • Funciones
HaxUnit es una herramienta integral de reconocimiento y evaluación de seguridad para dominios web basada en Python. Integra diversas herramientas para enumeración de subdominios, escaneo de puertos, escaneo de vulnerabilidades y más.
HaxUnit se centra en la simplicidad y tiene como objetivo ser la mejor y más completa solución para evaluaciones de seguridad web.
Para una instalación confiable, se recomienda usar HaxUnit con Docker Compose.
Esta configuración inicial puede tardar unos minutos:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example a .env y completa las claves 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
Una vez que la instalación se complete exitosamente, estarás dentro del contenedor Docker, listo para ejecutar HaxUnit:
🎉 ¡Instalación completa! 🎉
¡HaxUnit está listo para funcionar!
¡Hora de encontrar esas vulnerabilidades y parchearlas como un profesional! 🕵️♂️🔍
🚀 Para empezar a escanear, ejecuta el siguiente comando:
haxunit -d <dominio>
¡Eso es todo, ya estás listo para empezar a escanear dominios con HaxUnit!
Para abrir una shell bash dentro del contenedor de HaxUnit, ejecuta el siguiente comando:
./open-bash.sh
Asegúrate de tener el siguiente software instalado en tu sistema:
python3 (>=3.10)go (>=1.22)docker.io (>=20.10.7)Clonar el repositorio:
Abre una terminal y ejecuta el siguiente comando para clonar el repositorio y navegar al directorio del proyecto:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
Instalar python3.11-venv (si es necesario):
Si no tienes instalado el módulo venv, es posible que necesites instalarlo. Ejecuta uno de los siguientes comandos según tu versión de Python:
sudo apt update
sudo apt install python3.11-venv
O para Python 3.10:
sudo apt update
sudo apt install python3.10-venv
Crear un entorno virtual:
Crea un entorno virtual llamado haxunit-venv:
python3 -m venv haxunit-venv
Activar el entorno virtual:
Activa el entorno virtual usando el siguiente comando:
source haxunit-venv/bin/activate
Nota: Para desactivar el entorno virtual más tarde, simplemente ejecuta deactivate.
Si todo se instala correctamente, deberías ver la siguiente salida:
[HaxUnit] [Init] All tools are successfully installed - good luck!
El proceso de instalación ahora usa pdtm (ProjectDiscovery Tool Manager) para la gestión eficiente de herramientas e incluye comprobaciones inteligentes para evitar reinstalar herramientas ya presentes.
haxunit -h
Esto mostrará la ayuda de la herramienta. Aquí están todos los interruptores que soporta.
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
Ejecuta un escaneo rápido en example.com:
haxunit -d example.com
Ejecuta un escaneo rápido en example.com diciendo que sí a agregar dominios por defecto:
haxunit -d example.com -y
Ejecuta un escaneo extenso en example.com usando Acunetix y subiendo resultados a la nube de ProjectDiscovery:
haxunit -d example.com -m extensive --use-acunetix --cloud-upload
Omite las comprobaciones de instalación para un inicio más rápido (cuando sabes que las herramientas están instaladas):
haxunit -d example.com --skip-installers
Los resultados del escaneo se guardarán en la siguiente estructura de directorios:
scans/
└── example.com/
└── timestamp/
Reemplaza example.com con tu dominio objetivo y timestamp con la fecha y hora en que se realizó el escaneo.
Esta estructura organiza los resultados del escaneo cronológicamente dentro de la carpeta del dominio respectivo en el directorio scans.
Este repositorio incluye un DAG de ejemplo de Apache Airflow que automatiza el proceso de escaneo de HaxUnit.
dags de tu instalación de Apache Airflow. git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example a .env y completa las claves API.ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
notify-config.yaml.example a notify-config.yaml.Ejemplo de configuración para notificaciones de Slack:
slack:
- id: "slack"
slack_channel: "automated-pentest"
slack_username: "HackerBot"
slack_format: "{{data}}"
slack_webhook_url: "https://hooks.slack.com/services/XXXXX"
Configurar el DAG:
Renombra dags.py.example a dags.py y configúralo según tus necesidades.
No olvides usar --use-notify para habilitar las notificaciones.
Construir y ejecutar HaxUnit:
Después de configurar las notificaciones, construye y ejecuta HaxUnit con el siguiente comando:
chmod +x rebuild-compose.sh && ./rebuild-compose.sh
Siguiendo estos pasos, ahora puedes automatizar tus pentests usando Apache Airflow. ¡Disfruta del proceso optimizado!
HaxUnit utiliza la API REST de Acunetix para automatizar la creación de grupos e iniciar escaneos.
Para generar una clave API, visita Página de perfil.
Inserta la clave API en el archivo .env.
ACUNETIX_API_KEY=
Reconstruye docker compose para aplicar los cambios:
./rebuild-compose.sh
Para ejecutar HaxUnit con Acunetix, usa el siguiente comando:
haxunit -d example.com --use-acunetix
Para instalar Acunetix, ejecuta el siguiente comando:
bash <(wget -qO- https://raw.githubusercontent.com/Bandit-HaxUnit/acu/main/install.sh)
Esto descargará e instalará el contenedor de Acunetix.
Una vez que la instalación esté completa, puedes empezar a usar Acunetix con HaxUnit.
Se puede acceder a Acunetix en https://localhost:3443.
Username: [email protected]
Password: [email protected]
Instalar los paquetes requeridos:
Con el entorno virtual activado, instala los paquetes necesarios:
python3 -m pip install -r requirements.txt
Ejecutar el script de instalación:
Finalmente, ejecuta el script principal con la bandera --install:
python3 main.py --install
| Función | Tipo | Descripción |
|---|
| dnsx_subdomains | Descubrimiento de subdominios | Usa dnsx para encontrar subdominios y realizar fuerza bruta de subdominios |
| subfinder | Descubrimiento de subdominios | Usa subfinder para encontrar subdominios |
| chaos | Descubrimiento de subdominios | Consulta la base de datos Chaos de ProjectDiscovery para enumeración pasiva de subdominios |
| subwiz | Descubrimiento de subdominios | Predicción de subdominios impulsada por IA usando aprendizaje automático |
| katana | Rastreo | Recolecta todas las URL de la lista de subdominios y parsea el dominio usando unfurl |
| alterx | Permutación de subdominios | Genera y prueba permutaciones de subdominios |
| dnsx_ips | Obtener direcciones IP | Usa dnsx para obtener registros A |
| naabu | Descubrimiento de puertos | Ejecuta naabu en la lista de subdominios usando una lista de puertos comunes para descubrir servicios HTTP |
| httpx | Validación de subdominios | Verifica si todos los subdominios encontrados están activos |
| wpscan | Escáner de vulnerabilidades | Escáner de seguridad de WordPress |
| acunetix | Escáner de vulnerabilidades | Crea automáticamente un grupo para el sitio e inicia escaneos de los subdominios para encontrar vulnerabilidades |
| nuclei | Escáner de vulnerabilidades | Usa todos los subdominios activos encontrados para buscar vulnerabilidades |