viernes, agosto 01, 2008

Atacar WPA/WPA2 PSK (parte I de IV)

***************************************************************************************
Atacar WPA/WPA2 PSK (parte I de IV)
Atacar WPA/WPA2 PSK (parte II de IV)
Atacar WPA/WPA2 PSK (parte III de IV)
Atacar WPA/WPA2 PSK (parte IV de IV)
***************************************************************************************
[Este artículo ha sido escrito por Alejandro Martín y Chema Alonso]

Hablar de seguridad Wireless en el ámbito domestico es hablar, irremediablemente, de WPA/WPA2 PSK, dejando a un lado el viejo y vulnerado cifrado WEP. Sí, existen puntos de Acceso WiFi con servidor RADIUS incorporados, pero no es lo más común que se encuentra en el router que utiliza una familia para conectarse a Internet en su casa.

En el presente artículo vamos a ver de forma práctica cómo funcionan las amenazas en WPA/WPA-2 PSK en el ámbito domestico. Para ello se verá como se puede atacar una infraestructura de estas características y cuáles son las recomendaciones de seguridad.

WPA/WPA2

WPA [Wifi Protected Access] surge como una solución temporal de la Wi-Fi Alliance mientras que en IEEE se trabajaba sobre el estándar IEEE 802.11i para securizar las redes Wireless una vez que quedó de manifiesto la debilidad de WEP [Wired Equivalent Privacy]. Cuando IEEE sacó a la luz 802.11i, la Wi-Fi Alliance proporcionó la certificación WPA2 a todos aquellos dispositivos que cumplían con las especificaciones marcadas por el nuevo estándar. Ambas soluciones, WPA y WPA2, soportan el protocolo 802.1x para la autenticación en ámbitos empresariales y la autenticación mediante clave compartida (PSK) [Pre-Shared Key] para los entornos SOHO [Small Office and Home Office] y ámbitos domésticos.

WPA y WPA2 se diferencian poco conceptualmente y difieren principalmente en el algoritmo de cifrado que emplean. Mientras WPA basa el cifrado de las comunicaciones en el uso del algoritmo TKIP [Temporary Key Integrity Protocol], que está basado en RC4 al igual que WEP, WPA2 utiliza CCMP [Counter-mode/CBC-MAC Protocol] basado en AES [Advanced Encrytion System]. La segunda diferencia notable se encuentra en el algoritmo utilizado para controlar la integridad del mensaje. Mientras WPA usa una versión menos elaborada para la generación del código MIC [Message Integrity Code], o código “Michael”, WPA2 implementa una versión mejorada de MIC.

Lógicamente, a la hora de elegir cómo securizar la red domestica, mejor decantarse por WPA2-PSK debido a que la fortaleza de cifrado de AES es netamente superior a la de TKIP. Sin embargo, si no se cuenta con el hardware que soporte esta tecnología es perfectamente válido el uso de WPA-PSK pues la principal vulnerabilidad de WPA-PSK y WPA2-PSK no se encuentra en el algoritmo de cifrado sino en la fortaleza de la clave utilizada.

Arquitectura WPA/WPA2 PSK

Tanto WPA-PSK como WPA2-PSK adolecen de vulnerabilidad y es posible atacar estas tecnologías con el objetivo de poder hacer uso de la red e incluso escuchar y analizar el tráfico que por ella se propaga. En este articulo se pretenden reflejar por qué y dónde es vulnerable WPA-PSK y WPA2-PSK, cómo explotar esta vulnerabilidad y cómo proteger adecuadamente la red.

Para entender las vulnerabilidades hemos primero de analizar el proceso de asociación de un cliente a la red wireless. Independientemente del sistema de seguridad que se elija para la red (WEP, WPA-PSK o WPA2-PSK), el proceso de asociación es siempre el mismo. Este proceso va a depender de si el punto de acceso está emitiendo tramas “Beacon Frame” para el anuncio de la red mediante la publicación de su ESSID [Extended Service Set Indentifier] o no.

Si el punto de acceso está emitiendo tramas “Beacon frame” el cliente se conecta a la red en dos fases, una primera Fase de Autenticación, que podrá ser abierta o con clave compartida, y una segunda Fase de Asociación.

En el supuesto caso de que el punto de acceso no esté emitiendo “Beacon frames” existe una Fase de Prueba inicial dónde el cliente envía el ESSID de la red wireless a la que quiere conectarse esperando que el punto de acceso responda y así iniciar las fases de Autenticación y Asociación. Todo este proceso, para una conexión WPA2-PSK puede verse en la imagen siguiente. En ella se pueden ver las tres fases descritas.

Imagen 1: Negociación WPA2-PSK en una red sin publicación de ESSID

La única diferencia con una red Abierta o WEP, es que punto de acceso y cliente acuerdan la política de seguridad a seguir, siendo ésta la primera fase del proceso de autenticación de una red WPA/WPA2.

Esta forma de funcionar es importante conocerla, pues como puede verse en al imagen, el cliente se conecta inicialmente a la red sin que haya comenzado el proceso de autenticación WPA/WPA2, tanto si es por medio de PSK como si no, por lo que el tráfico enviado todavía no está siendo cifrado. Debido a esta situación un atacante podría mandar una trama de des-asociación a un cliente de la red provocando que éste se desasocie e inicie un proceso de asociación nuevamente y un nuevo proceso de autenticación WPA/WPA2. A esto se le conoce como el ataque 0 o de des-asociación.

Este proceso de re-autenticación se realizaría únicamente si la conexión se tratase de WPA/WPA2 empresarial, es decir, la conexión está configurada utilizando 802.1x para la autenticación del puerto y EAP [Extended Authetication Protocol] contra un servidor RADIUS [Remote Authentication Dial-In Service] para autenticar la conexión. En el caso de WPA/WPA2 con PSK se pasa directamente a la fase de intercambio de claves.

En la fase de Intercambio de claves el cliente y el AP utilizan la PSK para generar un clave llamada PMK [Pairwise Master Key]. Esta PMK es una derivada cuando el sistema es WPA/WPA2 empresarial pero es la misma PSK en los entornos WPA/WPA2 PSK.

Con la PMK se genera una clave de cifrado para cada proceso de autenticación de un cliente llamada PTK que básicamente se genera a partir de dos números aleatorios, uno de ellos generado por el cliente y el otro por el punto de acceso que intercambian para obtener ambos la misma clave PTK. Este proceso se llama 4-way-Handshake.

Una vez que el cliente está autenticado, el protocolo TKIP utiliza 6 claves de cifrado por cada sesión, 4 de ellas son utilizadas para comunicaciones unicast y 2 para comunicaciones broadcast. Estas claves son únicas por cliente y sesión y se cambian periódicamente. Estas claves se generan a partir de derivadas de las direcciones MAC, ESSID y la PTK.

¿Cómo puede ser vulnerada la red WPA/WPA2 PSK?

Un atacante que quiera vulnerar una red WPA-PSK va a tratar de capturar ese intercambio de números aleatorios, para una vez conocidos estos, junto con el SSID y las direcciones MAC del cliente y el punto de acceso de la red obtener la frase o secreto compartido que se utilizó. Una vez que el atacante tenga la clave compartida se podrá conectar a la red.

¿Podrá el atacante acceder al tráfico generado por otro usuario?

En teoría no debería poder, pues las claves TKIP que se generan son únicas y por sesión pero sí el atacante está conectado a la red y captura todo el proceso de autenticación de otro usuario podría acceder a los números aleatorios intercambiados y al poder conocer el ESSID, la PSK y la MAC del cliente y el punto de acceso, podría generar la PTK. Con la PTK podría descubrir cuáles son las claves TKIP que se intercambian cifradas. Una vez que el atacante tiene las claves TKIP tiene acceso a todo el tráfico y por tanto SÍ puede acceder a los datos transmitidos. El proceso con WPA2-PSK es similar y el atacante buscará las claves que se intercambian en AES-CCMP.

¿Se podrá modificar la información en tránsito?

WPA y WPA2 implementan de forma distinta el MIC [Message Integrity Code] y, aunque en teoría el MIC de WPA podría ser engañado, las condiciones para poder realizar dicho cambio no se dan en la implementación práctica que se hace. Está bien explicado este aspecto y puedes leer más sobre él en el trabajo “Observations on the Message Integrity Code in IEEE802.11Wireless LANs” de Jianyong Huang, Willy Susilo y Jennifer Seberry de la School of Information Technology and Computer Science de la University of Wollongong en Australia.

No obstante, si deseas conocer a fondo la teoría de los ataques a los protocolos Wireless, el artículo de Guillaume Lehembre, publicado en la revista Hackin9 es de lo mejor que existe. Y además, está traducido al castellano: Seguridad WiFi – WEP, WPA y WPA2

[Continuará]

***************************************************************************************
Atacar WPA/WPA2 PSK (parte I de IV)
Atacar WPA/WPA2 PSK (parte II de IV)
Atacar WPA/WPA2 PSK (parte III de IV)
Atacar WPA/WPA2 PSK (parte IV de IV)
***************************************************************************************

5 comentarios:

CentOS with his head so faaaar away xD dijo...

Un post cojonudo (y neutro, no se te ve el plumero hoy jajajaja)

Esperemos que no lo dejes a medias como el de protección contra troyanos bancarios :PPP

Saludos!!

Wi®

PD: Hoy Vacacioneeeeeesss rediossssss xD (pienso pasarme borracho dos semanas del tirón) xDD

an0nim0 dijo...

Muy buen post.
Un saludo

Tonio dijo...

Gracias por la entrada... esperamos las próximas!

Maligno dijo...

@centos, el otro no lo dejé a medias, es que sale en la PC World de Septiembre. A princios de Octubre saldrán las partes que faltan. ;)

Anónimo dijo...

Muy bueno el post, me enseño como mejorar la encriptacion de mi wireless, Gracias!!!

Eleven Paths Blog

Seguridad Apple

Entradas populares