Cómo capturar y crackear el PMKID de una red WiFi con Hashcat

Reciban un saludo. Hoy quiero hablarles de una de mis técnicas favoritas para auditar redes WiFi, una que cambió las reglas del juego: el ataque al PMKID. Y les hago una pregunta: ¿qué pensarían si les digo que se puede obtener lo necesario para crackear la clave de una red WPA/WPA2 sin esperar a que ningún cliente se conecte y sin lanzar ataques de deautenticación? Pues eso es justo lo que vamos a ver. Esta técnica la descubrió en 2018 Jens “atom” Steube, el creador de Hashcat, y sigue siendo de lo más usado en el pentesting inalámbrico. Vamos paso a paso.

Aviso legal: hagan estas pruebas únicamente sobre redes propias o con autorización por escrito. Acceder a redes ajenas sin permiso es un delito.

Qué es el PMKID y de dónde sale

El PMKID (Pairwise Master Key Identifier) es un identificador que algunos puntos de acceso incluyen en el primer mensaje del handshake WPA, dentro del campo RSN IE. Se calcula así:

PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_Cliente)

Lo importante aquí es la PMK, que se deriva directamente de la contraseña de la red. Como el PMKID depende de la PMK, y la PMK de la contraseña, con capturar un solo PMKID ya podemos hacer un ataque de fuerza bruta offline contra la clave. Sin handshake completo, sin esperar a nadie.

¿Por qué es mejor que el handshake clásico?

El método de toda la vida —capturar el handshake de 4 vías— tiene dos problemas: necesitas que un cliente se conecte, y normalmente lo fuerzas con deautenticación, que es ruidosa y molesta a los usuarios. El PMKID nos quita esos dos dolores de cabeza: se lo pedimos directo al AP, sin clientes y sin hacer ruido. Eso sí, no todos los AP lo exponen.

Lo que vamos a necesitar

Paso 1: tarjeta en modo monitor

sudo airmon-ng start wlan0

Esto nos crea una interfaz tipo wlan0mon lista para escuchar el aire.

Paso 2: capturamos el PMKID

sudo hcxdumptool -i wlan0mon -w captura.pcapng --enable_status=1

Dejamos correr la herramienta unos minutos. Cuando un AP expone el PMKID, lo vamos a ver reflejado en el estado.

Paso 3: convertimos al formato de Hashcat

hcxpcapngtool -o hash.hc22000 captura.pcapng

Ese hash.hc22000 (formato 22000) es lo que le vamos a dar a Hashcat.

Paso 4: a crackear con Hashcat

hashcat -m 22000 hash.hc22000 rockyou.txt

Y aquí podemos potenciarlo:

  • Diccionario + reglas: hashcat -m 22000 hash.hc22000 rockyou.txt -r rules/best64.rule
  • Máscara (fuerza bruta dirigida): hashcat -m 22000 hash.hc22000 -a 3 ?d?d?d?d?d?d?d?d para claves de 8 dígitos, típicas de muchos routers.

La velocidad depende de tu GPU, pero lo que de verdad decide todo es la calidad del diccionario. Una clave débil cae en minutos; una larga y aleatoria es prácticamente irrompible.

Cómo proteger tus redes

  • Contraseñas largas y aleatorias (15+ caracteres): la única defensa real frente al crackeo offline.
  • WPA3 (su autenticación SAE no expone material crackeable igual).
  • Deshabilita 802.11r si no lo usas.
  • WPA2/3-Enterprise (802.1X) en entornos corporativos.

Conclusión

El PMKID nos deja una lección clara: la seguridad de tu WiFi depende, al final, de la fortaleza de tu contraseña. La captura es trivial; lo que decide todo es si la clave aguanta. Dominar esto —siempre de forma ética— es clave para auditar y endurecer redes inalámbricas.

👉 ¿Quieres aprenderlo con laboratorios reales y acompañamiento? Te espero en el Curso Avanzado de Hacking Ético para Expertos de Academia SecPro. ¡Nos vemos en el próximo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *