Hydra es una de las herramientas de cracking de credenciales más potentes y versátiles disponibles en el mundo del pentesting. Desarrollada por van Hauser para el proyecto THC (The Hacker’s Choice), es una herramienta de fuerza bruta paralela que puede atacar múltiples protocolos de red y servicios de autenticación.
Hydra destaca por su:
Velocidad: Capacidad de ejecutar múltiples intentos en paralelo
Versatilidad: Soporta más de 50 protocolos y servicios
Eficiencia: Optimizado para realizar ataques de diccionario rápidos
Contextos de uso:
Pruebas de penetración legales
Auditorías de seguridad
Recuperación de credenciales olvidadas
Evaluación de políticas de contraseñas
Advertencia legal
El uso de Hydra para intentar acceder a sistemas sin autorización expresa puede ser ilegal. Siempre asegúrate de tener permiso por escrito para realizar pruebas en cualquier sistema.
Instalación
En distribuciones basadas en Debian:
sudo apt updatesudo apt install hydra hydra-gtk
En distribuciones basadas en Red Hat:
sudo dnf install hydra
En Arch Linux:
sudo pacman -S hydra
Desde código fuente:
git clone https://github.com/vanhauser-thc/thc-hydra.gitcd thc-hydra./configuremakesudo make install
Sintaxis Básica
La estructura general de comandos de Hydra es:
hydra [opciones] [-s PUERTO] OBJETIVO PROTOCOLO
Donde:
opciones: Parámetros para configurar el ataque
OBJETIVO: La dirección IP o nombre de host del objetivo
PROTOCOLO: El servicio a atacar (ssh, ftp, http-post-form, etc.)
Parámetros fundamentales:
Parámetro
Descripción
Ejemplo
-l usuario
Especifica un único nombre de usuario
-l admin
-L archivo
Lista de nombres de usuario
-L users.txt
-p contraseña
Especifica una única contraseña
-p 123456
-P archivo
Lista de contraseñas (diccionario)
-P rockyou.txt
-C archivo
Archivo con combinaciones usuario:contraseña
-C credenciales.txt
-t n
Número de tareas paralelas por objetivo
-t 16
-s puerto
Especifica un puerto personalizado
-s 2222
-o archivo
Guarda los resultados en archivo
-o resultado.txt
-v / -V
Modo verboso (muestra intentos)
-v
-f
Detiene el ataque tras encontrar un acceso válido
-f
-M archivo
Lista de múltiples objetivos
-M targets.txt
Servicios y Protocolos Soportados
Hydra soporta una amplia gama de protocolos, entre los más comunes:
SSH: Secure Shell
FTP: File Transfer Protocol
HTTP(S): Formularios web, autenticación básica
SMB: Acceso a recursos compartidos Windows
MySQL/PostgreSQL/MSSQL: Bases de datos
SMTP/POP3/IMAP: Servicios de correo
Telnet/rlogin: Acceso remoto
VNC: Virtual Network Computing
RDP: Remote Desktop Protocol
Ver todos los protocolos
Ejecuta hydra -h para ver la lista completa de módulos soportados.
Guía Práctica de Uso
Preparación para un ataque
Reconocimiento: Identifica el servicio y su versión
nmap -sV -p 22 192.168.1.100
Preparación de diccionarios:
Usuarios: Lista de posibles nombres de usuario
Contraseñas: Diccionario de contraseñas probables
Ajuste de parámetros: Determina la velocidad y agresividad del ataque
Estructura de ataques según servicio
graph TD
A[Identificar Servicio] --> B{Tipo de Servicio}
B -->|SSH/FTP/Telnet| C[Ataque directo con protocolo]
B -->|Formulario Web| D[Configurar http-post-form]
B -->|Autenticación Básica| E[Configurar http-get]
C --> F[Ejecutar hydra con parámetros adecuados]
D --> F
E --> F
F --> G{Resultado}
G -->|Éxito| H[Credenciales encontradas]
G -->|Fracaso| I[Ampliar diccionario o cambiar enfoque]
Ejemplos Prácticos
Ejemplo 1: Ataque SSH contra un usuario específico
Este comando intenta acceder mediante SSH a la IP 192.168.1.100 utilizando el usuario “admin” y probando contraseñas desde el diccionario rockyou.txt. El parámetro -t 4 limita a 4 conexiones paralelas para evitar bloqueos.
Ataca un formulario web POST en “/login.php” reemplazando ^USER^ con “admin” y ^PASS^ con cada palabra del diccionario. El mensaje “Login failed” es el texto que indica un intento fallido.
Realiza un ataque de diccionario contra el servicio FTP usando listas de usuarios y contraseñas. La opción -V (verboso) muestra cada intento en tiempo real.
Ataque al servicio RDP con un solo hilo (-t 1) y un tiempo de espera máximo de 30 segundos (-W 30), lo que es útil para servicios que pueden bloquearse con muchas conexiones.
Técnicas Avanzadas
Combinación de usuarios y contraseñas en un archivo
hydra -C combinaciones.txt ssh://192.168.1.100
Formato del archivo
El archivo debe contener pares usuario:contraseña por línea:
Empieza lento: Comienza con pocos hilos (-t 4 o menos) y aumenta progresivamente
Usa diccionarios específicos: Personaliza tus diccionarios según el objetivo
Verifica manualmente: Confirma los falsos positivos intentando conectarte
Documenta todo: Guarda siempre los resultados con -o
Respeta los límites: En pruebas autorizadas, acuerda límites de recursos y tiempo
Errores comunes a evitar
Exceso de paralelismo: Demasiados hilos pueden causar problemas de red o bloqueos
Ignorar logs: Los ataques quedan registrados; considéralo en pruebas autorizadas
No verificar sintaxis: Especialmente en ataques a formularios web
Diccionarios inadecuados: Usar listas genéricas cuando existen específicas para el objetivo
Atacar sin reconocimiento previo: Es crucial conocer el servicio antes de atacarlo
Monitoreo de Progreso
Para ataques largos, usa la opción -I para verificar el progreso y poder reanudar un ataque interrumpido:
# Iniciar con capacidad de restauraciónhydra -I -l admin -P huge_wordlist.txt ssh://192.168.1.100# Si se interrumpe, reanudar con:hydra -R
Limitaciones y Defensas
Limitaciones de Hydra
Ineficaz contra sistemas con protección anti-fuerza bruta
Puede ser detectado fácilmente por IDS/IPS
Requiere diccionarios efectivos para ser útil
Técnicas de defensa
flowchart TD
A[Defensas contra Hydra] --> B[Técnicas preventivas]
A --> C[Técnicas de detección]
B --> D[Límite de intentos]
B --> E[Captchas]
B --> F[Autenticación de dos factores]
B --> G[Retrasos incrementales]
C --> H[Monitoreo de logs]
C --> I[Alertas de múltiples fallos]
C --> J[Análisis de patrones de conexión]
Contramedidas comunes
Rate limiting: Límites de intentos de login
Tiempo de espera progresivo: Cada intento fallido aumenta el tiempo de espera
Bloqueo de cuentas: Bloqueo temporal tras varios intentos fallidos
Captchas: Verificación humana tras intentos sospechosos
2FA: La autenticación de dos factores hace inútiles los ataques de contraseñas
Hydra es una herramienta poderosa que demuestra la importancia de implementar medidas robustas de protección contra ataques de fuerza bruta. Su versatilidad, velocidad y soporte para múltiples protocolos la convierten en una de las primeras opciones para pruebas de penetración de credenciales.
Al utilizar Hydra, siempre recuerda:
Mantener un enfoque ético y legal
Documentar tus acciones
Utilizar los recursos de manera responsable
Recomendar contramedidas efectivas
La mejor defensa contra herramientas como Hydra es una política de contraseñas robusta, autenticación multifactor y un monitoreo activo de eventos de seguridad.