Está en la página 1de 19

SEGURIDAD ROBUSTA EN WLAN MEDIANTE WPA

Ing. Vincenzo Mendillo

Diciembre 2020

Objetivo: Familiarizarse con los mecanismos de seguridad robusta que ofrecen las redes inalámbricas WLAN mediante WPA (Wi-
Fi Protected Access) en sus distintas modalidades y en particular mediante clave compartida (PSK) y mostrar de qué manera las
debilidades de WPA/WPA2 pueden ser aprovechadas para encontrar la clave de cifrado utilizando herramientas como Aircrack.

Requisitos: Disponer una PC o laptop equipada con adaptador inalámbrico y además de un router inalámbrico Linksys, D-Link,
LANPRO o parecido.

Plataforma: Windows.

Prácticas relacionadas: Seguridad básica en WLAN mediante WEP. Redes inalámbricas de área local - WLAN. Configuración de
puntos de acceso inalámbricos. Redes ad-hoc y AP virtual. Captura de tráfico en WLAN. Puntos de acceso falsos en redes Wi-Fi.
Control de acceso en WLAN mediante filtros MAC. Ataques de falsificación ARP mediante Cain. Control de acceso en WLAN
mediante RADIUS.

Sección A: Introducción

WEP (Wired Equivalent Privacy) fue el primer intento de proveer a las redes inalámbricas de un nivel de seguridad equivalente al
de las redes cableadas. El usuario debe usar un juego de claves, que pueden ser de 40 bits, coincidentes con las configuradas en el
punto de acceso (AP). Se trata de un sistema relativamente simple de clave compartida (PSK: Pre-Shared Key) donde todos los
usuarios deben usar las mismas claves. No es difícil imaginarse los inconvenientes y vulnerabilidades que tiene este sistema.
Aunque no forma parte de los estándares 802.11, los fabricantes de productos Wi-Fi decidieron ofrecer la posibilidad de utilizar
claves de mayor longitud (de 104 bits), que es lo que se conoce generalmente como WEP2.
Pero el problema más grave de WEP son los 24 bits que se utilizan para el “Vector de Inicialización” (IV). Éste es como una
especie de clave de sesión que varía de manera periódica y automática, y que se añade a la clave estática WEP. El IV se transmite
sin encriptar y además es muy corto. Un atacante puede sin demasiada dificultad determinar el IV por medio de fuerza bruta y
desencriptar el tráfico o inyectar paquetes válidos en la red. Además, el algoritmo que se usa para generar el IV adolece de cierta
predictibilidad que hace más eficaz a un ataque de fuerza bruta. Herramientas como Aircrack permiten descubrir la clave WEP un
un tiempo corto. Aún con claves de 104 bits la longitud del vector de inicialización sigue siendo de 24 bits (las tramas IEEE 802.11
no contemplan un mayor número de bits para enviar el IV), por lo que lo único que se ha aumentado es la clave secreta (de 40 bits
a 104 bits). Debido a que la longitud del IV y su forma de utilizarlo no varían, las debilidades del IV pueden seguir siendo
aprovechadas de la misma manera. WEP2 no resuelve los problemas de WEP. Al final las numerosas vulnerabilidades de WEP
fueron motivos más que suficientes para buscar otros mecanismos de seguridad y los nuevos sucesores fueron WPA, WPA2 e
IEEE 802.11i.
WPA (Wi-Fi Protected Access) es decir acceso protegido Wi-Fi, fue la respuesta de la asociación de empresas Wi-Fi a la
seguridad que demandan los usuarios y que WEP no puede proporcionar. En el año 2003 el IEEE tenía casi terminados los trabajos
de un nuevo estándar para reemplazar a WEP, que se publicarían en la norma IEEE 802.11i a mediados de 2004. Debido a la
tardanza (WEP es de 1999 y las principales vulnerabilidades de seguridad se encontraron en 2001), Wi-Fi decidió, en colaboración
con el IEEE, tomar aquellas partes del futuro estándar que ya eran suficientemente maduras y publicar así WPA. WPA es, por
tanto, un subconjunto de IEEE 802.11i. WPA soluciona muchas de las debilidades conocidas de WEP y se considera bastante
seguro. Puede ocurrir incluso que usuarios que utilizan WPA no vean necesidad de cambiarse a IEEE 802.11i en el futuro.
Las principales características de WPA son la distribución dinámica de claves, utilización más robusta del vector de
inicialización (mejora de la confidencialidad) y nuevas técnicas de integridad y autenticación. WPA incluye las siguientes
tecnologías avanzadas:
 IEEE 802.1X. Estándar del IEEE de 2001 para proporcionar autenticación y control de acceso en redes basadas en puertos. El
concepto de puerto, en un principio pensado para los puertos de un switch de LAN Ethernet, también se puede aplicar a las
distintas conexiones de un punto de acceso con las estaciones inalámbricas. Las estaciones tratarán entonces de conectarse a un
puerto del punto de acceso. El punto de acceso mantendrá el puerto bloqueado hasta que el usuario logre autenticarse. Con este
fin se utiliza EAP (Extensible Authentication Protocol) y un servidor AAA (Authentication, Authorization and Accounting),
como puede ser RADIUS (Remote Authentication Dial-In User Service). Si la autorización es positiva, entonces el punto de
-2-
acceso abre el puerto. El servidor RADIUS puede contener políticas para ese usuario concreto que podría aplicar el punto de
acceso (como darle prioridad a ciertos tráficos o descartar otros).
 EAP. Definido en la RFC 2284, EAP es el protocolo de autenticación extensible para llevar a cabo las tareas de autenticación,
autorización y contabilidad. EAP fue diseñado originalmente para el protocolo PPP (Point-to-Point Protocol), aunque WPA lo
utiliza entre la estación y el servidor RADIUS. Esta forma de encapsulación de EAP está definida en el estándar 802.1X bajo el
nombre de EAPOL (EAP over LAN).
 TKIP (Temporal Key Integrity Protocol). Es el mecanismo encargado de la generación de la clave dinámica para cada paquete.
 MIC (Message Integrity Code) o Michael. Es el código que verifica la integridad de los datos en cada paquete.

Con la introducción de TKIP se solventan las deficiencias de WEP en cuanto a generación y distribución dinámica de claves,
confidencialidad, integridad y prevención de ataques de repetición, sin reemplazar el hardware utilizado, requiriendo solamente
una actualización del firmware. La razón de que el hardware se mantenga es que, al igual que WEP, TKIP usa el cifrador de flujo
RC4 pero con una clave única para cada paquete enviado (PPK: Per Packet Key). La forma en que se genera la clave PPK por
paquete garantiza que ésta varíe con cada usuario y con cada sesión. Así como también establece que el tráfico enviado por la
estación utiliza un conjunto de claves diferentes al tráfico enviado por el AP.
La clave PPK es derivada a partir de una clave temporal denominada PTK (Pairwise Transient Key), la dirección MAC del
transmisor y el vector de inicialización (que ahora es de 48 bits).

Al igual que en WEP, la PPK es usada como semilla (seed) para generar la clave de flujo pseudoaleatoria (keystream) de la misma
longitud del mensaje a cifrar, requerida en el algoritmo RC4.

La forma como se genera la clave PTK es algo complicado. En primer lugar existe la clave compartida PSK (Pre-Shared Key) en
las estaciones y punto de acceso, al igual que en WEP, pero en WPA esta clave puede ser de hasta 63 caracteres (504 bits). Un
inconveniente con esa clave PSK es que debe introducirse manualmente en los puntos de acceso y en las estaciones inalámbricas,
al igual de cómo se hace con WEP, lo cual es problemático para grupos grandes y crea potenciales brechas de seguridad.
A partir de la clave PSK compartida se genera una clave llamada PMK (Pairwise Master Key), que es utilizada como clave
maestra para generar una clave PPK distinta para cada paquete. La PMK se genera mediante el algoritmo PBKDF2 (Password-
Based Key Derivation Function 2), descrito en RFC 2898. Básicamente toma la PSK, el SSID, la longitud del SSID y calcula un
resumen (hash) 4096 veces, obteniendo 256 bits. PMK = PBKDF2(PSK, SSID, SSIDlength, 4096, 256).
-3-
A partir de la PMK, que es permanente, se genera la clave temporal PTK de 512 bits y válida durante la sesión, usando el
algoritmo PRF-512, el cual es función de la PMK, el MAC del cliente y números aleatorios suministrados por el cliente y el AP.
PRF-512 significa pseudo-random function de 512 bits.
La PTK es obtenida mediante PRF-512 partir de números aleatorios (nonces), generados e intercambiados por el AP, la
estación y la clave maestra (PMK), derivada durante la fase de autenticación. PRF-512 tiene como entrada varios parámetros: la
PMK, una cadena de texto, el MAC del AP y del cliente, un número aleatorio ANonce generado por el AP (Autenticador) y un
número aleatorio SNonce generado por el cliente (Suplicante).

PTK = PRF-512(PMK, "Pairwise key expansion", MAC1||MAC2||ANonce||SNonce)

La PTK se compone de 4 subclaves: Data Encryption key (128 bits), Data Integrity MIC key (128 bits), EAPOL-Key Encryption
key (128 bits), EAPOL-Key Integrity MIC key (128 bits).

Además existe la GTK (Group Temporal Key), utilizada para proteger las transmisiones multicast. La GTK se renueva
automáticamente después de un cierto número de paquetes o de segundos (típicamente cada hora). La GTK es derivada de la GMK
(Group Master Key).

WPA soluciona la debilidad del vector de inicialización (IV) de WEP mediante la inclusión de vectores del doble de longitud (48
bits) y especificando reglas de secuencia que los fabricantes deben implementar. La nueva longitud del vector de inicialización (48
bits) es suficiente para transmitir 248 =281.474.976.710.656 paquetes sin que se repita, lo cual resuelve uno de los problemas de
WEP. El nuevo IV se construye a partir del primer y segundo byte del IV original de WEP más 4 bytes adicionales que se
incorporan al paquete. Además de utilizarse para generar la clave por paquete, el IV sirve de contador o número de secuencia del
paquete, lo que evita los ataques de réplica, otro de los inconvenientes de WEP.
Para la integridad de los mensajes (ICV: Integrity Check Value), WPA ya no usa el CRC-32 que se demostró inservible en
WEP y se ha incluido un nuevo código denominado MIC (Message Integrity Code) o Michael, para detectar modificaciones en el
mensaje. Este es una función hash de una sola vía que se calcula sobre la clave PMK, las direcciones MAC origen, destino y los
datos en texto en claro del paquete. El resultado es incorporado en un campo de 8 bytes de la trama 802.11.
-4-

A fin de acomodar las necesidades de usuarios domésticos y de empresas, WPA puede funcionar en dos modos:
 El modo WPA-PSK utiliza clave compartida (Pre-Shared Key) en las estaciones y punto de acceso. Por su simplicidad, este
modo es más apropiado para usuarios domésticos o pequeñas redes, y por tal razón también se le llama WPA-Personal. Al
contrario que en WEP, esa clave precompartida PSK sólo se utiliza para la autenticación, pero no para el cifrado de los datos.
Ella debe introducirse manualmente en los puntos de acceso y en las estaciones inalámbricas, como ocurre con WEP.
 El modo WPA-RADIUS utiliza un servidor RADIUS configurado para desempeñar las tareas de autenticación, autorización y
contabilidad (AAA). Al igual que para WPA-PSK, este modo utiliza una clave maestra PMK para generar claves temporales
de encriptación. La diferencia es que en este método dicha clave es dinámica y se genera durante el intercambio para la
autenticación entre el cliente y el servidor, con lo que se evita tener que modificarla manualmente en cada uno de los
elementos de red cada cierto tiempo, como ocurría en WEP. Por supuesto que este modo es mucho más robusto que el anterior.
Su inconveniente es que requiere de una mayor infraestructura: un servidor RADIUS funcionando en la red. Éste es el modo
indicado para empresas medianas y grandes y por tal razón también se le llama WPA-Empresarial.

Para superar las deficiencias de WEP en lo que a autenticación se refiere, el modo WPA-RADIUS utiliza el estándar IEEE 802.1X.
Los componentes que estructuran un sistema sofisticado de esta naturaleza son: el suplicante, el autenticador y el servidor de
autenticación.

El suplicante o cliente reside en la máquina del usuario que solicita acceso a la red. El autenticador es el punto de acceso a la red
utilizando EAP. El servidor de autenticación es el encargado del procesamiento del nombre, contraseña o credencial del usuario.
Es de resaltar que la comunicación para la autenticación se efectúa realmente entre el suplicante y el servidor; el autenticador sólo
sirve inicialmente de puente para los mensajes entre estas dos entidades, obligando la verificación de identidad antes de permitir o
negar el acceso a los servicios y recursos que son accedidos a través de él. Una vez autorizado, la comunicación se cifra con
WEP/WPA para proteger la confidencialidad.
Al igual que otros mecanismos de seguridad, 802.1X no es perfecto. En el trabajo An Initial Analysis of the 802.1X Standard
(Febrero 2002) se describen varias debilidades de diseño que surgen al combinar los protocolos 802.1X y 802.11, permitiendo el
robo de sesiones, el ataque "de hombre en el medio" y el ataque de diccionario. Los dos primeros son resultado de la utilización de
técnicas que no realizan la autenticación mutua del servidor y el suplicante, ni protegen la integridad de las tramas que se
transmiten en la red inalámbrica. El ataque de diccionario se puede perpetrar en mecanismos basados en contraseñas. La solución a
estas fallas consiste en seleccionar los métodos más robustos dentro de la variada gama que 802.1X soporta.
Como se mencionó, 802.11i es el nuevo estándar del IEEE para proporcionar seguridad integral en ambiente WLAN. Pero
mientras se concluía todo el proceso de estandarización en 2004, Wi-Fi hizo una aplicación completa del estándar en la
especificación WPA2, donde se incluye el nuevo sistema de cifrado AES (Advanced Encryption Standard) junto con un
-5-
mecanismo de la integridad y autenticidad más robusto llamado CCMP (Counter-Mode / Cipher Block Chaining / Message
Authentication Code Protocol) en lugar de MIC.
En WPA2/802.11i con TKIP se puede usar tanto el cifrador de flujo RC4, como el cifrador AES. Se trata de un robusto
algoritmo de cifrado de bloque (RC4 en cambio es de flujo) recomendado en U.S.A. por NIST (National Institute of Standards and
Technology) y que usa claves de hasta 256 bits. AES requiere de recursos de hardware más potente para realizar sus algoritmos.
Este aspecto es importante, puesto que significa que ciertos dispositivos antiguos sin suficientes capacidades de procesamiento no
podrán incorporarlo. Algunos equipos muestran la opción AES como parte de WPA, cuando estrictamente hablando es parte de
WPA2/ 802.11i.
WPA2/802.11i puede operar en el modo mixto (Mixed Mode) permitiendo la coexistencia de estaciones WPA y WPA2/ 802.11i
en una misma BSS. Un AP que soporte este modo, anuncia los sistemas de cifrado disponibles (TKIP, CCMP, otros). Al
conectarse, el usuario selecciona el sistema deseado en base a lo que soporte su equipo.
Otra mejora respecto a WPA es que WPA2/802.11i incluye funcionalidad no sólo para el modo BSS, sino también para el
modo IBSS (redes ad-hoc).
Como alternativa o complemento a WEP, WPA o WPA2/ 802.11i, sobre todo para usuarios remotos, se puede utilizar la
solución VPN (Virtual Private Network) que crea un túnel entre 2 puntos. La tecnología VPN está suficiente probada y se
considera segura, habiendo numerosas e interesantes soluciones (ej. Hotspot Shield, Hamachi).

La seguridad además se puede reforzar con el uso de redes virtuales (VLAN) para aislar el tráfico de los distintos tipos de usuarios
(directivos, empleados, visitantes, etc.).

Who's On My Wifi es una herramienta que permite detectar la presencia de intrusos en redes locales Ethernet y Wi-Fi,
comprometiendo la seguridad de las comunicaciones o robando ancho de banda. Se encuentra en la carpeta
Varios\WhoIsOnMyWiFi del material de apoyo. El programa escanea la red cada 5 minutos, proporcionando un listado de las
máquinas activas, complementadas con sus direcciones IP y MAC, permitiendo clasificarlas según esos datos como conocidas o
desconocidas y notificando cuando un equipo desconocido se ha conectado. Puede usarse como un sistema de vigilancia de la red
interna para empresas pequeñas a medianas, alertando por ejemplo si un empleado conecta su smartphone o laptop de casa a la red
corporativa.
-6-

Sección B: Experiencias con WPA/WPA2

La primera experiencia consiste en revisar la configuración de un punto de acceso (AP) que opere con seguridad WPA-PSK o
WPA2-PSK Según el modelo de router, las instrucciones que siguen podrán ser distintas.

Desde una estación inalámbrica operando bajo Windows, haga clic con el botón derecho sobre el ícono de red aparece en la
barra de tareas de Windows.

Posiblemente aparezcan varias redes, entre las cuales podrían estar algunas con seguridad habilitada (WEPWPA/WPA2).
Posiblmente su propio router inalámbrico configurado con WPA/WPA2. Observe que las redes abiertas muestran un símbolo de
advertencia (aunque pudieran estar protegidas con filtros MAC).

Pulse Conectar y se le pedirá la clave de red. Pruebe por ejemplo con abc123abc123.

Si la clave es correcta, al poco rato debería aparecer el mensaje Obtener dirección de red y finalmente Conectado.

Abra Centro de redes | Administrar redes inalámbricas. Haga clic con el botón derecho sobre la red inalámbrica y seleccione
Propiedades. Observe que los varios tipo de seguridad (autenticación) y de cifrado disponibles. Claramente no puede seleccionar
alguno que el router inalámbrico no soporte.

Una vez conectado, en su navegador de Internet coloque la dirección IP del router. Típicamente es http://192.168.0.1,
http://192.168.1.1, según el modelo de router o su configuración. En ciertos casos se requiere HTTPS. Se le pedirá el nombre de
usuario (ej. admin) y la contraseña (ej. abc123abc123). Si no lo sabe, en Internet se puede fácilmente conseguir el login y la
contraseña de la mayoría de los routers.
-7-

Vaya a sección de la configuración inalámbrica (Wireless).

Bajo la pestaña Wíreless Security, compruebe que está configurado el modo de seguridad en WPA-PSK o WPA2-PSK y algoritmo
es TKIP o AES. ¿Qué diferencia hay entre ellos?

Note la clave de grupo temporal que se puede renovar automáticamente cada cierto tiempo. ¿Para qué sirve esa clave?

En otros modelos de routers es posible que aparezcan varios modos de seguridad. ¿Qué diferencia hay entre ellos?

Si Ud. ha realizado las experiencias anteriores concienzudamente, se habrá dado cuenta de los los inconvenientes y riesgos que
representa el uso de una clave compartida (PSK) dentro de una red corporativa:
-8-
 La clave debe configurarse estáticamente en cada uno de los equipos, aumentando las posibilidades de que sea conocida
por otros, especialmente si el sistema incluye un gran número de usuarios. Cuantos más usuarios haya, mayor será la
probabilidad de que la clave compartida pueda caer en manos extrañas.
 Si la clave la instala manualmente el administrador en cada máquina, el tiempo invertido conlleva, en la mayoría de
ocasiones, a que la clave se cambie poco o nunca.
 Si la clave es revelada, entonces se debe cambiar la clave en todos los equipos de la red.
 Si algún empleado con conocimiento de la clave es despedido, la clave debería ser cambiada.
 Un empleado puede capturar con un sniffer inalámbrico el tráfico encriptado de los demás empleados y luego descifrarlo,
ya que conoce la clave, que es compartida por todos.

WPA Enterprise utiliza RADIUS (Remote Authentication Dial-In User Service) para proporcionar autenticación, autorización y
contabilidad (AAA).

Es mucho más versátil y robusto que WPA-PSK o WPA2-PA, ya el servidor RADIUS almacena información de identificación
sobre todos los usuarios de la red con contraseñas y perfiles individuales, que pueden incluir restricciones de acceso.

El inconveniente es que requiere de una mayor infraestructura: un servidor principal RADIUS funcionando en la red y otro de
respaldo. Éste es el modo indicado para empresas medianas y grandes. Su uso en Wi-Fi se explica en la práctica sobre Control de
acceso en WLAN mediante RADIUS.

Sección C: Obtención de la clave PSK por parte de un usuario autorizado

Los administradores de una red inalámbrica empresarial que se preocupen por la seguridad, no deberían permitir que los usuarios
autorizados de la red inalámbrica conozcan la clave WEP o WPA/WPA2 de la red, ya que de esta manera pueden evitar que la
clave la utilicen abusivamente personas extrañas o que los usuarios puedan desencriptar el tráfico de otros usuarios al capturarlo
con un sniffer. Pero esto significa que el administrador debe ir personalmente a cada estación inalámbrica y colocar la clave sin que
la vea el usuario.

En Window 7 es fácil averiguar la clave WEP o WPA/WPA2 de las redes preferidas. Se muestra bajo Propiedades. Esto ya no es
posible en Windows 10.
-9-
La utilidad WirelessKeyView de NirSoft permite visualizar las claves WEP y WPA de redes Wi-Fi a las cuales el equipo se
conectó en algún momento.

Sección D: Captura y desencriptación del tráfico por parte de otro usuario autorizado

En las redes inalámbricas de una casa u oficina que utilizan clave precompartida WEP, WPA o WPA2, existe el riesgo de que un
usuario autorizado pueda espiar el tráfico de otro usuario autorizado, ya que ambos utilizan la misma clave. Una forma fácil de
hacerlo es capturando el tráfico mediante un sniffer inalámbrico como Wireshark o CommView for WiFi, cuyo uso se explica en la
práctica sobre Captura y análisis de tráfico en WLAN

Para las siguientes experiencias se va a utilizar Wireshark, el cual que se encuentra en la carpeta Captura del material de apoyo.
CommView for WiFi no es tan bueno para desencriptar el tráfico WPA/PA2.

Mediante File | Open cargue el archivo de captura WLAN2-VM.cap que se encuentra en la carpeta Captura\Muestras WiFi del
material de apoyo. Se trata de tráfico generado por el punto de acceso WLAN2-VM operando con encriptación WPA-PSK.

Mediante Statistics | WLAN Traffic puede ver los distintos tipos de tráfico y las fuentes que lo generan.

En la ventana principal puede notar que los datos están encriptados y no se puede visualizar ni siquiera la dirección IP o el puerto.
-10-

Para desencriptarlos vaya a Edit | Preferences. Aquí seleccione Protocols en la columna izquierda y navegue hasta IEEE 802.11.

Active Enable decryption y pulse Edit. Introduzca la clave WPA seguida del SSID. En este caso abc123abc123:WLAN2-VM.

Ahora podrá ver desencriptados muchos de los paquetes. Si por ejemplo pone el filtro tcp, aparecerán los paquetes que llevan ese
protocolo.
-11-
Haga clic con el botón derecho sobre uno de esos paquetes y seleccione Follow TCP Stream. Ahora se muestra claramente el login
y la contraseña del inicio de la sesión Telnet.

Importante: Para poder desencriptar los paquetes con la clave WPA-PSK es necesario haber capturados los paquetes del 4-way
handshake al inicio de la sesión, ya que hace falta conocer los valores aleatorios ANonce y SNonce. Esta es una importante
diferencia con respecto a WEP, donde se pueden desencriptar los paquetes aún sin capturar el inicio de la sesión.

Con Wireshark el tráfico se puede desencriptar también usando la clave PMK de 256 bits. Obtenga el valor de la clave PMK
introduciendo el SSID = WLAN2-VM y la clave WPA-PSK = abc123abc123 en la ventana de WPA key calculator, que se
encuentra en la carpeta Redes Inalámbricas del material de apoyo. La clave PMK es el valor hexadecimal que aparece al fondo.
Cópiela al portapapeles.

En Wireshark vaya a Edit | Preferences. Aquí seleccione Protocols en la columna izquierda y navegue hasta IEEE 802.11.
Introduzca esa clave WPA hexadecimal en Key type: wpa-psk.

Mediante File | Open vuelva a cargar el archivo de captura WLAN2-VM.cap que se encuentra en la carpeta Captura\Muestras WiFi
del material de apoyo. Ahora podrá ver desencriptados muchos de los paquetes.
-12-
Para capturar tráfico WPA/WPA en vivo con Wirehark, deberá hacerlo bajo Linux (por ejemplo corriendo Kali Linux como un
Live DVD), ya que el adaptador inalámbrico debe operar en el modo monitor. Para desencriptar el tráfico, no basta conocer y
colocar la clave en Wireshark, sino que se deberá capturar también el momento en que el cliente se conecta al punto de acceso y se
realiza el 4-way handshake al inicio de la sesión. Bajo Windows podría utilizar CommView for WiFi, Consulte la guía de la
práctica Captura de tráfico en WLAN para más detalles.

Sección E: Obtención de la clave PSK por parte de un intruso (opcional)

A un intruso se le hace mucho más difícil averiguar la clave compartida PSK o PMK que a un usuario. Puede tratar de adivinarla,
recurrir a la ingeniería social (engaño) o capturar el tráfico inalámbrico. En este último caso no es tan sencillo como en WEP y
requiere de un ataque por diccionario, lo cual significa por lo general muchísimo tiempo. El procedimiento esencialmente es el
siguiente:

Para cada clave PSK (Pre-Shared Key) en el diccionario, se calcula la correspondiente PMK (Pairwise Master Key), mediante la
fórmula:

1. PMK = PBKDF2(PSK, SSID, SSIDlength, 4096, 256)

Esta etapa se puede acelerar precomputando PMK para un SSID conocido (ej. WLAN2-VM o Linksys).

2. Luego se desencripta un paquete capturado usando esa PMK.

3. Seguidamente se calcula PTK (Pairwise Transient Key) mediante la fórmula:

PTK = PRF-512(PMK, "Pairwise key expansion", MAC1||MAC2||ANonce||SNonce)

Los valores ANonce y SNonce aparecen en los paquetes del 4-way handshake al inicio de la sesión, por lo que hace falta capturar
esos paquetes de alguna manera, por ejemplo mediante un sniffer inalámbrico.

En un ataque pasivo, hay que tener paciencia y esperar a que un usuario se conecte. Mucho más rápido resulta un ataque activo de
desautenticación con aireplay-ng contra un cliente conectado, para así forzarlo a reconectarse.
-13-

4. De PTK se extrae la clave MIC, encargada de chequear la integridad de los datos.

5. La clave MIC se aplica al paquete desencriptado y se calcula el valor del campo MIC de chequeo de integridad.

MIC = HMAC_MD5(MIC Key, 16, 802.1x data)

6. Se compara con el valor del campo MIC del paquete original encriptado. Si coinciden, se ha encontrado la PMK correcta y por
ende la PSK correcta.

Para las siguiente experiencias se va a utilizar la herramienta Aircrack-ng, que se encuentra en la carpeta Redes
Inalámbricas/aircrack-ng. Su uso se explica con más detalles en la práctica Seguridad básica en WLAN mediante WEP

Antes de intentar capturar en vivo el 4-way handshake de inicio de una sesión, es conveniente familiarizarse con dos archivos de
prueba que trae aircrack-ng.
-14-
 wpa.cap: Es un archivo que contiene la captura del handshake para WPA. Se encuentra en la carpeta test. La clave WPA es
biscotte.
 wpa2.eapol.cap: Es un archivo que contiene la captura del handshake para WPA2. Se encuentra en la carpeta test. La clave
WPA2 es 12345678.

En esa misma carpeta se encuentra un corto diccionario llamado password.lst que contiene esas 2 palabras.

Abra uno de los archivos con un sniffer como Wireshark o CommView for WiFi. Puede poner un filtro de postcaptura para ver
sólo el tráfico del protocolo EAPOL.

Analice el contenido de los 4 paquetes de handshake, en particular en Nonce y en Replay Counter. Una buena explicación se
encuentra en el Tutorial: WPA Packet Capture Explained. Note que el AP inicia el handshake enviando el primer paquete con un
Nonce y un valor de Replay Counter. El segundo paquete (de respuesta) lleva su propio Nonce y el mismo valor de Replay
Counter. Los paquetes 3 y 4 llevan también idénticos valores de Replay Counter, todo esto para impedir ataques de réplica.

En la carpeta bin de Aircrack-ng ejecute el programa Aircrack-ng GUI haciendo simplemente doble clic sobre el mismo.
Seleccione WPA y seleccione el archivo wpa.cap que se encuentra en la carpeta test y la lista de palabras password.lst que se
encuentra en esa misma carpeta. Quizás deba arreglar la ruta de esos 2 archivos para que el programa los encuentre.
-15-

Pulse el botón Launch ubicada al fondo y observe como se consigue la clave WPA biscotte rápidamente.

Repita la experiencia cargando wpa2.eapol.cap y vea como también consigue la clave WPA2, que es 12345678.

Abra el archivo password.lst con WordPad o con Word (no con el Bloc de Notas) y cambie la palabra 12345678 por otra (por
ejemplo 12345678). En este caso el ataque evidentemente falla.

Claramente la mejor defensa contra este tipo de ataque es usar una clave larga para que sea muy grande el número de
combinaciones posibles.

Estos son algunos criterios que se recomiendan:


 La longitud de la clave debe ser de al menos 10 caracteres, preferiblemente más de 20.
 La clave debe estar compuesta por una combinación de letras mayúsculas, minúsculas, dígitos y símbolos especiales como los
siguientes: ` ~ ! @ # $ % ^ & * ( ) _ + - = { } | [ ] \ : " ; ' < > ? , . /
 No debe usarse una palabra o nombre común que aparezca en un diccionario.
 No debe haber una relación obvia con el usuario, sus familiares, el grupo de trabajo, y otras asociaciones parecidas.

Crackear una clave PSK depende absolutamente de que la palabra se encuentre en el diccionario. Por lo que es muy importante
usar un buen diccionario. En la carpeta Contraseñas\Diccionarios del material de apoyo hay varios diccionarios.

En Internet se consiguen dccionarios muy extensos, por ejemplo efectuando una búsqueda en Google de wordlist. En
WeakPass.com hay una buena colección.
-16-

Para crear diccionarios específicos y crackear contraseñas se pueden usar herramientas avanzadas como Hashcat, Pyrit, John the
Ripper, Crunch. Muchas están incluidas en Kali-Linux y su uso se explica en algunos de los libros sobre Seguridad en Redes
Inalámbricas, por ejemplo Hacking Exposed - Wireless (Chapter 4).

Una vez aprendido a usar aircrack-ng contra WPA/WPA2, el siguiente paso es tratar de capturar en vivo los 4 paquetes del 4-way
handshake. Como se mencionó antes, en un ataque pasivo hay que tener paciencia y esperar a que un usuario se conecte. Mucho
más rápido es llevar a cabo un ataque activo de desautenticación con aireplay-ng contra un cliente conectado, para así forzarlo a
reconectarse. Se recomienda utilizar Kali Linux y colocar el adaptador inalámbrico en modo monitor, como se explica en la
práctica Captura de tráfico en WLAN.

Para efectuar la captura se requiere que haya tráfico WPA/WPA2 en las cercanías. Practique primero con su propio punto de
acceso Wi-Fi.

Empiece la captura con airodump-ng:

# airodump-ng wlan0

Si el adaptador soporta bien el modo monitor, aparecerá una ventana como la siguiente, donde al adaptador cambia de canal
periódicamente, intentando detectar todas las redes y los datos mostrados van cambiando:

Seleccione el blanco (preferiblemente que tenga tráfico) y tome nota de su ESSID (ej. WLAN3-VM), su BSSID (ej.
00:1B:11:89:2D:86) y su canal (ej. 3). Pare airodump-ng mediante Control+C.

Ahora debe configurar el adaptador para que opere en modo monitor y solo en ese canal.

# iwconfig wlan0 mode monitor channel 3

Vuelva a iniciar airodump-ng, especificando el canal y el archivo donde va a escribir los datos capturados (por ejemplo prueba):

# airodump-ng wlan0 -c 3 -w prueba

Inmediatamente empieza la captura y las estadísticas se muestran en la pantalla. Los datos se guardan en el archivo prueba-01.cap.
Note que también se capturan los canales adyacentes al canal preseleccioando. Téngase en cuenta que con un solo handshake es
suficiente; no hace falta capturar decenas de miles de paquetes, como con el ataque a WEP. Además el evento aparece anunciado
en airodump-ng, así que esté pendiente.
-17-

Quizás tenga que esperar bastante tiempo para que aparezca el handshaking que le interesa. Además en el canal que está
capturando puede haber muchos puntos de acceso que generan tráfico y entonces el archivo de captura se va haciendo muy grande.
Para capturar sólo el tráfico de la red que le interesa, ponga su BSSID:

# airodump-ng wlan0 -c 3 -w prueba -b 00:1B:11:89:2D:86

Pero si a pasar de sus esfuerzos no logró capturar ningún handshake, entonces puede intentar un ataque 0 de desautenticación, que
desconecta a uno o a todos los clientes de una AP, provocando que se tengan que volver a reautenticar y así efectuar el handshake.
Pero antes es conveniente determinar si su adaptador puede inyectar tráfico, mediante el test de inyección:

# aireplay-ng -9 wlan0

Si aparece un mensaje Injection is working! puede ejecutar el ataque 0 de desautenticación:

# aireplay-ng -0 1 -a 00:1B:11:89:2D:86 -c 00:14:A5:A3:19:E6 wlan0

El valor 1 indica que se ejecutará el ataque 1 vez. Para que el ataque sea continuo, provocando negación de servicio (DoS) ponga 0.
Programas como Kismet puede alertar contra este tipo de ataque, por lo cual no es conveniente abusar. El parámetro -a indica el
BSSID de la red, es decir la dirección MAC del punto de acceso y opcionalmente con -c se indica la dirección MAC de uno de los
clientes que esté conectado (el ataque es más efectivo). Si omite este último, todos los clientes serán desautenticados, lo cual no es
conveniente. Las direcciones MAC requeridas las puede averiguar de la corrida con airodump-ng hecha previamente. Si el ataque
resulta, el efecto que se produce en las máquinas conectadas es casi inmediato, tal y como se puede apreciar.

Pero por ahora usted no puede de inmediato si el cliente se vuelve a conectar al punto de acceso o no. Usualmente se reconecta de
forma automática o manual.

Cuando se reconecte y usted capture el handshake, podrá finalmente utilizar aircrack-ng, tal como se explicó anteriormente. Si
desea usar Linux, el comando es:

# aircrack-ng -w password.lst *.cap

Donde:

-w password.lst es el nombre del diccionario con la lista de palabras. Debe especificar la ruta completa si el archivo no se
encuentra en el directorio actual.

*.cap es el nombre de los archivos de captura. En este caso se está usando el comodín * para incluir múltiples archivos.

Una vez lanzado el ataque, si la contraseña está en el diccionario y éste es corto, aircrack-ng la consigue rápidamente.
-18-

De otro modo podría pasarse toda la vida esperando encontrarla! Como ejemplo, usando un diccionario con más de 4 millones de
posibles contraseñas a una tasa de 170 palabras/segundo puede tardar más de 5 horas en encontrarla. Parte de la lentitud en el
chequeo se debe al cálculo de PMK, que básicamente toma la clave PSK, el SSID, la longitud del SSID y calcula un resumen
(hash) 4096 veces, obteniendo 256 bits:

PMK = PBKDF2(PSK, SSID, SSIDlength, 4096, 256)

Este cálculo lleva tiempo, ya que se repite 4096 veces. Pero a excepción de PSK, los demás valores son siempre los mismos para
un dado SSID. Siendo esto así, se podría generar para cada SSID, una tabla hash que contenga la PMK para los distintos valores de
PSK del diccionario y utilizarla contra los puntos de acceso que tengan ese SSID. Se trata de algo vagamente parecido a los que
son las tablas Rainbow utilizadas para encontrar las contraseñas de Windows. Esto es precisamente los que hace la utilidad genpmk
de coWPAtty, que se encuentra preinstalada en Kali Linux. Pero la generación de esa tabla podría llevar tanto tiempo como el
ataque directo. ¿Donde está la ventaja entonces? La explicación es muchos puntos de acceso operan con el SSID que traen de
fábrica (ej. Linksys) y en Internet se consiguen tablas para esos nombres comunes. De ahí la conveniencia de compartir en Internet
este tipo de archivos.

Nuevos métodos de ataque a redes Wi-Fi WPA/WPA2


El desarrollador Jens Steube, de la aplicación de cracking HashCat, encontró una nueva vulnerabilidad en las redes Wireless
protegidas con WPA-WPA2 PSK (Pre-Shared Key) con fast roaming activado, ya que son vulnerables a un nuevo método de
ataque. A diferencia de otros ataques no se necesita ningún cliente conectado, ya que se ataca directamente al router obteniendo el
valor PMKID. Tampoco requiere full handshake (4 vías). El PMKID se calcula utilizando HMAC-SHA1 donde la clave es PMK y
la parte de datos es la concatenación de una etiqueta de cadena fija "Nombre PMK", la dirección MAC del punto de acceso y la
dirección MAC de la estación. Más información buscando en Google.

El WPS (Wi-Fi Protected Setup) de los dispositivos inalámbricos entre los que destacan routers y puntos de acceso, es una
característica incorporada en el estándar 802.11N para facilitar la conexión de los clientes inalámbricos a estos equipos, sin
necesidad de introducir largas contraseñas de acceso. WPS además permite sincronizar los equipos de forma automática durante 60
segundos con tan sólo presionar un botón en cada dispositivo (router o AP y cliente inalámbrico). En 2015 se descubrió una grave
vulnerabilidad que permitía crackear el código PIN del WPS, por lo que cualquier atacante ya no necesitaría crackear una
contraseña WPA o WPA2 con muchos caracteres, sino que simplemente podría realizar un ataque de fuerza bruta contra el WPS
que tiene tan sólo 8 dígitos. Con una longitud de 8 dígitos el número de combinaciones es de 10^8, sin embargo, la arquitectura del
PIN de WPS divide el PIN en dos subpines. El PIN1 tiene cuatro dígitos y por tanto el número de combinaciones es de 10^4. El
PIN2 varía dependiendo del fabricante, en el primer caso (y más común) se utiliza el último dígito como checksum, por lo que el
número de combinaciones de este PIN2 es de tan sólo 10^3, en el segundo y último caso se usaría este último dígito como PIN
también, en este caso el número de combinaciones sería de 10^4. Por tanto, estamos ante una tecnología que con un máximo de
-19-
20.000 combinaciones se podría crackear, aunque normalmente son 11.000 combinaciones por usar el último dígito como
checksum. Crackear un PIN WPS lleva muy poco tiempo si el router o AP no limitan el número de intentos ni se satura, de hecho
más grave es que algunos operadores proporcionen un PIN WPS predeterminado en sus equipos, por lo que las herramientas
necesarias podríamos crackear un PIN WPS en máximo 30 segundos. Se ha descubierto un método para realizar ataques contra el
WPS de los routers sin necesidad de que el router de la víctima esté encendido para realizar un ataque por fuerza bruta, de esta
forma basta con capturar el intercambio de paquetes en un primer intento y posteriormente de manera offline crackear la
contraseña. Este método es mucho más rápido que de forma online debido a que no hay que probar cientos de PIN contra el router,
por lo que se ahorra mucho tiempo. Más información buscando en Google.

Sección F: Informe

Elabore un informe de no menos de 8 páginas donde se reportan las experiencias más relevantes, se analizan los resultados
obtenidos, finalizando con conclusiones y eventuales recomendaciones.
El informe debe ser individual y redactado con palabras propias; no se permite repetir el texto del material que se encuentra en
esta guía, en el material de apoyo o en otras fuentes. Debe contener un resumen de las actividades realizadas, con ejemplo de
resultados. Deben analizarse y discutirse esos resultados, en particular si se presentaron problemas o aspectos inesperados.
También deben incluirse las conclusiones y eventuales recomendaciones.
Los informes deben enviarse regularmente al profesor a lo largo del curso, mediante el correo electrónico. Serán penalizadas las
entregas retrasadas y no se aceptarán entregas muy retrasadas. Además NO se aceptarán informes entregados todos juntos los
últimos días de finalización del curso.

También podría gustarte