Seguridad en Redes WiFI WEP

15
Enrique de la Hoz, Iván Marsá Maestre y Bernardo Alarcos SEGURIDAD EN REDES INALÁMBRICAS WEP DOC Auditoría de redes inalámbricas WEP En esta actividad analizaremos algunas de las técnicas más empleadas para auditar redes inalámbricas

description

Introducción a la seguridad y la auditoría de redes inalámbricas protegidas por WEP. Este documento formaba parte del material de la asignatura 'Seguridad' de la titulación del Grado en Ingeniería Telemática de la Universidad de Alcalá. Autores: Iván Marsá Maestre y Enrique de la Hoz. Grupo de Ingeniería de Servicios Telemáticos (GIST). Universidad de Alcalá (Spain)

Transcript of Seguridad en Redes WiFI WEP

Page 1: Seguridad en Redes WiFI WEP

Enrique de la Hoz, Iván Marsá Maestre y Bernardo Alarcos

SEGURIDAD EN REDES

INALÁMBRICAS WEP

DOC Auditoría de redes inalámbricas WEP

En esta actividad analizaremos algunas de las técnicas más empleadas para auditar redes inalámbricas

Page 2: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 1

ÁREA DE INGENIERÍA TELEMÁTICA

Seguridad en Redes Inalámbricas WEP S E G U R I D A D

ÁREA DE INGENIERÍA TELEMÁTICA ............................................................................................ 1 1. Introducción ............................................................................................................................ 1 2. Herramientas .......................................................................................................................... 2 3. WEP (Wired Equivalent Privacy) ............................................................................................ 2

3.1. Descripción ........................................................................................................................ 2 3.2. Anatomía de un ataque WEP ............................................................................................ 5

4. Auditoría de una red inalámbrica con WEP ............................................................................ 6 4.1. Introducción ....................................................................................................................... 6 4.2. Detección de redes inalámbricas ....................................................................................... 7 4.3. Generación de Tramas ...................................................................................................... 7 4.4. Captura de Tráfico ........................................................................................................... 12 4.5. Romper la clave WEP ...................................................................................................... 12 4.6. Probando a Asociarnos ................................................................................................... 13

5. Referencias ........................................................................................................................... 13

1. Introducción Las distintas tecnologías inalámbricas para redes PAN (Personal Area Network), LAN (Local Area Network) o WAN (Wide Area Network) han revolucionado la forma que tienen los usuarios de acceder a las redes de ordenadores. Son para todos ya familiares términos como Bluetooth o WiFi, y muy pronto lo serán otros como Zigbee, WiMAX o WiMAX Mobile. Algunas de estas tecnologías se perfilan, por ejemplo, como candidatas a ser la tecnología que sirva de base para la futura telefonía de cuarta generación. Mientras todo esto ocurre, en el momento actual WiFi ha alcanzado un éxito muy notable extendiéndose desde el ámbito doméstico (SOHO, Small Office Home Office) hasta ámbitos corporativos.

Cuando trabajamos con tecnologías inalámbricas, por su propia naturaleza, cualquiera que esté en el radio de cobertura de los dispositivos empleados (nodos o infraestructura) tiene acceso a las transmisiones realizadas. En este caso no se dispone de la protección implícita que proporcionan las comunicaciones cableadas: no tenemos puntos de red que podamos restringir o proteger, el medio es compartido. Es por ello que sea necesario proteger adecuadamente las comunicaciones cuando se trabaja con estas tecnologías y establecer algún tipo de control de acceso al medio apropiado para estos ámbitos. Es en este escenario en el que surgen los distintos protocolos para la protección de las comunicaciones inalámbricas. En el ámbito de las redes WiFi, el estándar 802.11 prevía la utilización del protocolo WEP (Wired Equivalent Privacy) para

Page 3: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 2

asegurar estas comunicaciones. Sin embargo, y como veremos hoy, pronto se encontraron graves problemas en dicho protocolo que aconsejaron su abandono. El protocolo WPA (WiFi Protected Access) surgió como una solución transitoria hasta que finalmente es estandarizó 802.11i, que es la sección del estándar donde se definen mecanismo de seguridad robutos para este tipo de entornos.

Podéis encontrar una panorámica de estas soluciones en el documento “Establishing Robust Wireless Network Security Network: A Guide to 802.11i” publicado por el NIST.

En este documento analizaremos el problema de la seguridad en las redes inalámbricas, estudiar los principales protocolos existentes para su protección, comprender los problemas de seguridad más grave que tienen estos protocolos y las herramientas para su auditoría y, finalmente, ser capaz de proponer arquitecturas para asegurarlas de forma conveniente.

Para la realización de las actividades descritas en este documento es necesario disponer de un ordenador equipado con tarjeta inalámbrica con una distribución para la auditoría de redes inalámbricas como Wifiway1 o Wifislax2. Por tanto, es necesario tengáis vuestro portátil con una copia de las distribuciones anteriores grabada en un CD o USB autoarrancable.

2. Herramientas En este apartado referenciamos alguna de las herramientas básicas para este tipo de entornos:

1. Easside-ng: herramienta que automatiza todos los pasos descritos en el apartado ‘Anatomía de un ataque WEP’ empleando las técnicas ChopChop y de fragmentación para conseguir acceder al punto de acceso, sin necesidad de conocer la clave WEP.

2. Aircrack3: conjunto de herramientas de auditoría de redes inalámbricas. Permite la recuperación de claves WEP y WPA-PSK una vez que se disponga de suficientes paquetes de datos. Implementa el ataque FMS así como otras optimizaciones como KoreK así como el ataque PTW.

3. WiFiSlax: distribución Linux basada en Backtrack orientada a la auditoría de redes inalámbricas. http://www.wifislax.com/

4. Wifiway: otra distribución orientada a la auditoría: http://www.wifiway.org/

3. WEP (Wired Equivalent Privacy)

3.1. Descripción WEP (Wired Equivalent Privacy) consiste en un cifrador de flujo que se emplea para cifrar el campo de datos de los paquetes de datos en redes 802.11. Según el protocolo 802.11, la cabecera siempre se envía en claro así como todas las tramas de gestión y control.

1 http://www.wifiway.org/ 2 http://www.wifislax.com/ 3 http://www.aircrack-ng.org/

Page 4: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 3

Fig. 1: Cabecera 802.11

(Fuente: “Establishing Robust Wireless Network Security Network: A Guide to 802.11i”)

El protocolo 802.11 establece la utilización del protocolo RC4 con claves de 40 y 104 bits en WEP. Para la construcción del keystream en RC4, se utiliza como semilla (seed) la concatenación de la clave secreta y un vector de inicialización (inicialization vector, IV) de 24 bits. Con esta semilla se alimenta inicialmente el algoritmo de generación del keystream de RC4. La salida del cifrador viene dada por el XOR de este keystream con el texto en claro. Previamente al cifrado, se añade una suma de comprobación no criptográfica (checksum, CRC32) a los datos. Esta suma junto con los datos es cifrada usando RC4. El proceso de descifrado es similar, se recupera el texto cifrado mediante un XOR con el keystream y se verifica el CRC. La trama resultante se muestra en la siguiente figura (sombreada la parte cifrada):

Figura 2: Estructura de las tramas 802.11 cifradas

(Fuente: “Establishing Robust Wireless Network Security Network: A Guide to 802.11i”)

El vector de inicialización empleado para producir la semilla de RC4 se envía en claro junto con la trama de datos. Habitualmente cada trama de datos tendrá un IV diferente aunque en la práctica, las implementaciones tienden a usar un contador lineal para la generación de IVs. Este contador se incrementa en una unidad cada vez que se envía una nueva trama.

Cada vector de inicialización distinto dará lugar a un keystream. Por tanto, una misma clave puede producir 224 textos cifrados distintos para un mismo texto en claro. Es necesario que el receptor conozca cuál es el IV

Page 5: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 4

que se ha utilizado para cifrar un mensaje, de otro modo no podrá descifrarlo correctamente. También sería posible emplear siempre el mismo IV pero en esa situación, recuperando un único keystream seríamos capaces de descifrar todos las tramas intercambiadas.

Podríamos recuperar un keystream haciendo un XOR entre el texto cifrado y su correspondiente texto en claro. Es posible obtener texto cifrado sin más que escuchando en la red inalámbrica. Si somos capaces de obtener el keystream que ha sido usado para producir un texto cifrado, podríamos ser capaces de inyectar tráfico en la red sin más que reutilizando el vector de inicialización que usara la trama capturada. Ese keystream podría ser servir también para descifrar cualquier paquete futuro que contuviera el mismo IV. El problema estriba, por tanto, en determinar el texto en claro correspondiente a un determinado criptograma.

Los primeros esfuerzos en esa línea fueron encaminados a tratar de determinar cuál era la clave utilizada usando un ataque de fuerza bruta. Una clave de 40 bits es accesible mediante un ataque de fuerza bruta. Este esfuerzo se reducía más incluso para algunas implementaciones que usaban un algoritmo de derivación de claves WEP a partir de una contraseña introducida por el usuario. Algunas de estas implementaciones empleaban un algoritmo de conversión que generaba claves con tan sólo 21 bits de entropía4. Para conjurar esta amenaza, se introdujo el soporte para claves de 104 bits que sí ofrecían una resistencia efectiva frente ataques de fuerza bruta.

Estudios posteriores revelaron que la seguridad de WEP era independiente de su clave o que hacía que los intentos de aumentar la seguridad de WEP aumentando el tamaño de clave fueran inútiles. Una vez que se recupera un keystream, es posible emplear dicho keystream para transmitir más paquetes. El problema estriba, una vez más, en ser capaces de recuperar dicho keystream. Poco a poco se fueron descubriendo mecanismos para ser capaces de recuperar algunos keystream siendo el más práctico de todos ellos el que se basaba en el mecanismo de autenticación que usaba WEP (Shared Key Authentication). Junto con los mecanismos de cifrado, WEP preveía la utilización de un procedimiento para controlar el acceso a la red. Este mecanismo consistía en que el punto de acceso enviaba al usuario un desafío en claro al que se debía responde con la versión cifrada de dicho desafío. Un atacante podría capturar ambos valores y determinar un keystream. Empleando este keystream, el atacante puede transmitir indefinidamente.

Como respuesta a este problema, se aconsejó abandonar ese mecanismo de autenticación en favor de otros como el filtrado MAC o la ocultación del SSID. Ambos mecanismos son inútiles dado que simplemente observando el tráfico transmitido en la red es posible determinar tanto direcciones MAC de equipos autorizados y suplantarlos como el propio SSID de la red a partir de las peticiones de asociación. Sin embargo, seguía sin proponerse ningún mecanismo para evitar la reutilización de keystreams con el argumento de que el alto número de keystreams posibles (224) hacían el ataque impracticable.

Posteriores estudios revelaron que la clave podía ser calculada si se era capaz de recopilar un número suficientemente alto de tramas que contuvieran cierto tipo de IVs denominados IVs débiles (weak IVs). El ataque FMS [4] que presentaremos en la siguiente sección se basa en estos estudios. No fue un descubrimiento nuevo sino que se basaba en propiedades de RC4 que ya se conocían cuando WEP fue propuesto. Con un único IV débil es posible recuperar correctamente un byte de la clave con probabilidades que van desde un 5% a un 13%. Con un número suficientemente alto de IVs, es posible recuperar la clave completa. Para tratar de combatir esta amenaza, se propuso que el hardware filtrara los IVs débiles. Sin

4 Tim Newsham ,‘Cracking WEP Keys’, BlackHat USA’01, disponible en http://www.blackhat.com/presentations/bh-usa-01/TimNewsham/bh-usa-01-Tim-Newsham.ppt

Page 6: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 5

embargo, este filtrado no fue efectivo para el filtrado de todos los IVs débiles, en especial aquellos que arrojaban mayores probabilidades de recuperar los bytes de la clave. El ataque más efectivo de los que emplean estas técnicas es el llamado ataque PTW [6]. Se han publicado ataques5 que permitirían recuperar una clave WEP con menos de 10000 tramas, algo que puede conseguirse en unos 20 segundos [8].

Hay dos problemas específicos relacionados con los ataques que hemos descrito hasta ahora:

1. Cómo recuperar un keystream 2. Cómo acelerar el ataque empleando IVs débiles.

Se propusieron mecanismos para solucionar estos dos problemas. Algunos investigadores demostraron que era posible recuperar un byte de keystream usando un máximo de 256 tramas. Para acelerar el ataque basado en IV débiles, se propuso un ataque basado en la repetición de paquetes WEP. Si un paquete que exige una respuesta es repetido, se generará tráfico en la red y el atacante no tendrá que esperar simplemente a capturar tráfico sino que podrá generar tráfico que pueda contener IVs débiles. El ataque ChopChop [7] se basa en este principio.

Llegados a este punto los fabricantes se dieron cuenta de que WEP no servía. La única contramedida es cambiar frecuentemente la clave WEP (cada pocos minutos) usando mecanismos basados en EAP.

3.2. Anatomía de un ataque WEP Utilizando las técnicas descritas en el apartado anterior, podríamos estructurar un ataque de la siguiente forma:

1. Capturar una trama de datos. 2. Recuperar 8 bytes del keystream realizando un XOR con el texto en claro conocido (las tramas

802.11 siempre comienzan con los campos LLC header y SNAP que son prácticamente constantes). Se empleará la versión basada en IP o en ARP en función de la longitud de la trama capturada (las tramas ARP suelen tener una longitud fija de 36 bytes). Utilizando los procedimientos de fragmentación 802.11, es posible transmitir dividir una trama en 16 fragmentos. Usando los 8 bytes de keystream obtenidos, sólo podemos incluir 4 bytes datos en cada fragmento puesto que cada fragmento debe incluir su correspondiente CRC de 32 bits. Por tanto podemos enviar datos arbitrarios siempre que su tamaño no exceda 64 bytes. Mediante el empleo de fragmentación IP podríamos enviar paquetes mayores.

3. Recuperar 1500 bytes de keystream mediante el envío de tramas de broadcast en fragmentos pequeños (requiere el envío de 34 tramas). Tras este paso, es posible la transmisión de cualquier cantidad de datos arbitrarios sin necesitar el procedimiento basado en fragmentación.

4. Si se dispone de conexión con el exterior, se debe intentar obtener la dirección IP y la dirección MAC del router. Un forma de hacerlo es reenviar un paquete de datos capturado a un host de Internet bajo nuestro control, usando fragmentación, una dirección IP cualquiera y asumiendo que el punto de acceso es el router. El punto de acceso descifrará la trama que será recibida por el host de Internet que a su vez nos la enviará de vuelta.

5. Si no es posible el paso anterior, obtener la dirección IP de la red (asumimos los tres primeros bytes), descifrando la dirección IP contenida en el campo de datos de una trama empelando la técnica lineal de expansión del keystream (ataque ChopChop). Esta técnica requiere la transmisión de

5 http://www.youtube.com/watch?v=86YyP7y_EwQ

Page 7: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 6

aproximadamente 384 (256 valores/byte x 3 bytes /2) tramas una vez que se ha capturado una trama ARP request. Llegados a este punto es posible comunicarse con otros hosts de la red.

6. Obtener la dirección MAC del router. Este paso sólo es necesario si se precisa acceso a Internet. Hay varias formas de hacer esto:

a. Probar con la dirección MAC del punto de acceso. Muchos puntos de acceso trabajan también como routers.

b. Probar con las MAC más populares en la red (a partir del análisis del tráfico capturado). c. Enviar una trama de petición ARP (ARP Request) preguntando por las direcciones IP más

comunes para los routers de una red (.1, .254,…), interceptar la respuesta ARP y extraer la dirección MAC origen de la cabecera de 802.11 (texto en claro).

d. Enviar una petición DHCP y descifrar la respuesta utilizando la técnica de expansión lineal del keystream.

Tras este paso sería posible acceder a Internet. 7. Descifrar datos interesantes:

a. Si hay acceso a Internet, tratar de enviar datos a un host de Internet bajo nuestro control. En este momento, es posible descifrar datos en tiempo real con una sobrecarga de tan sólo dos tramas: un fragmento 802.11 que contenga una cabecera IP seguido de otro fragmento con el campo de datos cifrado original.

b. Si no hay acceso a Internet, emplear la técnica lineal de expansión del keystream. Cada byte que queramos descifrar requerirá el envío de 128 tramas en media.

8. Generar tráfico en la red para poder: a. Construir un diccionario de IVs que nos dé el keystream correspondiente con cada IV: si

tenemos 1500 bytes de keystream, podemos enviar tramas de difusión de ese tamaño. Lo más probable es que el AP use IVs distintos para cada una de las tramas con lo que podemos repetir el proceso hasta que seamos capaces de construir ese diccionario para todos los valores posibles de IVs.

b. Recopilar suficientes IVs débiles para descubrir la clave. Todas las tramas que usen un IV presente en el diccionario podrán ser descifradas sin sobrecarga adicional. Los IV débiles permitirán finalmente descubrir la clave WEP. Se necesitan de 500000 a 3000000 de IVs para recuperar la clave.

4. Auditoría de una red inalámbrica con WEP

4.1. Introducción En este apartado analizaremos la seguridad del protocolo WEP. Dependiendo del número de clientes y el tráfico disponible, emplearemos uno u otro método para atacar la red y recopilar paquetes de cara a descubrir la clave WEP. Si no hay tráfico en la red, debemos generarlo. Para ello emplearemos lo que vamos a denominar como ataques activos. Después, emplearemos un ataque pasivo para recopilar los paquetes de la red. En los siguientes apartados describimos esta estrategia.

Para auditar una red inalámbrica protegida usando WEP pueden llegar a ser necesarias las siguientes fases:

• Detección de redes inalámbricas vulnerables • Generación de tramas (necesaria si no hay tráfico suficiente en la red) • Captura de tráfico en la red inalámbrica objetivo

Page 8: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 7

• Determinación de la clave WEP

4.2. Detección de redes inalámbricas En este apartado describiremos algunas de las técnicas más usadas para la detección de redes inalámbricas. Es posible emplear dos tipos de técnicas:

• Escaneo activo • Escaneo pasivo

Las herramientas para escaneo activo envía periódicamente tramas de tipo Probe Request para solicitar redes inalámbricas en el alcance. Estas técnicas son las que emplean los sistemas operativos para informarnos de las redes inalámbricas que hay dentro del alcance. Los propios puntos de acceso también envían anuncios (beacons) que contienen el nombre de la red, su dirección, la velocidad soportada etc.

Frente a estas técnicas, las herramientas que implementan el escaneo pasivo no envían ningún mensaje sino que escuchan todas las tramas en un canal o conjunto de canales y después las analizan para obtener información. Para poder escuchar estas tramas, es necesario que la tarjeta inalámbrica esté en modo promiscuo que en el caso de redes inalámbricas se denomina modo monitor. No todas las tarjetas ni todos los drivers soportan este modo de funcionamiento por lo que éste debe ser uno de los aspectos que debemos tener en cuenta a la hora de adquirir una tarjeta para la auditoría.

Estas herramientas van a permitirnos tanto obtener una lista de redes inalámbricas en el alcance como una lista de los clientes actualmente asociados a dichas redes. Esta información nos puede servir para determinar direcciones MAC autorizadas en una red que podríamos después suplantar para evitar un posible filtrado MAC. Las únicas redes que en principio no seríamos capaces de detectar serían aquellas que usen un SSID oculto. Para determinar esas redes, necesitamos forzar una nueva autenticación por parte de un cliente o esperar a que se produzca una.

Para iniciar el modo monitor en una interfaz inalámbrica, podemos usar la orden iw o iwconfig o directamente usar la siguiente orden:

airmon-ng start wlan1

Tras establecer el modo monitor, aparecerá una nueva interfaz inalámbrica virtual (mon0, por ejemplo). Empleando esa interfaz podemos comenzar el escaneo usando airodump. Esta misma herramienta nos permitirá capturar también tramas e IVs que posteriormente emplearemos para tratar de determinar la clave WEP. La siguiente orden emplea la interfaz mon0 monitoriza el canal 5 y guarda el tráfico captura en el fichero captura. Podríamos indicar también un bssid específico:

airodump-ng –channel 5 –write captura mon0

Esta utilidad debe estar ejecutándose durante todo el proceso de generación de tráfico para poder capturar el tráfico que se genere. Una vez que tengamos tráfico suficiente, emplearemos aircrack para determinar la clave WEP.

4.3. Generación de Tramas Todos los ataques contra WEP, tanto los que tienen como objetivo la determinación de la clave WEP como los que persiguen determinar keystream asociado con un determinado IV, necesitan de tráfico en la red.

Page 9: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 8

Cuando el número de clientes asociados al punto de acceso es alto, podemos simplemente esperar a que reunir suficiente tráfico. De esta manera, no inyectamos ningún paquete extra en la red para generar nuevos IVs; simplemente esperamos a las transmisiones de datos de los clientes, las capturamos y comprobamos si se trata de nuevos IVs. De esta manera podemos llevar a cabo un ataque pasivo en una red inalámbrica.

Sin embargo, ese procedimiento puede ser muy lento. Si hay clientes asociados en la red, podemos usar el tráfico que generan para reinyectarlo a la red y generar tanto tráfico como necesitemos. Si no hay clientes, tendremos que emplear un ataque de fragmentación o un ataque ChopChop para determinar suficiente cantidad de keystream como para poder construir y cifrar una trama que podamos inyectar en la red.

4.3.1. TÉCNICA DE ATAQUE CON CLIENTES ASOCIADOS A LA RED El objetivo de este técnica es inyectar paquetes de solicitud para recibir nuevos vectores de inicialización (Inicialization Vectors, IVs). Antes de poder inyectar paquetes, debemos asociar la dirección MAC de la tarjeta inalámbrica que estemos empleando con el punto de acceso. Si no hacemos esto, el punto de acceso ignorará los paquetes y enviará paquetes del tipo Deauthentication.

Los ataques activos que emplean peticiones ARP constan de dos partes que vamos a abordar a continuación:

4.3.1.1. Asociación de la Dirección MAC con el Punto de Acceso Para conseguir esto podemos o bien asociarnos con el punto de acceso empleando la dirección MAC de un cliente ya asociado o emplear una dirección MAC falsa. Este último método se conoce como autenticación falsa (fake auth). Para ello emplearemos la siguiente orden:

aireplay-ng --fakeauth 0 -e RedWifi -a 00:15:C7:FF:1E:80 -h 00:19:E3:04:57:97 ath0

Donde:

• RedWifi sería el ESSID de la red inalámbrica • 00:15:C7:FF:1E:80 sería el BSSID del punto de acceso que estamos atacando • 00:19:E3:04:57:97 sería la dirección MAC de la tarjeta WiFi que estamos empleando para el

ataque

4.3.1.2. Generar Tráfico Reinyectando Peticiones ARP (ARP Requests) Tras el paso anterior, arrancaremos aireplay-ng que captura peticiones ARP y las reinyecta en la red. El programa es capaz de identificar estas tramas porque son de tamaño fijo (36 bytes). El campo de longitud aparece en la cabecera 802.11. El punto de acceso redifundirá las peticiones ARP que hemos inyectado y generará un nuevo IV. El objetivo es ser capaces de generar el mayor número de tramas posibles para así conseguir un gran número de IVs.

Cada trama que reinyectemos podrá generar hasta tres tramas adicionales (reenvío del AP del ARP Request, envío de la respuesta (ARP Reply) por parte de una estación inalámbrica hacia el AP, reenvío del AP del ARP Reply). Esta misma técnica podría emplearse para tratar de conseguir mayor cantidad de keystream dado que por cada mensaje capturado podemos recuperar 16 bytes de keystream para el IV utilizado. Es posible recuperar esa información porque los primeros 16 bytes de estas tramas son fijos, tal y como podéis ver en la siguiente figura:

Page 10: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 9

Figura 3: Resolución ARP

(Fuente: “Establishing Robust Wireless Network Security Network: A Guide to 802.11i”)

De esta manera seremos capaces de obtener un número elevado de IVs en un corto espacio de tiempo. Emplearemos la siguiente orden para reinyectar las peticiones ARP:

aireplay-ng --arpreplay -b 00:15:C7:FF:1E.80 -h 00:19:E3:04:57:97 ath0

Donde:

• 00:15:C7:FF:1E:80 sería el BSSID del punto de acceso que estamos atacando • 00:19:E3:04:57:97 sería la dirección MAC de la tarjeta WiFi que estemos empleando para el ataque

4.3.2. ATAQUE CUANDO NO HAY CLIENTES ASOCIADOS En esta estrategia, no participamos activamente en la red empleando autenticación falsa e inyección de paquetes. Simplemente confiaremos en el tráfico entre los clientes asociados y el punto de acceso. Este ataque lleva bastante tiempo si no hay suficiente tráfico para generar el número de IVs mínimo para poder obtener la clave WEP. Puede encontrar una explicación detallada aquí [9].

4.3.2.1. Ataque KoreK (ChopChop)

El ataque ChopChop permite descifrar paquetes cifrados de pequeño tamaño que hayan sido capturados en la red. Es posible emplear un ataque de fragmentación [11], más rápido que el chopchop cuando lo que se pretende es descifrar paquetes más grandes. También es posible utilizar otras técnicas como forzar al AP a redifundir un paquete capturado. Esta técnica es muy efectiva pero más lenta cuando el paquete capturado es de mayor tamaño [12].

El ataque ChopChop se describe en [1,2]. Ahora lo vamos a utilizar para descifrar un petición ARP que nos permita falsificar peticiones ARP empleando packetforge-ng. Puede encontrar una descripción detallada en [10]. Habitualmente se emplea un tamaño de paquete pequeño en este ataque. Un ejemplo de crear el fichero de captura y el XOR empleado en el ataque chopchop se muestra a continuación:

1. Comenzamos a capturar tráfico en el canal donde esté el punto de acceso elegido: airodump-ng -c 6 mon1

2. Nos asociamos al punto de acceso:

aireplay-ng -1 0 -e XXXXX -a 00:0B:86:2A:EE:84 -h 00:C0:CA:4F:3B:23 mon1

Page 11: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 10

3. Procedemos a realizar el ataque ChopChop:

aireplay-ng -4 -h 00:0F:CB:B3:67:11 -b 00:15:C7:FF:1E:80 mon1

Figura 4: Ataque ChopChop (I)

Os podéis preguntar que se está haciendo en cada paso. Podemos resumir lo que sucede de la siguiente forma. Antes de ser cifrado, se añade a cada paquete un elemento para la detección de errores que toma la forma de un CRC de 32 bits. Si modificamos el paquete, y no modificamos el CRC, el punto de acceso desechará dicho paquete. Haciendo uso de esta funcionalidad, un atacante puede intentar descifrar un paquete de forma interactiva.

En primer lugar, se captura un paquete para ser descifrado. El atacante trunca un byte del paquete (cifrado), añade un valor R, recalcula el checksum y lo envía al punto de acceso para verificar el intento. Si se acertó, el punto de acceso redifundirá la trama. En ese caso, el atacante conoce el último byte del texto en claro y puede continuar con el siguiente byte. Si se ha equivocado, el punto de acceso no redifundirá la trama. En este caso, el atacante supone otro valor para ese byte y lo vuelve a enviar. Después de como mucho 256 intentos (128 en media), adivinará el valor de R. Estos 256 intentos pueden lanzarse en paralelo a 256 direcciones multicast. El router sólo reenviará aquella trama que contenga el valor correcto de CRC.

Page 12: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 11

Iterando el proceso podría obtener todos los bytes del paquete. En el peor de los casos este proceso implicará el envío de 256 x 1488 = 380298 tramas.

Aquí podéis ver como termina:

Figura 5: Ataque ChopChop (II): trama descifrada

4. Tras el paso anterior tendremos un paquete descifrado (replay_dec) y el keystream correspondiente (replay_dec.xor). Podemos examinar el paquete descifrado (en el ejemplo replay_dec-0316-122030.cap) usando tcpdump para determinar la dirección IP que nos interese:

tcpdump -s 0 -n -e -r replay_dec-0316-123759.cap

Figura 6: Ataque ChopChop(III): Examen de la Trama usando tcpdump

Podemos utilizar el keystream obtenido para tratar de generar tráfico en la red. Para ello, crearemos una petición de paquete arp empleando el archivo que contiene el keystream (replay_cor) usando packetforge. Emplearemos la dirección IP que hemos obtenido. El paquete se almacenará en el fichero que incluyamos con la opción -w:

packetforge-ng --arp -a 00:14:95:ce:2e:11 -h 00:11:22:33:44:55 -k 192.168.1.118 -l 192.168.1.254 -y replay_dec-0920-161359.xor -w ddlr.cap

Con la orden anterior, estamos construyendo una trama de petición ARP (-arp), para un punto de acceso cuyo BSSID es 00:14:95:CE:2E:11 (-a), con dirección MAC origen 00:11:22:33:44:55 (-h), con dirección IP origen 192.168.1.118 (opción –k) y tratando de conocer la dirección MAC correspondiente al router (probando con 192.168.1.254, opción -l). Para el cifrado se proporciona el archivo replay_dec-0920-161359.xor que contiene el keystream (opción –y). La trama generada se guardará en el archivo ddlr.cap.

Finalmente enviaremos la trama que hemos construido:

aireplay-ng --interactive –F –r ddlr.cap –h 00:11:22:33:44:55 mon1

Page 13: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 12

Figura 7: Ataque ChopChop(IV): Inyección del Paquete Generado

4.4. Captura de Tráfico En este paso capturaremos los paquetes que contengan IVs empleando airodump-ng. Es necesario incluir el canal, el BSSID del punto de acceso y la interfaz inalámbrica que queremos emplear. Esta misma orden puede emplearse para capturar tráfico generado mediante ataques activos o pasivos.

4.5. Romper la clave WEP Finalmente, haciendo uso de las tramas capturadas en los pasos anteriores, podemos obtener la clave WEP. Emplearemos dos métodos para encontrar la clave. Se describen a continuación.

4.5.1. MÉTODO PTW

El método PTW [3,6] es el método más eficiente para obtener una clave WEP. Permite recuperar una clave WEP con una probabilidad del 50% con tan sólo 40000 tramas y con una probabilidad del 95% si se dispone de 85000 tramas y es el usado por defecto por la herramienta aircrack. No obstante, tiene algunas limitaciones que hay que tener presentes. La más importante de ellas es que tendremos que capturar el contenido íntegro de las tramas (.cap) con airodump-ng (sin emplear la opción –ivs), no tan sólo los IVs.

Para filtrar sólo las peticiones y respuestas ARP enviadas o recibidas por una MAC específica, emplearemos la opción -m al ejecutar aircrack-ng. A continuación podemos observar un ejemplo:

aircrack-ng -z -m 00:1B:11:BB:AD:A9 captura-activa.cap

4.5.2. MÉTODO FMS

Con el método FMS [4], emplearemos peticiones ARP para acelerar el proceso de descubrir la clave. Es un método mucho más lento que el método PTW pero es válido en todos los casos y sólo requiere capturar los

Page 14: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 13

IVs. Para este caso emplearemos la siguiente orden en la que usamos la opción –b para especificar el BSSID que queremos atacar:

aircrack-ng -b 00:15:C7:FF:1E:80 -m 00:1B:11:BB:AD:A9

4.6. Probando a Asociarnos Una vez que hemos determinado la clave, el siguiente paso es comprobar que todo ha ido bien. Para ello nos asociamos a la red especificando la clave (key) que hemos determinado con aircrack:

iwconfig wlan0 red_atacada key 23:45:67:77:A0:D3

Si no podemos asociarnos es porque el AP implementa algún tipo de filtrado MAC. En ese caso, es necesario determinar una dirección MAC válida y asignárnosla. Podemos determinar una dirección MAC a partir de airodump observando algún cliente asociado a dicha red y asignárnosla de la siguiente manera:

iwconfig wlan0 down

iwconfig wlan0 hw ether 00:11:22:33:44:55

iwconfig wlan0 up

También podemos comprobar que la clave funciona tratando de descifrar tráfico usando airdecap:

airdecap-ng –w 23:45:67:77:A0:D3 captura.cap

5. Referencias [1] KoreK. Next generation of WEP attacks? http://www.netstumbler.org/ showpost.php?p=93942&postcount=35, 2004.

[2] Rafik Chaabouni. Break wep faster with statistical analysis. Technical report, EPFL, LASEC, June 2006.

[3] Anton Stolbunov. Klein's and PTW attack on WEP. http://www.item.ntnu.no/_media/people/personalpages/phd/anton/kleins_and_ptw_attacks_on_wep.pdf

[4] S.R. Fluhrer , I. Mantin, A. Shamir: Weaknesses in the key scheduling algorithm of RC4. In: Selected Areas in Cryptography 2001. LNCS, vol. 2259, pp. 1–24. Springer, New York (2001)

[5] Andrea Bittau , Mark Handley , Joshua Lackey, The Final Nail in WEP's Coffin, Proceedings of the 2006 IEEE Symposium on Security and Privacy, p.386-400, May 21-24, 2006

[6] Erik Tews , Ralf-Philipp Weinmann , Andrei Pyshkin, Breaking 104 Bit WEP in less than 60 seconds, Proceedings of the 8th international conference on Information security applications, August 27-29, 2007, Jeju Island, Korea

[7] KoreK. chopchop (experimental WEP attacks). http://www.netstumbler.org/showthread.php?t=12489, 2004

[8] Pouyan Sepehrdad , Serge Vaudenay , Martin Vuagnoux, Statistical attack on RC4 distinguishing WPA, Proceedings of the 30th Annual international conference on Theory and applications of cryptographic techniques: advances in cryptology, May 15-19, 2011, Tallinn, Estonia

[9]‘how_to_crack_wep_with_no_clients’ http://www.aircrack-ng.org/doku.php?id=how_to_crack_wep_with_no_clients

Page 15: Seguridad en Redes WiFI WEP

Seguridad en Redes Inalámbricas WEP

Página 14

[10] Korek_ChopChop. http://www.aircrack-ng.org/doku.php?id=korek_chopchop

[11] Fragmentation. http://www.aircrack-ng.org/doku.php?id=fragmentation

[12] Interactive packet replay. http://www.aircrack-ng.org/doku.php?id=interactive_packet_replay#other_examples