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 dicultad
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, examinaremos 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 vulnerabilidades 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 primer 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, combinada 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 utilizando 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 decente 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.
12
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 para abreviar) publicaron su famoso
artículo sobre WEP, mostrando dos
vulnerabilidades en el algoritmo de
encriptación: debilidades de no-variación y ataques IV conocidos. Ambos ataques se basan en el hecho de
que para ciertos valores de clave es
posible que los bits en los bytes iniciales del ujo de clave dependan de
tan sólo unos pocos bits de la clave
de encriptación (aunque normalmente cada bit de un ujo de clave
tiene una posibilidad del 50% de ser
diferente del anterior). Como la clave 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, permitiendo que las claves WEP fueran
descubiertas analizando una cantidad de tráco suciente. Aunque
este tipo de ataque podía ser desarrollado 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 consideració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 Borisov, Ian Goldberg y David Wagner ya
habían advertido en 2001.
Desde entonces, se ha aceptado 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 aparición de los ataques KoreK en 2004
(ataques generalizados FMS, que
incluían optimizaciones de h1kari),
y el ataque inductivo invertido Arbaugh, 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
FechaDescripción
Septiembre
1995
Octubre
2000
Mayo 2001Ataque contra WEP/WEP2 de Arbaugh
Julio 2001Ataque CRC bit ipping – Intercepting 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 encapsulación WEP (Walker)
tions: The Insecurity of 802.11 (Borisov, Goldberg, Wagner)
Ataques FMS – Debilidades en el algoritmo de programació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, como 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 especícos).
La incorporación de la inyección
de paquetes mejoró sustancialmente los tiempos de crackeo de WEP,
requiriendo tan sólo miles, en lugar
de millones, de paquetes con sucientes 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.org13
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
128-bits. Con la inyección de paquetes, el obtener los datos necesarios
era apenas una tarea de minutos.
En la actualidad, WEP está denitivamente 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 snifng utilizada para descubrir las
redes que tienen activado WEP,
• aireplay: herramienta de inyecció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ácamente seguro por su linealidad),
• no existe un método integrado de
actualización de las claves.
porta la inyección en algunos chipsets 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 legítimo y el punto de acceso. Algunos
datos encriptados son fácilmente reconocibles porque tienen una longitud 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 Protocol (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 protocolo ethernet). Para ilustrarlo, cuando un
host A (192.168.1.1) quiere comunicarse con un host B (192.168.1.2), la dirección IP conocida debe ser traducida a
una dirección MAC utilizando el protocolo 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 respuesta (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 mensajes 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 (utilizando WEP o WPA-PSK, dependiendo 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 podemos capturar todo el tráco (ver
Listado 1). El paso siguiente, será
descubrir redes cercanas y sus
clientes, escaneando los 14 canales 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 encriptación WEP en el canal 1 con SSID
hakin9demo y un cliente identicado
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 mientras escaneamos otros canales. Esto
produce la misma respuesta que el
comando previo:
# airodump ath0 wep-crk 1
Después, podremos usar la informació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ámbrica:
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 sigue 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 realizar otros tipos interesantes de ataques. Veamos algunos de ellos.
Ataque 2: Deautenticación
Este ataque puede ser usado para recuperar un SSID oculto (por
ejemplo, uno que no sea broadcast),
capturar un WPA 4-way handshake
o forzar una Denegación del Servicio (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
spoong del BSSID:
operador XOR en el protocolo WEP
signica que un byte seleccionado
en el mensaje encriptado siempre
depende del mismo byte en el paquete plaintext. Cortando el último
byte del mensaje encriptado lo corrompe, 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 deautenticación masiva, aunque no siempre
es able, haciendo que el atacante
esté haciendo spoong 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 KoreK, llamada chopchop, que puede
desencriptar paquetes encriptados
con WEP sin conocer la clave. El
chequeo de integridad implementado en el protocolo WEP permite que
el atacante pueda modicar tanto un
paquete encriptado como su correspondiente 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.org15
Loading...
+ 11 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.