Capturar un PMKID para Ataques WPA sin Cliente

Beginner
Practicar Ahora

Introducción

En este laboratorio, explorará una técnica moderna para probar la seguridad de las redes inalámbricas WPA/WPA2. Específicamente, aprenderá a capturar un Pairwise Master Key Identifier (PMKID). El PMKID es parte del protocolo WPA y a veces se puede solicitar a un Punto de Acceso (AP) sin que un cliente esté conectado. Capturar este PMKID permite un ataque de fuerza bruta offline para descubrir la contraseña de Wi-Fi, un método al que a menudo se hace referencia como un ataque "sin cliente" (clientless).

Utilizaremos dos herramientas principales: hcxdumptool para capturar el PMKID del tráfico de red y hcxtools para procesar los datos capturados. Al final de este laboratorio, habrá capturado con éxito un PMKID de un punto de acceso simulado y lo habrá guardado para un posible descifrado (cracking).

Instalar hcxtools y hcxdumptool

En este paso, instalaremos las herramientas necesarias para nuestro ataque. hcxdumptool es una herramienta sofisticada diseñada para capturar paquetes de redes Wi-Fi, apuntando específicamente a información útil para ataques, como los PMKID. hcxtools es un conjunto de utilidades que se utilizan para convertir y manipular los datos capturados en formatos compatibles con software de descifrado de contraseñas como Hashcat.

Utilizaremos el gestor de paquetes apt-get para instalar ambas herramientas. Abra una terminal y ejecute el siguiente comando. Necesitará privilegios de sudo para instalar nuevos paquetes en el sistema.

sudo apt-get install -y hcxtools hcxdumptool

Una vez que el comando se complete, el sistema descargará e instalará ambos paquetes y sus dependencias. Debería ver una salida que indique que los paquetes se están desempaquetando y configurando.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  hcxdumptool hcxtools
0 upgraded, 2 newly installed, 0 to remove and ...
...
Setting up hcxtools (6.2.7-2) ...
Setting up hcxdumptool (6.2.7-2) ...

Con las herramientas instaladas, estamos listos para comenzar a escuchar el tráfico de red.

Usar hcxdumptool para Escuchar Beacons de AP en una Interfaz

En este paso, utilizaremos hcxdumptool para comenzar a capturar paquetes inalámbricos. Para este laboratorio, se ha creado una interfaz inalámbrica virtual llamada mon0 en modo monitor. El modo monitor permite que la interfaz capture todo el tráfico de Wi-Fi en el aire, no solo el tráfico dirigido a ella.

Ejecutaremos hcxdumptool y lo dirigiremos a nuestra interfaz de monitor. También habilitaremos una pantalla de estado para ver lo que la herramienta está haciendo en tiempo real.

Ejecute el siguiente comando en su terminal. El entorno de laboratorio ya está ejecutando un Punto de Acceso de prueba llamado TestAP, que hcxdumptool detectará.

sudo hcxdumptool -i mon0 --enable_status=1
  • -i mon0: Especifica la interfaz a usar para la captura.
  • --enable_status=1: Activa la pantalla de estado, que muestra información sobre las redes encontradas y los datos capturados.

Una vez que ejecute el comando, hcxdumptool comenzará a escanear. Verá una tabla de puntos de acceso y clientes detectados. Déjelo ejecutarse durante unos 15-20 segundos.

start capturing (stop with ctrl+c)
INTERFACE:...............: mon0
FILTERLIST (MAC).........: 0 entries
FILTERLIST (ESSID).......: 0 entries
MAC ACCESS POINT.........: 2a:50:e4:4c:a8:75 (incremented on every new client)
MAC CLIENT...............: 2e:50:e4:4c:a8:75 (incremented on every new client)
REPLAYCOUNT..............: 64326
ANONCE...................: 2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a

[21:12:30 - 001] [FOUND ACCESS POINT: 02:00:00:00:01:00 (TestAP)]
...

Después de un corto tiempo, puede detener el proceso de captura presionando Ctrl+C en la terminal.

Identificar un Hash PMKID en la Salida de la Herramienta

En este paso, aprenderá a identificar cuándo se ha capturado con éxito un PMKID. Mientras hcxdumptool se está ejecutando, sondea activamente los puntos de acceso para ver si responden con un PMKID. Cuando tiene éxito, imprime un mensaje claro en la consola.

Si dejó que el comando del paso anterior se ejecutara, debería haber visto una línea similar a la siguiente. Esta línea es la confirmación de que tenemos lo que necesitamos.

[21:12:32 - 001] [FOUND PMKID] 02:00:00:00:01:00 -> 2e:50:e4:4c:a8:75

Analicemos esta salida:

  • [FOUND PMKID]: Este es el indicador clave. Significa que hcxdumptool solicitó y recibió con éxito un PMKID.
  • 02:00:00:00:01:00: Este es el BSSID (dirección MAC) del Punto de Acceso (TestAP).
  • -> 2e:50:e4:4c:a8:75: Esta es la dirección MAC de la estación (nuestro cliente virtual) que hcxdumptool utilizó para realizar la solicitud.

Ver este mensaje significa que ha capturado con éxito el PMKID. No necesita ejecutar ningún comando nuevo en este paso; el objetivo es comprender la salida del paso anterior.

Comprender la Ventaja del PMKID sobre los Handshakes

En este paso, discutiremos por qué el ataque PMKID es un avance significativo sobre los métodos tradicionales de cracking de WPA/WPA2.

El método clásico para descifrar una contraseña de Wi-Fi implica capturar un handshake de 4 vías completo. Este handshake ocurre cuando un dispositivo cliente (como una laptop o un teléfono) se autentica correctamente con un punto de acceso. Para capturarlo, un atacante debe esperar a que un dispositivo se conecte o forzar a un dispositivo conectado a desconectarse y luego reconectarse. Esto tiene un inconveniente importante: depende completamente de la presencia y actividad de un dispositivo cliente. Si no hay dispositivos conectados, o si no se reconectan mientras usted está escuchando, no podrá capturar el handshake.

El ataque PMKID supera esta limitación. El PMKID es parte del proceso de asociación inicial, específicamente dentro del Elemento de Información de Red de Seguridad Robusta (RSN IE) que los AP modernos transmiten en sus tramas de beacon. hcxdumptool puede solicitar activamente esta información al AP sin que esté presente ningún cliente legítimo.

La ventaja clave es que este ataque es sin cliente (clientless). Solo necesitamos estar dentro del alcance del AP objetivo. Esto hace que el proceso de adquisición de un hash crackeable sea mucho más rápido y confiable, ya que ya no esperamos pasivamente a que un cliente actúe.

Guardar el Hash PMKID en un Archivo para su Crackeo

En este paso final, ejecutaremos hcxdumptool nuevamente, pero esta vez guardaremos los datos capturados que contienen el PMKID en un archivo. Este archivo puede ser utilizado posteriormente con otras herramientas como hcxpcapngtool y hashcat para el crackeo offline.

Usamos la bandera -o para especificar un archivo de salida. El formato estándar para estas capturas es pcapng.

Ejecute el siguiente comando. Iniciará la captura y guardará cualquier hallazgo en un archivo llamado captured_pmkid.pcapng en su directorio actual (~/project).

sudo hcxdumptool -i mon0 -o captured_pmkid.pcapng --enable_status=1

Deje que la herramienta se ejecute hasta que vea nuevamente el mensaje [FOUND PMKID]. Una vez que lo vea, puede detener la captura con Ctrl+C.

Después de detener la herramienta, verifique que el archivo se ha creado listando el contenido del directorio:

ls -l

Debería ver el archivo captured_pmkid.pcapng en la salida:

total 8
-rw-r--r-- 1 root  root  1060 Dec 12 21:15 captured_pmkid.pcapng
-rw-r--r-- 1 labex labex  159 Dec 12 21:10 hostapd.conf

Este archivo ahora contiene el PMKID de la red TestAP. El siguiente paso lógico en un ataque real sería convertir este archivo a un formato de hash y usar una herramienta de crackeo de contraseñas para encontrar la contraseña original.

Resumen

En este laboratorio, ha aprendido con éxito los fundamentos del ataque WPA/WPA2 sin cliente (clientless) mediante la captura de un PMKID.

Comenzó instalando los paquetes esenciales hcxtools y hcxdumptool. Luego utilizó hcxdumptool para escuchar en una interfaz en modo monitor, identificó el mensaje [FOUND PMKID] que confirma una captura exitosa y comprendió la ventaja teórica clave de este método sobre los ataques tradicionales basados en handshakes. Finalmente, guardó el PMKID capturado en un archivo pcapng, preparándolo para la siguiente etapa de una auditoría de seguridad, que sería el crackeo de contraseñas offline. Esta habilidad es una valiosa adición al conjunto de herramientas de cualquier probador de seguridad inalámbrica.