Hydra – Herramienta de Fuerza Bruta
Hydra es un descifrador de inicio de sesión de red rápido y potente que admite numerosos protocolos. Permite probar credenciales en aplicaciones web, SSH, FTP, bases de datos y más.
⭐ ¿Por qué es tan utilizada?
-
⚡ Speed & Efficiency
Usa conexiones paralelas para múltiples intentos simultáneos. -
🔧 Flexibilidad
Compatible con decenas de servicios (ssh, ftp, smtp, http, etc.). -
😊 Facilidad de uso
Sintaxis clara y directa.
🛠 Instalación
Ver si ya está instalado
hydra -h
Instalar en Debian/Ubuntu
sudo apt-get update -y
sudo apt-get install -y hydra
🧩 Uso Básico
Sintaxis general
hydra [login_options] [password_options] [attack_options] [service_options]
🔧 Parámetros principales
| Parámetro | Descripción | Ejemplo |
|---|---|---|
-l LOGIN / -L FILE |
Usuario único o lista de usuarios | hydra -l <user> / hydra -L <userlist> |
-p PASS / -P FILE |
Contraseña única o lista | hydra -p <pass> / hydra -P <passlist> |
-t TASKS |
Número de hilos | hydra -t 4 |
-f |
Finaliza al primer login válido | hydra -f |
-s PORT |
Puerto no estándar | hydra -s 2222 |
-v / -V |
Verbose / Verbose plus | hydra -V |
service://server |
Servicio + objetivo | hydra ssh://<ip> |
🔌 Servicios soportados por Hydra
| Servicio Hydra | Protocolo | Uso | Ejemplo (plantilla segura) |
|---|---|---|---|
ftp |
FTP | Credenciales FTP | hydra -L <users> -P <passes> ftp://<ip> |
ssh |
SSH | Acceso remoto seguro | hydra -L <users> -P <passes> ssh://<ip> |
http-get / http-post-form |
HTTP | Formularios o auth básica | hydra <host> http-post-form "<ruta>:user=^USER^&pass=^PASS^:F=<fail>" |
smtp |
SMTP | Servidores de correo | hydra -L <users> -P <passes> smtp://<host> |
pop3 |
POP3 | hydra pop3://<host> |
|
imap |
IMAP | Email remoto | hydra imap://<host> |
mysql |
MySQL | Bases de datos | hydra mysql://<ip> |
mssql |
MSSQL | Bases de datos MS | hydra mssql://<ip> |
vnc |
VNC | Escritorio remoto | hydra -P <passes> vnc://<ip> |
rdp |
RDP | Escritorio remoto Windows | hydra -L <users> -P <passes> rdp://<ip> |
🧪 Casos Prácticos y Ejemplos
1. Fuerza Bruta en Autenticación HTTP Básica
Objetivo: Un sitio web (www.example.com) con autenticación básica HTTP.
Archivos: Listas de usernames.txt y passwords.txt.
hydra -L usernames.txt -P passwords.txt www.example.com http-get
2. Ataque a Múltiples Servidores SSH
Objetivo: Varios servidores SSH listados en targets.txt.
Credenciales Probables: Usuario root, contraseña toor.
hydra -l root -p toor -M targets.txt ssh
3. Prueba de Credenciales FTP en Puerto No Estándar
Objetivo: Servidor FTP en ftp.example.com usando el puerto 2121.
Archivos: Listas de usernames.txt y passwords.txt.
Modo Verbose:
hydra -L usernames.txt -P passwords.txt -s 2121 -V ftp.example.com ftp
4. Fuerza Bruta en Formulario Web de Login (POST)
Objetivo: Formulario de login en www.example.com/login.
Usuario Conocido: admin.
Parámetros del Formulario: user=^USER^&pass=^PASS^.
Indicador de Éxito: Código de estado HTTP 302.
hydra -l admin -P passwords.txt www.example.com http-post-form "/login:user=^USER^&pass=^PASS^:S=302"
5. Ataque Avanzado a RDP con Generación de Contraseñas
Objetivo: Servicio RDP en 192.168.1.100.
Usuario: administrator.
Estrategia: Generar contraseñas de longitud 6 a 8 caracteres, usando minúsculas, mayúsculas y números.
hydra -l administrator -x 6:8:aA1 192.168.1.100 rdp
Explicación de -x: 6:8:aA1 es un atajo para:
-
6:8= Longitud mínima y máxima. -
a= letras minúsculas. -
A= letras mayúsculas. -
1= dígitos.
⚡ Parámetros Avanzados y Optimización
| Parámetro | Descripción | Uso Común |
|---|---|---|
-x MIN:MAX:CHARSET |
Genera contraseñas bajo demanda. | -x 6:8:aA1 (mín 6, máx 8, alfanuméricas) |
-M FILE |
Lista de múltiples objetivos (un IP por línea). | -M targets.txt |
-w TIME / -W TIME |
Tiempo de espera entre intentos (por hilo/global). | -W 5 (espera 5s entre login) |
-e nsr |
Prueba credenciales adicionales: n (null), s (login como pass), r (reverse login). |
-e nsr |
-u |
Cicla por usuarios primero (por defecto cicla por passwords). | -u |
-C FILE |
Archivo en formato usuario:contraseña (como en medusa). |
-C creds.txt |