Medusa — Fuerza Bruta y Ataques de Credenciales
🔎 ¿Qué es Medusa?
Medusa es un brute-forcer modular, rápido y paralelo, usado para probar credenciales contra una gran variedad de servicios remotos.
-
Paralelismo masivo
-
Soporta módulos para servicios comunes
-
Muy rápido y configurable
-
Ideal para pentesting interno y auditorías
⚙ Instalación
📦 Verificar instalación
medusa -h
📥 Instalar en Linux
sudo apt-get -y update
sudo apt-get -y install medusa
🧱 Sintaxis General
medusa [target_options] [credential_options] -M module [module_options]
📘 Tabla de Parámetros
| Parámetro | Explicación | Ejemplo |
|---|---|---|
| -h HOST / -H FILE | Objetivo único o lista de objetivos | medusa -h 192.168.1.10 |
| -u USER / -U FILE | Usuario único o lista | medusa -U users.txt |
| -p PASS / -P FILE | Contraseña o lista | medusa -P passwords.txt |
| -M MODULE | Módulo a utilizar | medusa -M ssh |
| -m "OPCIONES" | Opciones adicionales para el módulo | -m "GET /login" |
| -t TASKS | Número de hilos | -t 4 |
| -f / -F | Detener al primer éxito | -f |
| -n PORT | Puerto personalizado | -n 2222 |
| -v LEVEL | Verbosidad (0–6) | -v 4 |
🔌 Módulos Comunes
| Módulo | Servicio | Descripción | Ejemplo |
|---|---|---|---|
| ftp | FTP | Acceso a servidores FTP | medusa -M ftp ... |
| http | Web login GET/POST | Formularios HTTP | medusa -M http -m DIR:/login.php |
| imap | Correo | IMAP | medusa -M imap ... |
| mysql | Base de datos | MySQL | medusa -M mysql ... |
| pop3 | Correo | POP3 | medusa -M pop3 ... |
| rdp | Escritorio remoto | RDP | medusa -M rdp ... |
| ssh | SSH | Acceso remoto seguro | medusa -M ssh ... |
| svn | Control de versiones | SVN | medusa -M svn ... |
| telnet | Consola remota | Telnet | medusa -M telnet ... |
| vnc | Escritorio remoto | VNC | medusa -M vnc ... |
| web-form | Web login | Formularios POST | medusa -M web-form -m FORM:"..." |
🧪 Escenarios Prácticos
🐚 1. Ataque contra un servidor SSH
Objetivo: 192.168.0.100
Usuarios: usernames.txt
Passwords: passwords.txt
medusa -h 192.168.0.100 -U usernames.txt -P passwords.txt -M ssh
-
Ataca SSH
-
Usa listas de usuarios y contraseñas
-
Prueba todas las combinaciones
🌐 2. Ataque contra múltiples servidores HTTP con Basic Auth
Servidores: web_servers.txt
Usuarios: usernames.txt
Passwords: passwords.txt
medusa -H web_servers.txt -U usernames.txt -P passwords.txt -M http -m GET
El módulo HTTP probará el header de autenticación automáticamente.
🧫 3. Detección de contraseñas vacías o por defecto
Objetivo: 10.0.0.5
medusa -H web_servers.txt -U usernames.txt -P passwords.txt -M http -m GET
Donde:
-
-e n→ probar contraseña vacía -
-e s→ probar contraseña igual al usuario
📦 Opciones especiales del módulo http y web-form
web-form
Permite especificar parámetros en formato tipo Hydra:
username=^USER^&password=^PASS^:F=TextoDeError
Ejemplo:
medusa -M web-form -h www.example.com -U users.txt -P passwords.txt \
-m FORM:"username=^USER^&password=^PASS^:F=Invalid"
🚀 Consejos finales
-
Aumenta hilos:
-t 8o-t 16 -
Para auditorías internas, usa listas pequeñas y específicas
Muchos servicios bloquean IPs o cierran conexiones si detectan demasiados intentos.