Inteligencia artificial, robótica, historia y algo más.

26/3/15

Explícame cómo se hackea el WiFi

Sí, el término habitual es hackear WiFi, a pesar de que la palabra hacker esté siendo tan denostada. En este artículo, voy a intentar explicar qué hace una de las herramientas más típicas para nuestro propósito. Este software se llama AirCrack, y es un programa desarrollado por el especialista de seguridad, Christoph Devine.

Si probáis a poner en YouTube el término de búsqueda "hackear WiFi" os van a aparecer miles de vídeos de demostración donde se ve paso a paso cómo se utiliza AirCrack, y sobre todo en Linux. En este artículo yo voy a limitarme a explicar qué ocurre con el protocolo WEP, y antes de continuar, recuerdo que el hackear una red WiFi sin consentimiento de su propietario está tipificado como delito.

WEP (Wired Equivalent Privacy) fue el primer protocolo de encriptación introducido en el primer estándar IEEE 802.11 allá por 1999, y no fue creado por expertos en seguridad o criptografía. Su cifrado funciona de la siguiente manera (extraído de aquí):


Y el paquete que se emite es este:


donde cada celda corresponde a los siguientes puntos:

  • Cabecera 802.11: contendrá información relativa al tipo de paquete, las direcciones MAC del emisor y receptor del mensaje y determinada información de sincronismo.
  • Vector de inicialización (IV): es la clave dinámica generada por el emisor y utilizada para concatenar con la clave estática dando origen a la semilla RC4. Como se puede observar esta secuencia de bits crítica para preservar correctamente la privacidad de los datos viaja por la red sin ningún tipo de cifrado.
  • Datos encriptados: el mensaje que se desea transmitir de manera segura desde un nodo emisor a un nodo receptor.
  • CRC encriptado: código de redundancia cíclica correspondiente al mensaje que se va a transmitir.
  • CRC del paquete: código de redundancia cíclica correspondiente al paquete completo. El CRC, dicho de manera simple, es el checksum para comprobar la integridad del mensaje. Este sistema era muy bueno para detectar ruido en transmisión de señales, pero deja un poco que desear en su nueva misión de cifrado, y mejores alternativas son MD5 o SHA-1

Han aparecido numerosas variantes para atacar el cifrado WEP, pero la original y más extendida es la basada en el RC4. El RC4 es un sistema de cifrado creado en 1987. Fue tratado como alto secreto, hasta que un anónimo coló en una lista de correo en 1994 cómo funcionaba, y ya en 1995 publicaron la primera vulnerabilidad.

Si miramos el cuadro de cifrado WEP, el RC4 crea una cadena de 64 bits, 40 de las cuales corresponden a la clave estática, y 24 al vector de inicialización (IV). Esta clave estática es la contraseña que anhelan los que intentan hackear la red WiFi en cuestión. Sin embargo, tal y como se ve en el cuadro, el IV es transmitido sin cifrado en el paquete final, y este es el pilar sobre el que se fundamenta el ataque. La razón es que el atacante puede capturar estos paquetes sin ningún problema. 3 bytes corresponden al IV y el resto es mensaje cifrado.

El vector IV al ser de 24 bits solo puede estar formado mediante 16 millones de combinaciones posibles, y el objetivo que persigue es cifrar con claves diferentes para así intentar impedir que un atacante pueda recopilar tráfico suficiente para poder deducir la contraseña. Sin embargo, el WEP no especifica cómo varía el vector de inicialización, quedando en manos de los fabricantes la decisión sobre este aspecto.

La consecuencia de esto es que buena parte de las implementaciones optan por una solución sencilla: cada vez que arranca la tarjeta de red, se fija el IV a 0 y se incrementa en 1 para cada trama. Y esto ocasiona que las primeras combinaciones de IVs y clave secreta se repitan muy frecuentemente. Más aún si tenemos en cuenta que cada estación utiliza la misma clave secreta, por lo que las tramas con igual clave se multiplican en el medio (fuente).

Al ser el número de combinaciones posibles tan reducido, incluso en el mejor de los casos, incluso eligiendo un vector al azar hay un 50% de posibilades que el IV se repita con menos de 5000 paquetes (la paradoja del cumpleaños). Y aquí está el meollo del asunto, ya que probablemente lo que ocurra es que usemos el mismo vector de inicialización para cifrar el mismo mensaje. Esto es lo inaceptable (y eso que Microsoft lo volvió a usar en 2005 con el Word).

Por si fuera poca la vulnerabilidad de que el IV sea cíclico, el RC4 tampoco se queda corto. En su implementación en el cifrado WEP, se ha visto que el RC4 genera claves más débiles que otras. "Claves débiles" significa que la correlación entre el input y el output del cifrado tienen más correlación y parecido de lo conveniente. Por lo tanto, es sencillo capturar unos 9000 paquetes, quedarnos con aquellos que sugieran una "clave débil" y probar con unas pocas contraseñas.

Los ataques WEP tuvieron una mejoría muy sustancial cuando se descubrió cómo el atacante podía inyectar paquetes nuevos en el sistema: con este sistema, la fuente se veía obligada a generar paquetes más rápidamente, ya que los paquetes falsos eran aceptados sin ningún problema.

El primer ataque basado en reventar WEP basado en la debilidad RC4 es de 2001, y se denomina FMS en honor a sus autores Scott Fluhrer, Itsik Mantin y Adi Shamir. Sin embargo, rara vez se usa el ataque exactamente en la forma que lo describieron ellos.

Desde entonces, han aparecido muchas variantes (como el KoreK, el PTW, y algunos con nombres tan atractivos como café latte) y herramientas como el Aircrack implementan estas vulnerabilidades fácilmente. Las variantes de ataques pueden ser distintas metodologías de descubrir la clave estática con el menor número de paquetes a partir de la debilidad IV y RC4 descrita aquí. No es baladí la matemática que emplean para el común de los mortales, sino que usan muchas funciones lógicas y matemáticas propias de criptografía. Pero es capaz de implementarse en un software sin mucho esfuerzo y lo único que se precisa para atacar es una red que genere bastante tráfico y estar bastante cerca del punto de acceso a atacar.

Lo explicado en este artículo está lleno de simplificaciones, y dejo al lector multitud de textos sobre el tema para profundizar. El cifrado WEP tiene más vulnerabilidades que las que aquí he descrito (aquí aparecen explicadas de manera sencilla las principales), y definitivamente se ha relegado a un cifrado de uso doméstico y muerto para los que nos tomamos la seguridad en serio.







Encrypt Your Wireless Traffic to Avoid Getting Hacked
- Understanding WEP weaknesses
- Distintos ataques WEP
- What's wrong with WEP
- What's the deal with RC4?
- Artículo que describe matemática el ataque FMS, KoreK y PTW
- Cracking WiFi WEP with aircrack-ng
- Interpretación de qué hace un software línea a línea
- Seguridad WiFi (historia y descripción de problemas, en ESP)
- Explicación de debilidades WEP desde el punto de vista de criptografía
- Cómo no funciona el WEP


Comparte:

0 comentarios:

Publicar un comentario

Nos leemos:

descripción descripción descripción

Recibe las entradas por correo

En mi mesilla

Blog Archive

Licencia Creative Commons