7 abr 2020

KR00K, UNA VULNERABILIDAD GRAVE EN EL INTERIOR DEL CIFRADO DE WI-FI





¿Qué es Kr00k?

Hace unos días en la conferencia de seguridad RSA 2020, los investigadores de seguridad de la compañía de antivirus ESET presentaron detalles sobre una nueva vulnerabilidad que afecta las comunicaciones WiFi.

Los investigadores, descubrieron una vulnerabilidad previamente desconocida en los chips de Wi-Fi y la llamaron Kr00k. Esta es una falla grave, asignada CVE-2019-15126, hace que los dispositivos vulnerables usen una clave de cifrado all-zero para cifrar parte de la comunicación del usuario. En un ataque exitoso, esta vulnerabilidad le permite a un adversario descifrar algunos paquetes de red inalámbrica transmitidos por un dispositivo vulnerable.


¿A quién afecta esta vulnerabilidad?

Kr00k afecta a dispositivos con chips Wi-Fi de Broadcom y Cypress que aún no se han parcheado (Parches de seguridad). Estos son los chips Wi-Fi más comunes que se usan en dispositivos con capacidad Wi-Fi contemporánea, como es un Smartphone, Tablet, Laptop y los dispositivos IoT. No solo los dispositivos cliente, sino también access point Wi-Fi y routers con chips Broadcom se vieron afectados por la vulnerabilidad, lo que hace que muchos entornos con dispositivos cliente no afectados o ya parcheados sean vulnerables de todos modos.




LA VULNERABILIDAD DE Kr00k

Nos centraremos en WPA2, ya que es el estándar más utilizado en las redes Wi-Fi contemporáneas. Cada vez que un dispositivo cliente establece una conexión con un access point, la etapa inicial se denomina asociación, lo contrario es una disociación y la combinación de los dos es una re-asociación: son los más relevantes. Las disociaciones y re-asociaciones ocurren por varias razones: por ejemplo, cuando un cliente deambula de un access point Wi-Fi a otro, debido a la interferencia de la señal, o simplemente cuando un usuario apaga el Wi-Fi.

Con WPA2, la comunicación segura se establece mediante el protocolo de enlace de 4 vías (Para más información revisar el artículo: Seguridad en redes Wi-Fi). Asegura la mutua autenticación del cliente y el access point (por ejemplo, al confirmar que ambos conocen el clave pre-compartida (PSK), también conocida como contraseña de acceso a Wi-Fi). Durante el '4-way handshake' (apretón de manos de 4 vías), el cliente y el access point también construye e instala claves criptográficas para la confidencialidad e integridad de los datos. La clave que se negocia es la PTK (clave transitoria por pares), que se divide en diferentes claves. Sirviendo para diferentes propósitos. El que es más relevante en este caso, Kr00k es el de 128 bits TK (clave temporal), que se utiliza para cifrar tramas de datos de unidifusión transmitidas durante la sesión del cliente AP. Utilizaremos los términos TK y "clave de sesión".

En la siguiente imagen se observa de forma gráfica como funciona la disociación.


La imagen anterior proporciona una descripción esquemática del error a nivel de chip. Si bien no se tiene visibilidad en el funcionamiento interno de los chips afectados, se cree que el esquema (basado en la especificación del chip CYW4356) captura la causa y la idea básica de la vulnerabilidad.

Ahora veamos una imagen que explica lo que continúa después de la disociación.


Kr00k se manifiesta después de una disociación. Una vez que la sesión WLAN de una estación se disocia (1), la clave de sesión (TK) almacenada en el chip de Wi-Fi del controlador de interfaz de red inalámbrica (WNIC) se borra en memoria puesto a cero all-zero. Este es el comportamiento esperado, ya que se supone que no se transmitirán más datos.

Después de la disociación, descubrimos que todas las tramas de datos que quedaron en el búfer TX (transmisión) del chip eran transmitidas después de ser encriptadas con esta clave de all-zero.

Como resultado, el atacante puede capturar más paquetes de red que contienen datos potencialmente confidenciales.


Gráfica de una Captura de Paquetes



CONCLUSIÓN

Kr00k - CVE-2019-15126: es una vulnerabilidad que afectó a miles de millones de dispositivos, lo que podría causar la fuga de datos confidenciales y abrir un nuevo vector de ataque para blackhats.

Luego del descubrimiento de la vulnerabilidad, la compañía ESET divulgó responsablemente al chip afectado, fabricantes Broadcom y Cypress (inicialmente a Amazon).

Si bien la fuente del error radica en los chips de Wi-Fi, afortunadamente, puede mitigarse a través de software o actualizaciones de firmware según algunas publicaciones de proveedores y nuestras propias pruebas (no exhaustivas), los dispositivos deben tener parches para la vulnerabilidad en el momento de la publicación. Dependiendo del tipo de dispositivo, esto puede que solo signifique asegurarse de que estén instaladas las últimas actualizaciones de SO o software (dispositivos Android, Apple y Windows; algunos dispositivos IoT), pero pueden requerir una actualización de firmware (access point, enrutadores y algunos dispositivos IoT).

Por lo tanto, los usuarios y las organizaciones deben actualizar los dispositivos con chips Broadcom o Cypress a la última versión.


¿Cuál es la diferencia entre Krack Attack y Kr00k?

Mientras KRACK afectaba al propio protocolo, Kr00k es una vulnerabilidad más específica y donde pese a afectar a millones de dispositivos, su solución es más sencilla. Estas son las diferencias entre KRACK y Kr00k, según explican los propios investigadores:


KRACK

  • Es un acrónimo, una serie de ataques - exploits.
  • La idea básica de KRACK es que el número del paquete se reutiliza para conseguir la secuencia clave.
  • Se activa durante el '4-way handshake', el proceso de negociación del protocolo WPA2.
  • Afecta a la mayoría de los dispositivos con Wi-Fi, ya que explota fallas de implementación en el protocolo WPA2.

Kr00k
  • Kr00k, por otro lado, es una vulnerabilidad.
  • La idea principal de Kr00k es que los datos están cifrados con una clave temporal.
  • Aunque previamente se efectúa el protocolo de '4-way handshake' (apretón de manos de 4 vías). Se activa después de una disociación.
  • Afecta los chips de Wi-Fi más extendidos (Broadcom y Cypress).

La vulnerabilidad Kr00k afecta a aquellas conexiones WiFi que utilizan los protocolos de seguridad WPA2-Personal o WPA2-Enterprise WiFi, con encriptación AES-CCMP. Aquellos dispositivos con chipset Broadcom o Cypress que utilicen el nuevo protocolo de autenticación WPA3 WiFi podrán protegerse. Sin embargo, hemos visto que este último tampoco está exento de sus propios problemas.

Nuevamente se recomienda leer el artículo: Seguridad en redes Wi-Fi.

Notas Aportadas por @jcaitf

Recientemente se publico una Prueba de Concepto (PoC)  desarrollada por un grupo de investigadores de seguridad de HexWay. Muestran cómo explotar esta vulnerabilidad que fue descubierta en el pasado mes de febrero por investigadores de Eset.

En esta prueba de concepto han utilizado un script de Python llamado r00kie-kr00kie. Este script fuerza al dispositivo a que se desvincule de una red y todos los paquetes de datos que quedan en el chip del Wi-Fi del dispositivo se cifran con todos los ceros y posteriormente se vacían y se leen. 

Esta acción permite repetirla en varias ocasiones y así poder leer información de la víctima de los datos que puedan estar sin cifrar. 


Autor: David Fernando Suárez Zambrana, - Certificado Ethical Pentester Certified

No hay comentarios:

Publicar un comentario

Tus Comentarios son Importantes para Nosotros Siéntete Libre De Opinar