Herramienta25 de mayo de 20267 min de lectura

Hydra: fuerza bruta de credenciales

Hydra ataca servicios en ejecución —SSH, FTP, formularios web y más— probando combinaciones de credenciales en paralelo. Sintaxis completa, módulo http-post-form paso a paso y cheatsheet de los comandos más usados en CTFs.


Hydra es la herramienta de referencia para ataques de fuerza bruta en línea. A diferencia de herramientas como John the Ripper o Hashcat —que trabajan contra hashes almacenados en un archivo (offline)—, Hydra ataca servicios en ejecución: envía combinaciones de usuario y contraseña directamente contra SSH, FTP, formularios web y decenas de protocolos más, analizando la respuesta para determinar si ha tenido éxito.

Si ya tienes identificado un servicio de autenticación y una wordlist, Hydra es el paso natural.


Sintaxis general

hydra [opciones de usuario] [opciones de contraseña] [IP o URL] [servicio] [opciones extra]

Parámetros esenciales

ParámetroDescripción
-l <usuario>Un único nombre de usuario conocido
-L <archivo>Lista de usuarios (wordlist)
-p <contraseña>Una única contraseña a probar
-P <archivo>Lista de contraseñas (ej. rockyou.txt)
-t <n>Número de hilos paralelos (por defecto: 16)
-s <puerto>Puerto no estándar
-vVModo verbose: muestra cada intento en tiempo real
-fPara en cuanto encuentra la primera credencial válida

SSH

El protocolo SSH gestiona el acceso remoto seguro. Corre en el puerto 22 por defecto.

hydra -l molly -P /usr/share/wordlists/rockyou.txt ssh://10.10.10.5

Si el servidor SSH usa un puerto distinto:

hydra -l admin -P /usr/share/wordlists/rockyou.txt -s 2222 ssh://10.10.10.5

En entornos de laboratorio con muchas conexiones simultáneas, reduce los hilos a -t 4 si obtienes errores de conexión intermitentes.


FTP

FTP gestiona la transferencia de archivos. Corre en el puerto 21 por defecto.

hydra -l usuario -P /usr/share/wordlists/rockyou.txt ftp://10.10.10.5

Igual que con SSH, si el servicio FTP es lento o tiene límites de conexión, reduce hilos:

hydra -l usuario -P /usr/share/wordlists/rockyou.txt -t 4 ftp://10.10.10.5

Formularios web (HTTP POST)

Esta es la parte más compleja y la más frecuente en CTFs. Para atacar un formulario de login web, Hydra necesita tres cosas:

  1. La URL del endpoint de login (ej. /login.php)
  2. Los parámetros del cuerpo de la petición POST
  3. El mensaje de error que aparece cuando las credenciales son incorrectas

Cómo obtener esa información

  1. Abre las Developer Tools (F12) en el navegador → pestaña Network.
  2. Intenta loguearte con credenciales falsas.
  3. Busca la petición POST generada y copia el Request Payload (cuerpo de la petición).
  4. Identifica en la página el texto que aparece cuando fallas (ej. "Username or password invalid").

Sintaxis del módulo http-post-form

El argumento es una cadena dividida en tres partes separadas por ::

"<url>:<cuerpo_peticion>:<mensaje_fallo>"

Hydra sustituye ^USER^ y ^PASS^ en cada intento. El prefijo F= le indica que esa cadena señala fallo (si la encuentra en la respuesta, el intento fue incorrecto; si no la encuentra, asume éxito).

Comando completo:

hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.10.5 http-post-form \
  "/login.php:username=^USER^&password=^PASS^&Login=Login:F=Username or password invalid"

Desglose:

FragmentoSignificado
/login.phpRuta donde se envían los datos del formulario
username=^USER^&password=^PASS^&Login=LoginParámetros POST con los marcadores de Hydra
F=Username or password invalidSi esta cadena aparece en la respuesta → intento fallido

Si el servidor usa HTTPS

Sustituye el módulo por https-post-form:

hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.10.5 https-post-form \
  "/login:user=^USER^&pass=^PASS^:F=Invalid credentials"

Otros protocolos soportados

Hydra no se limita a SSH, FTP y HTTP. Algunos de los más comunes en entornos reales y CTFs:

ProtocoloMódulo HydraPuerto por defecto
SSHssh22
FTPftp21
HTTP POSThttp-post-form80
HTTPS POSThttps-post-form443
SMBsmb445
RDPrdp3389
MySQLmysql3306
PostgreSQLpostgres5432
Telnettelnet23
SNMPsnmp161

Para ver todos los módulos disponibles:

hydra -U http-post-form   # Ayuda detallada del módulo

Wordlists: dónde encontrarlas

La wordlist más usada en CTFs es rockyou.txt, incluida en Kali Linux:

/usr/share/wordlists/rockyou.txt

Si está comprimida:

gunzip /usr/share/wordlists/rockyou.gz

Para nombres de usuario, SecLists ofrece listas específicas por contexto:

/usr/share/seclists/Usernames/top-usernames-shortlist.txt
/usr/share/seclists/Usernames/xato-net-10-million-usernames.txt

Cheatsheet rápida

# SSH — usuario conocido, wordlist de contraseñas
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://10.10.10.5

# SSH — lista de usuarios y lista de contraseñas
hydra -L users.txt -P /usr/share/wordlists/rockyou.txt ssh://10.10.10.5

# FTP — reducir hilos para servidores lentos
hydra -l usuario -P /usr/share/wordlists/rockyou.txt -t 4 ftp://10.10.10.5

# FTP — puerto no estándar
hydra -l usuario -P /usr/share/wordlists/rockyou.txt -s 2121 ftp://10.10.10.5

# Web form (HTTP POST)
hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.10.5 http-post-form \
  "/login.php:username=^USER^&password=^PASS^:F=Invalid credentials"

# Web form (HTTPS POST)
hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.10.5 https-post-form \
  "/login:user=^USER^&pass=^PASS^:F=Invalid credentials"

# Parar al primer éxito, verbose total
hydra -l admin -P rockyou.txt -f -vV ssh://10.10.10.5

# Ver ayuda de un módulo específico
hydra -U http-post-form
Tiempo en página 0:00Lectura estimada: 7 min

Posts relacionados

Herramienta

Burp Suite para principiantes: intercepta, modifica y explota tráfico web

Burp Suite es el proxy estándar para web hacking. Aprende a configurarlo, interceptar tráfico HTTPS, usar el Repeater para probar payloads manualmente y el Intruder para automatizar ataques.

27 de abril de 20269 min
Técnico

Nmap: guía completa de escaneo de redes

Nmap centralizado: descubrimiento de hosts, tipos de escaneo TCP/UDP, detección de versiones y SO, control de timing y exportación de resultados. Todo lo que necesitas para la fase de enumeración.

16 de abril de 20267 min
Herramienta

Introducción a Sublist3r: enumeración de subdominios

Sublist3r es una herramienta Python para enumerar subdominios usando múltiples motores de búsqueda y servicios como VirusTotal o DNSdumpster. Instalación, opciones y ejemplos de uso.

10 de diciembre de 20255 min