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.

Puntos clave

  • 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
¿Qué hace este comando?

  • 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

Útil cuando varios servidores internos usan BasicAuth

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:


📦 Opciones especiales del módulo http y web-form

Uso de 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

Optimiza velocidad

  • Aumenta hilos: -t 8 o -t 16

  • Para auditorías internas, usa listas pequeñas y específicas

Advertencia

Muchos servicios bloquean IPs o cierran conexiones si detectan demasiados intentos.