Hydra

<aside> ⭐ Hydra es una herramienta de password auditing y brute force para múltiples servicios de red. Se utiliza para pruebas autorizadas de seguridad, validación de credenciales y auditorías controladas. Soporta, entre otros, SSH y varios módulos HTTP como HTTP(S)-GET, HTTP(S)-FORM-GET y HTTP(S)-FORM-POST. (kali.org)

</aside>

Instalación y verificación rápida

En Kali Linux, Hydra está disponible como paquete hydra y se puede instalar con:

sudo apt install hydra

Para revisar la sintaxis y los módulos disponibles:

hydra -h

<aside> ✅ Usa -V para ver cada intento, -f para detenerte al encontrar credenciales válidas y -t para ajustar el número de hilos. En la documentación de Kali, -t aparece como TASKS dentro de la sintaxis general de Hydra. (kali.org)

</aside>

Parámetros útiles

Opción Descripción
-l <usuario> Usuario único
-L <archivo> Lista de usuarios
-p <password> Contraseña única
-P <archivo> Lista de contraseñas
-t <n> Número de hilos / tareas
-V Muestra intentos en tiempo real
-f Se detiene al encontrar una credencial válida
-s <puerto> Define un puerto no estándar
ssh://host[:puerto] Formato recomendado para el servicio SSH
http-get Módulo para autenticación HTTP básica o endpoint GET
http-get-form Módulo para formularios web con método GET
http-post-form Módulo para formularios web con método POST

<aside> 💡 La forma general de uso de Hydra es:

hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [-m MODULE_OPT] [service://server[:PORT][/OPT]]

Esto coincide con la documentación de Kali para Hydra. (kali.org)

</aside>

Ejemplos

SSH: brute force al usuario root

hydra -l root -P /usr/share/seclists/Passwords/xato-net-10-million-passwords.txt ssh://IP:PUERTO -t 2 -v

<aside> ⚠️ En muchas distribuciones la ruta correcta del wordlist es seclists con s minúscula: /usr/share/seclists/... o /usr/share/wordlists/..., según la instalación. Conviene verificar la ruta antes de ejecutar el comando.

</aside>

Notas del comando: