Saltar al contenido

Hydra: fuerza bruta de servicios de red paso a paso

    Hydra:

    fuerza bruta de servicios de red paso a paso

    Herramientas de Kali Linux  |  unfantasmaenelsistema.com

    En el artículo sobre Hashcat vimos el descifrado de contraseñas offline: alguien tiene una lista de hashes y prueba millones de candidatos por segundo en su propia máquina, sin que el sistema atacado se entere. Hydra hace lo contrario: fuerza bruta online, probando usuario y contraseña directamente contra un servicio en marcha —SSH, un panel web, un servidor de correo— una petición cada vez, por la red.

    Ese cambio de escenario lo cambia casi todo. Online eres lento, ruidoso y dependes de que el servicio te deje seguir intentándolo. Por eso Hydra es tan útil para entender el ataque como para diseñar la defensa: casi todas las contramedidas que un administrador puede aplicar —bloqueo de cuenta, fail2ban, límites de tasa, MFA, alertas en el SIEM— están pensadas precisamente para que una herramienta como esta no llegue a ninguna parte. Este artículo mira las dos caras.

    Qué aprenderás en este artículo

    La diferencia real entre fuerza bruta online y offline, y por qué importa · Qué servicios ataca Hydra y cómo es su sintaxis básica · Cómo se construyen y eligen las listas de usuarios y contraseñas · Por qué el paralelismo (-t) y el throttling determinan si te detectan · Cómo se detecta y se frena este ataque: la parte que de verdad importa

    Uso legal y responsable

    Lanzar fuerza bruta contra un servicio que no es tuyo y sin autorización expresa y por escrito es un delito de acceso ilícito a sistemas informáticos (en España, arts. 197 bis y 264 del Código Penal), aunque no llegues a adivinar ninguna credencial · Todos los ejemplos de este artículo apuntan a 192.168.56.x, el rango del laboratorio aislado que usamos en la serie: máquinas virtuales propias, sin salida a internet · Contra servicios reales —incluso «para probar»— el intento ya genera responsabilidad; además, un bloqueo masivo de cuentas es una denegación de servicio en sí misma

    1. Online frente a offline: dos ataques distintos

    Un ataque offline trabaja sobre material ya robado —normalmente hashes de una base de datos filtrada— en el equipo del atacante. No hay límite de velocidad más allá del hardware, no hay nadie vigilando, y la única defensa posible es que la contraseña sea fuerte y el hash se guardara con un KDF lento. Es lo que cubre Hashcat.

    Un ataque online como el de Hydra prueba credenciales contra el servicio vivo. Cada intento es una conexión de red completa: negociación, autenticación, respuesta. Eso impone tres límites que el atacante no controla y el defensor sí.

    Offline (Hashcat)Online (Hydra)
    Qué necesita el atacanteLos hashes ya extraídosSolo conectividad con el servicio
    VelocidadMiles de millones/s en GPUDe unas pocas a decenas por segundo
    ¿Deja rastro en la víctima?NingunoUn registro por cada intento
    Defensa principalKDF lento + contraseña largaBloqueo, rate limiting, MFA, monitorización
    ¿La frena el servidor?No puedeSí, y con facilidad

    La lectura para el defensor es cómoda: la fuerza bruta online es de los ataques más fáciles de detectar y cortar que existen. Si tiene éxito, casi siempre es por una contraseña por defecto o trivial y por la ausencia total de controles, no por la potencia del atacante.

    2. Qué es Hydra y qué ataca

    Hydra (o thc-hydra) es un paralelizador de intentos de login que sabe «hablar» decenas de protocolos de autenticación. Viene preinstalado en Kali. Su trabajo es simple: dada una lista de usuarios, una lista de contraseñas y un objetivo, prueba combinaciones en paralelo y avisa de las que el servicio acepta.

    • Acceso remoto: ssh, telnet, rdp, vnc
    • Web: http-get / http-post-form (formularios de login), http-head, y variantes con TLS
    • Correo: ftp, smtp, pop3, imap
    • Bases de datos: mysql, postgres, mssql, redis
    • Directorio y otros: ldap, smb, snmp

    El módulo de formulario web (http-post-form) es el más usado y el más delicado de configurar: hay que indicarle la ruta, los nombres de los campos, y una cadena que aparezca en la respuesta solo cuando el login falla, para que Hydra distinga acierto de error.

    3. Sintaxis básica

    La forma general combina credenciales (usuario y contraseña, cada uno como valor único -l/-p o como lista -L/-P), opciones de control, el objetivo y el módulo.

    # Estructura general
    hydra -L usuarios.txt -P passwords.txt <objetivo> <servicio> [opciones]
     
    # SSH contra una VM del laboratorio, usuario conocido, lista de contrasenas
    hydra -l pruebas -P passwords.txt ssh://192.168.56.101 -t 4
     
    # FTP con lista de usuarios y de contrasenas, parar al primer acierto por host
    hydra -L usuarios.txt -P passwords.txt ftp://192.168.56.102 -f
     
    # Formulario web POST (DVWA u otra app vulnerable del lab)
    hydra -l admin -P passwords.txt 192.168.56.103 http-post-form \
      "/login.php:user=^USER^&pass=^PASS^:F=Login failed" -t 4
    OpciónPara qué sirve
    -l / -LUn usuario / una lista de usuarios
    -p / -PUna contraseña / una lista de contraseñas
    -t NNúmero de intentos en paralelo (por defecto 16)
    -fDetenerse en cuanto encuentra una credencial válida
    -w NTiempo de espera por respuesta, en segundos
    -V / -vVMostrar cada intento (usuario:contraseña) por pantalla
    -o ficheroGuardar los aciertos en un archivo
    -s puertoPuerto no estándar del servicio

    El módulo http-post-form, campo a campo

    Se separa en tres partes con ‘:’ — ruta, cuerpo con ^USER^ y ^PASS^ como marcadores, y condición · F=texto indica una cadena presente cuando el login FALLA; S=texto una presente cuando ACIERTA · Elegir mal esa cadena es el error más común: Hydra da miles de falsos positivos o ninguno · Aplicaciones modernas con token CSRF, cookies de sesión o rate limiting rompen este módulo, que es justamente el punto: son defensas que funcionan

    4. Listas de usuarios y contraseñas

    Un ataque de diccionario vale lo que valen sus listas. La potencia bruta apenas importa cuando solo puedes hacer unos pocos intentos por segundo: lo que decide es el orden en que pruebas.

    4.1 Usuarios

    • Nombres genéricos: admin, administrator, root, user, test, guest, service
    • Convenciones de la organización: inicial+apellido, nombre.apellido, deducibles del formato del correo
    • Cuentas por defecto de cada producto (routers, cámaras, paneles): documentadas y públicas
    • SecLists (seclists/Usernames) reúne las listas de referencia que ya vienen en Kali

    4.2 Contraseñas

    • Contraseñas por defecto del fabricante — la primera causa real de éxito de estos ataques
    • Listas cortas y priorizadas (los top 100-1000 de filtraciones) antes que rockyou.txt entero: online no da tiempo a más
    • Variaciones estacionales y locales: nombre de la empresa, ciudad, año en curso, ‘Primavera2026’
    • Reglas de complejidad mal entendidas por los usuarios: ‘Empresa2026!’, ‘Password1’

    De dónde NO sacar listas

    Descargar «wordlists» de foros al azar es una vía habitual de introducir malware en tu propia máquina · Usa las que trae Kali (/usr/share/wordlists, SecLists) o repositorios reconocidos y verificables

    5. Paralelismo, ruido y por qué online es lento

    La opción -t fija cuántos intentos van en paralelo. Subirla acelera… hasta que el servicio se satura, empieza a rechazar conexiones, o directamente te bloquea. Y cada intento, en paralelo o no, queda escrito en algún registro.

    • SSH: valores altos de -t provocan errores de «too many authentication failures» y desconexiones; 4 suele ser el máximo práctico
    • Servicios web: un pico de POST a /login desde una sola IP es un patrón trivial de detectar
    • Bloqueo de cuenta: si el objetivo bloquea tras N fallos, un ataque de contraseñas contra un usuario deja esa cuenta inutilizada — molestia para el usuario y alarma para el SOC
    • Password spraying: la técnica que intenta esquivar el bloqueo probando una contraseña común contra muchos usuarios, despacio; sigue siendo visible si se monitoriza la tasa global de fallos

    Conclusión operativa: la fuerza bruta online «a saco» es de aficionado. Es lenta, se corta sola y se ve desde lejos. Su valor real hoy es didáctico y de verificación puntual en auditorías con permiso (¿siguen las credenciales por defecto?, ¿hay bloqueo de cuenta?).

    6. El otro lado: detección y mitigación

    Esta es la sección que justifica el artículo. Frente a la fuerza bruta online, el defensor tiene ventaja estructural: controla el servicio, ve todos los intentos y puede cortar por varios sitios a la vez.

    6.1 Prevención

    ControlQué consigue
    MFA / segundo factorAdivinar la contraseña ya no basta para entrar: anula el ataque
    Bloqueo temporal de cuentaCorta la fuerza bruta contra un usuario tras N fallos
    Rate limiting por IP y por cuentaFrena el volumen sin bloquear al usuario legítimo del todo
    Eliminar credenciales por defectoCierra la causa nº 1 de éxito real
    Contraseñas largas + comprobación contra listas filtradasSaca la contraseña del diccionario del atacante
    Exponer solo lo necesario (VPN, allowlist, cambiar de puerto)Reduce la superficie; el cambio de puerto es solo ruido, no defensa
    CAPTCHA / prueba de trabajo tras varios fallosRompe la automatización de formularios web

    6.2 Detección

    • Umbral de fallos de autenticación: muchos ‘failed login’ desde una IP en poco tiempo, o contra muchas cuentas — se mapea a MITRE ATT&CK T1110 (Brute Force)
    • Linux: líneas ‘Failed password’ y ‘Invalid user’ en /var/log/auth.log; Windows: Event ID 4625 (fallo) y picos anómalos de 4624/4740 (éxito / bloqueo)
    • fail2ban: lee esos registros y banea la IP en el firewall automáticamente tras X fallos; es la respuesta estándar en servidores Linux expuestos
    • Web: ratio de respuestas 401/403, o de 200 a /login con cuerpo de error, por IP y por minuto
    • Señal de éxito tras muchos fallos: un login correcto justo después de una ráfaga de fallos es más sospechoso que la ráfaga misma — hay que alertar sobre esa secuencia
    • User-Agent y cadencia: Hydra y similares tienen huellas de temporización muy regulares y cabeceras por defecto poco habituales
    # Contar intentos fallidos de SSH por IP (revision rapida en un servidor propio)
    grep 'Failed password' /var/log/auth.log | \
      awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head
     
    # Estado de fail2ban para el jail de SSH
    sudo fail2ban-client status sshd

    Checklist para un servicio expuesto a internet

    MFA obligatorio para todo acceso administrativo · Bloqueo de cuenta y/o rate limiting configurados y probados · fail2ban (o equivalente del WAF/proxy) activo sobre los registros de autenticación · Cero credenciales por defecto; inventario de cuentas de servicio revisado · Alertas en el SIEM por umbral de 4625 / ‘Failed password’ y por ‘éxito tras ráfaga de fallos’ · Acceso de gestión detrás de VPN o allowlist siempre que sea posible

    7. Practicar en el laboratorio

    La forma correcta de ver esto funcionar —por los dos lados— es montarlo en máquinas propias sin salida a internet.

    • Objetivos: Metasploitable 2, DVWA, o una VM Linux limpia a la que tú pongas un usuario con contraseña débil, todos en la red 192.168.56.x
    • Lanza Hydra con una lista corta que sepas que contiene la contraseña, y observa el intento en -vV
    • En paralelo, mira crecer /var/log/auth.log en la víctima: esa es la telemetría que vería un defensor
    • Activa fail2ban en la VM objetivo y repite: comprueba cómo el ataque se corta solo y tu IP queda baneada
    • Añade un segundo factor (por ejemplo con un PAM de TOTP) y comprueba que, aun acertando la contraseña, el acceso no se concede

    Recordatorio final

    Metasploitable y DVWA son deliberadamente vulnerables: nunca los expongas a una red con salida · Cualquier objetivo que no hayas creado tú necesita autorización escrita previa; sin ella, el intento ya es delito y un bloqueo masivo de cuentas es además una denegación de servicio

    Conclusión

    Hydra es una herramienta sencilla que enseña una lección doble. Por el lado ofensivo, deja claro que la fuerza bruta online es lenta, ruidosa y fácil de cortar: cuando funciona es por credenciales por defecto o triviales y por la ausencia de controles básicos, casi nunca por mérito del atacante.

    Por el lado defensivo, es un banco de pruebas perfecto: MFA, bloqueo de cuenta, rate limiting, fail2ban y una alerta de SIEM bien puesta convierten este ataque en un registro más y una IP baneada. Si administras un servicio expuesto, trata la sección 6 como tu lista de tareas.

    Referencias

    github.com/vanhauser-thc/thc-hydra — Repositorio oficial y lista de módulos soportados · github.com/danielmiessler/SecLists — Listas de usuarios y contraseñas de referencia · OWASP Authentication Cheat Sheet — Bloqueo de cuenta, rate limiting y buenas prácticas · MITRE ATT&CK T1110 — Brute Force: sub-técnicas y detecciones · Nuestro artículo sobre Hashcat, para el enfoque offline y los KDF lentos

    unfantasmaenelsistema.com | Seguridad, sistemas y todo lo que no debería funcionar (pero funciona)

    Resumen de privacidad

    Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.