Hakin WEP, WPA, WPA2 Service Manual

Seguridad Wi-Fi – WEP, WPA
y WPA2
Guillaume Lehembre
Artículo publicado en el número 1/2006 de la revista hakin9. Os invitamos a la lectura de toda la revista.
Todos los derechos protegidos. Distribución gratuita admitida bajo la condición de guardar la forma y el contenido actuales
del artículo. Revista hakin9 Software-Wydawnictwo, ul. Piaskowa 3, 01-067 Warszawa, es@hakin9.org
Tema caliente
Seguridad Wi-Fi – WEP, WPA y WPA2
Guillaume Lehembre
Grado de dicultad
La tecnología Wi-Fi (Wireless Fidelity) es una de las tecnologías líder en la comunicación inalámbrica, y el soporte para Wi-Fi se está incorporando en cada vez más aparatos: portátiles, PDAs o teléfonos móviles. De todas formas, hay un aspecto que en demasiadas ocasiones pasa desapercibido: la seguridad. Analicemos con más detalle el nivel de seguridad de los métodos de encriptación utilizados por las soluciones Wi-Fi actuales.
un cuando se activen las medidas de seguridad en los aparatos Wi-Fi, se
A
débil, como WEP. En este artículo, exami­naremos las debilidades de WEP y veremos lo sencillo que es crackear el protocolo. La lamentable inadecuación de WEP resalta la necesidad de una nueva arquitectura de seguridad en el estándar 802.11i, por lo que también estudiaremos la puesta en práctica de WPA y WPA2 junto a sus primeras vulne­rabilidades menores y su integración en los sistemas operativos.
utiliza un protocolo de encriptación
R.I.P. WEP
WEP (Wired Equivalent Privacy) fue el primer protocolo de encriptación introducido en el pri­mer estándar IEEE 802.11 allá por 1999. Está basado en el algoritmo de encriptación RC4, con una clave secreta de 40 o 104 bits, combi­nada con un Vector de Inicialización (IV) de 24 bits para encriptar el mensaje de texto M y su checksum – el ICV (Integrity Check Value). El mensaje encriptado C se determinaba utilizan­do la siguiente fórmula:
C = [ M || ICV(M) ] + [ RC4(K || IV) ]
donde || es un operador de concatenación y + es un operador XOR. Claramente, el vector de inicialización es la clave de la seguridad WEP, así que para mantener un nivel decen­te de seguridad y minimizar la difusión, el IV debe ser aplicado a cada paquete, para que los paquetes subsiguientes estén encriptados con claves diferentes. Desafortunadamente para la seguridad WEP, el IV es transmitido en texto simple, y el estándar 802.11 no obliga a la incrementación del IV, dejando esta medida de seguridad como opción posible para una termi-
En este artículo aprenderás...
• las debilidades de la encriptación WEP,
• una visión global del estándar 802.11i y sus aplicaciones comerciales: WPA y WPA2,
• los fundamentos de 802.1x,
• las debilidades potenciales de WPA y WPA2.
Lo que deberías saber...
• los fundamentos de los protocolos TCP/IP y Wi-Fi,
• debes tener nociones básicas de criptografía.
hakin9 Nº 1/2006
www.hakin9.org
nal inalámbrica particular (punto de acceso o tarjeta inalámbrica).
Breve historia de WEP
El protocolo WEP no fue creado por expertos en seguridad o criptografía, así que pronto se demostró que era vulnerable ante los problemas RC4 descritos por David Wagner cuatro años antes. En 2001, Scott Fluhrer, Itsik Mantin y Adi Shamir (FMS pa­ra abreviar) publicaron su famoso artículo sobre WEP, mostrando dos vulnerabilidades en el algoritmo de encriptación: debilidades de no-va­riación y ataques IV conocidos. Am­bos ataques se basan en el hecho de que para ciertos valores de clave es posible que los bits en los bytes ini­ciales del ujo de clave dependan de tan sólo unos pocos bits de la clave de encriptación (aunque normal­mente cada bit de un ujo de clave tiene una posibilidad del 50% de ser diferente del anterior). Como la cla­ve de encriptación está compuesta concatenando la clave secreta con el IV, ciertos valores de IV muestran claves débiles.
Estas vulnerabilidades fueron aprovechadas por herramientas de seguridad como AirSnort, permi­tiendo que las claves WEP fueran descubiertas analizando una can­tidad de tráco suciente. Aunque este tipo de ataque podía ser de­sarrollado con éxito en una red con mucho tráco en un plazo de tiempo razonable, el tiempo requerido para el procesamiento de los datos era bastante largo. David Hulton (h1kari) ideó un método optimizado de este mismo ataque, tomando en consi­deración no sólo el primer byte de la salida RC4 (como en el método FMS), sino también los siguientes. Esto resultó en una ligera reducción de la cantidad de datos necesarios para el análisis.
La etapa de comprobación de integridad también sufre de serias debilidades por culpa del algoritmo CRC32 utilizado para esta tarea. CRC32 se usa normalmente para la detección de errores, pero nunca fue considerado como seguro desde un punto de vista criptográco, debido
Seguridad de WEP, WPA y WPA2
Figura 1. Protocolo de encriptación WEP
a su linealidad, algo que Nikita Bori­sov, Ian Goldberg y David Wagner ya habían advertido en 2001.
Desde entonces, se ha acepta­do que WEP proporciona un nivel de seguridad aceptable sólo para usuarios domésticos y aplicaciones no críticas. Sin embargo, incluso eso se desvaneció con la apari­ción de los ataques KoreK en 2004 (ataques generalizados FMS, que incluían optimizaciones de h1kari), y el ataque inductivo invertido Ar­baugh, permitiendo que paquetes arbitrarios fueran desencriptados sin necesidad de conocer la clave utilizando la inyección de paquetes.
Tabla 1. Cronología de la muerte de WEP
Fecha Descripción
Septiembre 1995
Octubre 2000
Mayo 2001 Ataque contra WEP/WEP2 de Arbaugh
Julio 2001 Ataque CRC bit ippingIntercepting Mobile Communica-
Agosto 2001
Agosto 2001
Febrero 2002
Agosto 2004
Julio/ Agosto 2004
Vulnerabilidad RC4 potencial (Wagner)
Primera publicación sobre las debilidades de WEP: Insegura
para cualquier tamaño de clave; Análisis de la encapsula­ción WEP (Walker)
tions: The Insecurity of 802.11 (Borisov, Goldberg, Wagner)
Ataques FMS – Debilidades en el algoritmo de programa­ción de RC4 (Fluhrer, Mantin, Shamir)
Publicación de AirSnort
Ataques FMS optimizados por h1kari
Ataques KoreK (IVs únicos) – publicación de chopchop y chopper
Publicación de Aircrack (Devine) y WepLab (Sánchez), poniendo en práctica los ataques KoreK.
Las herramientas de cracking, co­mo Aircrack de Christophe Devine o WepLab de José Ignacio Sánchez, ponen en práctica estos ataques y pueden extraer una clave WEP de 128-bits en menos de 10 minutos (o algo más, dependiendo del punto de acceso y la tarjeta wireless es­pecícos).
La incorporación de la inyección de paquetes mejoró sustancialmen­te los tiempos de crackeo de WEP, requiriendo tan sólo miles, en lugar de millones, de paquetes con su­cientes IVs únicos – alrededor de 150,000 para una clave WEP de 64-bits y 500,000 para una clave de
hakin9 Nº 1/2006www.hakin9.org 13
Tema caliente
Listado 1. Activando el modo monitor
# airmon.sh start ath0
Interface Chipset Driver
ath0 Atheros madwi (monitor mode enabled)
Listado 2. Descubriendo las redes cercanas y sus clientes
# airodump ath0 wep-crk 0
BSSID PWR Beacons # Data CH MB ENC ESSID
00:13:10:1F:9A:72 62 305 16 1 48 WEP hakin9demo
BSSID STATION PWR Packets ESSID
00:13:10:1F:9A:72 00:0C:F1:19:77:5C 56 1 hakin9demo
128-bits. Con la inyección de paque­tes, el obtener los datos necesarios era apenas una tarea de minutos. En la actualidad, WEP está deni­tivamente muerto (ver Tabla 1) y no debería ser utilizado, ni siquiera con rotación de claves.
Los fallos de seguridad de WEP
• airodump: herramienta de sni­fng utilizada para descubrir las redes que tienen activado WEP,
• aireplay: herramienta de inyec­ción para incrementar el tráco,
• aircrack: crackeador de claves WEP que utiliza los IVs únicos recogidos.
pueden resumirse tal y como sigue:
En la actualidad, Aireplay sólo so-
• debilidades del algoritmo RC4 dentro del protocolo WEP debido a la construcción de la clave,
• los IVs son demasiado cortos (24 bits – hacen falta menos de 5000 paquetes para tener un 50% de posibilidades de dar con la clave) y se permite la reutilización de IV (no hay protección contra la repetición de mensajes),
• no existe una comprobación de integridad apropiada (se utiliza CRC32 para la detección de errores y no es criptográcamen­te seguro por su linealidad),
• no existe un método integrado de actualización de las claves.
porta la inyección en algunos chip­sets wireless, y el sopor te para la inyección en modo monitor requiere los últimos drivers parcheados. El modo monitor es el equivalente del modo promiscuo en las redes de cable, que previene el rechazo de paquetes no destinados al host de monitorización (lo que se hace normalmente en la capa física del stack OSI), permitiendo que todos los paquetes sean capturados. Con los drivers parcheados, sólo se necesita una tarjeta wireless para capturar e inyectar tráco simultá­neamente.
La meta principal del ataque es
generar tráco para capturar IVs
Crackeado de la clave WEP utilizando Aircrack
El crackeado de WEP puede ser demostrado con facilidad utilizando herramientas como Aircrack (creado por el investigador francés en temas de seguridad, Christophe Devine). Aircrack contiene tres utilidades principales, usadas en las tres fases del ataque necesario para recuperar la clave:
únicos utilizados entre un cliente le­gítimo y el punto de acceso. Algunos datos encriptados son fácilmente re­conocibles porque tienen una longi­tud ja, una dirección de destino ja, etc. Esto sucede con los paquetes de petición ARP (véase Recuadro ARP-Request), que son enviadas a la dirección broadcast (FF:FF:FF: FF:FF:FF) y tienen una longitud ja de 68 octetos. Las peticiones ARP
ARP-Request
El protocolo Address Resolution Pro­tocol (ARP – RFC826) es usado para
traducir una dirección IP de 32-bits a una dirección Ethernet de 48-bits (las redes Wi-Fi también utilizan el protoco­lo ethernet). Para ilustrarlo, cuando un host A (192.168.1.1) quiere comunicar­se con un host B (192.168.1.2), la direc­ción IP conocida debe ser traducida a una dirección MAC utilizando el proto­colo ARP. Para hacerlo, el host A envía un mensaje broadcast conteniendo la dirección IP del host B (¿Quién tiene
192.168.1.2? Decírselo a 192.168.1.1). El host objetivo, reconociendo que la dirección IP en los paquetes coincide con la suya propia, devuelve una res­puesta (192.168.1.2 está en 01:23:45: 67:89:0A). La respuesta es típicamente almacenada en la caché.
pueden ser repetidas para generar nuevas respuestas ARP desde un host legítimo, haciendo que los men­sajes wireless sean encriptados con nuevos IVs.
En los siguientes ejemplos, 00: 13:10:1F:9A:72 es la dirección MAC del punto de acceso (BSSID) en el canal 1 con ESSID hakin9demo y 00:09:5B:EB:C5:2B es la dirección MAC de un cliente wireless (utili­zando WEP o WPA-PSK, depen­diendo del caso). La mayor parte de los comandos requieren privilegios de root.
El primer paso, es la activación del modo monitor en nuestra tarjeta wireless (en este caso, un modelo basado en Atheros), así que po­demos capturar todo el tráco (ver Listado 1). El paso siguiente, será descubrir redes cercanas y sus clientes, escaneando los 14 cana­les que utilizan las redes Wi-Fi (ver Listado 2).
El resultado del Listado 2 se puede interpretar de esta forma: un punto de acceso con BSSID 00:13: 10:1F:9A:72 está usando encripta­ción WEP en el canal 1 con SSID hakin9demo y un cliente identicado con MAC 00:0C:F1:19:77:5C están asociados y autenticados en esta red wireless.
14
hakin9 Nº 1/2006
www.hakin9.org
Una vez se haya localizado la red objetivo, deberíamos empezar a capturar en el canal correcto para evitar la pérdida de paquetes mien­tras escaneamos otros canales. Esto produce la misma respuesta que el comando previo:
# airodump ath0 wep-crk 1
Después, podremos usar la informa­ción recogida para inyectar tráco utilizando aireplay. La inyección empezará cuando una petición ARP capturada, asociada con el BSSID objetivo aparezca en la red inalám­brica:
Seguridad de WEP, WPA y WPA2
# aireplay -3 \
-b 00:13:10:1F:9A:72 \
-h 00:0C:F1:19:77:5C \
-x 600 ath0
(...)
Read 980 packets
(got 16 ARP requests),
sent 570 packets...
Finalmente, aircrack se utiliza para recuperar la clave WEP. Utilizando el chero pcap se hace posible lanzar este paso nal mientras airodump si­gue capturando datos (véase Figura 2 para los resultados):
# aircrack -x -0 wep-crk.cap
Otros tipos de ataque Aircrack
Aircrack hace también posible rea­lizar otros tipos interesantes de ata­ques. Veamos algunos de ellos.
Ataque 2: Deautenticación
Este ataque puede ser usado pa­ra recuperar un SSID oculto (por ejemplo, uno que no sea broadcast), capturar un WPA 4-way handshake o forzar una Denegación del Servi­cio (más sobre ello después, en la sección sobre 802.11i). El objetivo del ataque es forzar al cliente a reautenticarse, lo que unido a la falta de autenticación para los marcos de control (usados para autenticación, asociación, etc.) hace posible que el atacante consiga hacer spoof de las direcciones MAC.
Figura 2. Resultados de Aircrack después de unos minutos
Un cliente wireless puede ser deautenticado usando el siguiente comando, que hace que se envíen paquetes de deautenticación desde el BSSID al cliente MAC haciendo spoong del BSSID:
operador XOR en el protocolo WEP signica que un byte seleccionado en el mensaje encriptado siempre depende del mismo byte en el pa­quete plaintext. Cortando el último byte del mensaje encriptado lo co­rrompe, pero también hace posible
# aireplay -0 5
-a 00:13:10:1F:9A:72
-c 00:0C:F1:19:77:5C
ath0
intentar adivinar el valor del byte plaintext correspondiente y corregir el mensaje encriptado.
Si el paquete corregido es re-
inyectado a la red, será desechado Se puede lograr una deautentica­ción masiva, aunque no siempre es able, haciendo que el atacante esté haciendo spoong constante del BSSID y reenviando el paquete de deautenticación a la dirección broadcast:
por el punto de acceso si el intento
ha sido incorrecto (en cuyo caso
hay que hacer otro intento), pero si
el intento ha tenido éxito, se tomará
el paquete como de costumbre. Re-
petir el ataque para todos los bytes
del mensaje consigue que poda-
mos desencriptar un paquete WEP
# aireplay -0 0
-a 00:13:10:1F:9A:72
ath0
y recuperar el ujo de clave. Recor-
demos que la implementación IV no
es obligatoria en el protocolo WEP,
así que es posible reutilizar este
Ataque 3: Desencriptación de paquetes de datos WEP arbitrarios sin conocer la clave
Este ataque está basado en la herramienta representativa de Ko­reK, llamada chopchop, que puede desencriptar paquetes encriptados con WEP sin conocer la clave. El chequeo de integridad implementa­do en el protocolo WEP permite que el atacante pueda modicar tanto un paquete encriptado como su corres­pondiente CRC. Más aún, el uso del
ujo de datos para hacer spoof de
paquetes posteriores (reutilizando
el mismo IV).
La tarjeta wireless debe estar situada en modo monitor, en el canal adecuado (véase el ejemplo previo para una descripción de cómo hacerlo). El ataque debe ser lanzado contra un cliente legítimo (por ejemplo 00:0C:F1:19:77:5C en nuestro caso) y aireplay pedirá al atacante que acepte los paquetes encriptados (ver Listado 3). Se crean dos cheros pcap: uno para los pa-
hakin9 Nº 1/2006www.hakin9.org 15
Loading...
+ 11 hidden pages