
ReconHound es una herramienta de reconocimiento web basada en Python diseñada para probadores de penetración, cazadores de recompensas por errores y hackers éticos. Soporta enumeración de directorios y archivos, enumeración de subdominios, fuzzing y descubrimiento de hosts virtuales (vhost).
ReconHound es una herramienta de reconocimiento web basada en Python, diseñada para probadores de penetración, cazadores de recompensas por errores y hackers éticos. Ayuda a identificar rutas ocultas, archivos, subdominios, parámetros de consulta, hosts virtuales y puntos finales fuzzeables, lo que la convierte en una solución versátil para el reconocimiento web profundo.
Escaneo multihebra para enumeración web de alta velocidad
Soporta:
Descubrimiento de directorios y archivos
Enumeración de subdominios
Detección de hosts virtuales mediante cabecera Host
Fuzzing de parámetros de consulta
Fuzzing en cualquier lugar de la URL utilizando un marcador FUZZ personalizado
Guarda los resultados en formato JSON
Maneja interrupciones correctamente y guarda resultados parciales
ReconHound debe utilizarse de forma responsable y legal. El uso no autorizado de esta herramienta para escanear, fuzzear o probar sitios web sin permiso explícito es ilegal y poco ético. El autor no se responsabiliza por cualquier uso indebido o consecuencias legales derivadas del uso de esta herramienta.
1. Clonar el repositorio:
git clone https://gitlab.com/s_r_e_e_r_a_j/ReconHound.git
2. Navegar al directorio de ReconHound:
cd ReconHound
3. Instalar dependencias:
pip3 install -r requirements.txt
Nota para usuarios de Kali, Parrot, Ubuntu 23.04+, Arch Linux:
Si ves un error como:
error: externally-managed-environment
entonces usa:
pip3 install -r requirements.txt --break-system-packages
4. Ejecutar el script install.py para la instalación:
sudo python3 install.py
Luego escribe y para instalar
5. Ejecutar la herramienta
reconhound [options]
dir – Enumeración de directorios y archivos
| Opción | Descripción |
|---|---|
-u, --url | URL objetivo (ej., https://example.com) |
-w, --wordlist | Ruta al wordlist de directorios/archivos |
-e, --extensions | Extensiones de archivo separadas por comas (ej., .php,.html,.js)(opcional) |
-t, --threads | Número de hilos a usar (por defecto: 10)(opcional) |
-o, --output | Archivo para guardar los resultados (formato JSON, out.json)(opcional) |
Ejemplo:
reconhound dir -u https://example.com -w /path/to/wordlist/wordlist.txt -e .php,.html -t 20 -o /path/to/save/dir_results.json
sub – Enumeración de subdominios
| Opción | Descripción |
|---|---|
-d, --domain | Dominio objetivo (ej., example.com) |
-w, --wordlist | Ruta al wordlist de subdominios |
-t, --threads | Número de hilos a usar, por defecto 10(opcional) |
-o, --output | Archivo para guardar los resultados (formato JSON, out.json)(opcional) |
Ejemplo:
reconhound sub -d example.com -w /path/to/wordlist/wordlist.txt -t 30 -o /path/to/save/sub_results.json
vhost – Descubrimiento de hosts virtuales
| Opción | Descripción |
|---|---|
-i, --ip | Dirección IP objetivo (ej., 192.0.2.1)(IP del sitio web objetivo) |
-d, --domain | Nombre de dominio real usado en la cabecera Host (dominio del sitio web objetivo)(ej., "example.com") |
-w, --wordlist | Wordlist de hosts virtuales (ej., admin, dev, test) |
-t, --threads | Número de hilos a usar, por defecto:10 (opcional) |
-o, --output | Archivo para guardar los resultados (formato JSON, out.json)(opcional) |
Ejemplo:
reconhound vhost -i 192.0.2.1 --domain example.com -w /path/to/wordlist/wordlist.txt -t 25 -o /path/to/save/vhost_results.json
fuzz – Fuzzing de parámetros de consulta
| Opción | Descripción |
|---|---|
-u, --url | URL objetivo con FUZZ en el parámetro (ej., ?id=FUZZ) |
-p, --param | Nombre del parámetro a fuzzear (ej., id) |
-w, --wordlist | Wordlist de payloads a inyectar en el parámetro |
-t, --threads | Número de hilos a usar, por defecto:10 (opcional) |
-o, --output | Archivo para guardar los resultados (formato JSON, out.json)(opcional) |
Ejemplo:
reconhound fuzz -u "https://example.com/page.php?id=FUZZ" -p id -w /path/to/wordlist/wordlist.txt -t 20 -o /path/to/save/fuzz_results.json
reconhound fuzz -u "https://example.com/login?username=admin&password=FUZZ" -p password -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzz_results.json
fuzzany – Fuzzing en cualquier parte de la URL
| Opción | Descripción |
|---|---|
-u, --url | URL que contiene FUZZ en la ruta o consulta (ej., /FUZZ/login) |
-w, --wordlist | Wordlist para reemplazar FUZZ |
-t, --threads | Número de hilos a usar, por defecto:10(opcional) |
-o, --output | Archivo para guardar los resultados (formato JSON, out.json)(opcional) |
Ejemplo:
reconhound fuzzany -u "https://example.com/FUZZ/login" -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzzany_results.json
reconhound fuzzany -u "https://example.com?FUZZ=admin" -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzzany_results.json
reconhound fuzzany -u "https://example.com/login?username=admin&password=FUZZ" -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzzany_results.json
modo dir
reconhound dir --help
modo sub
reconhound sub --help
modo vhost
reconhound vhost --help
modo fuzz
reconhound fuzz --help
modo fuzzany
reconhound fuzzany --help
Ejecutar el script install.py
sudo python3 install.py
Luego escribe n para desinstalar
Este proyecto está licenciado bajo la Licencia MIT