Ataque de reinstalación de clave WPA2 o ataque KRACK
Recientemente, Mathy Vanhoef de imec-DistriNet, KU Leuven, descubrió una debilidad grave en WPA2 conocida como ataque Key Reinstallation Attack (o KRACK). Su descripción general, Key Reinstallation Attacks:Breaking WPA2 forcing nonce reuse, y el artículo de investigación (Key Reinstallation Attacks:Forcing Nonce Reuse in WPA2, en coautoría con Frank Piessens) han creado un gran revuelo en nuestra industria porque la prensa promociona que “ interrumpe el Wi-Fi”.
Se han escrito numerosos artículos sobre esta vulnerabilidad, y no los repetiremos aquí. Sin embargo, queremos tomarnos un momento para hablar sobre cómo se relaciona esto con Kali Linux, desde un punto de vista defensivo, de prueba y de detección.
¿Es vulnerable Kali Linux?
Desde un punto de vista defensivo, si está al día con las actualizaciones continuas de Kali Linux (a través de una simple "actualización de apt &&actualización de apt), ya está parcheado contra esta vulnerabilidad gracias a los parches en wpasupplicant y hostapd (ambos en 2.4-1.1 ). Para ser completamente claro:un actualizado La versión de Kali Linux es no vulnerable a este ataque. Estás manteniendo tu sistema Kali Linux actualizado, ¿no es así?
¿Cómo pruebo la vulnerabilidad?
Con su sistema Kali actualizado, también hay algunos pasos que puede seguir para probar esta vulnerabilidad en sus puntos de acceso. Mathy Vanhoef lanzó recientemente un script que se puede ejecutar desde Kali Linux para probar si su punto de acceso (AP) está afectado o no por CVE-2017-13082 o específicamente por la vulnerabilidad Key Reinstall in FT Handshake que se encuentra en dispositivos 802.11r. El script requiere que se autentique en el punto de acceso, pero tenga en cuenta que puede marcar incorrectamente un AP como vulnerable debido a "retransmisiones benignas de tramas de datos".
¿Cómo puedo detectar ataques?
Dragorn, el autor del increíble Kismet, ha publicado mucha información excelente sobre el tema en su blog, incluida información excelente sobre la detección de ataques KRACK usando Kismet. Explica que la versión git-master de Kismet es "introducir alertas para intentar detectar un ataque al estilo Krack".
Estas alertas rastrean puntos de acceso falsificados, puntos de acceso multicanal, claves de longitud cero, cero nonce en un apretón de manos y retransmisión de nonce, todos factores que podrían indicar un ataque KRACK en curso.
Dragorn advierte que, dado que Kismet salta canales, podría perder paquetes de protocolo de enlace y, por lo tanto, perder el ataque. Además, dice que los falsos positivos aún son posibles a pesar de la deduplicación de paquetes de Kismet y que una vez que se publique el código de prueba de concepto real para KRACK, es posible que sea necesario ajustar la lógica de estas alertas.
Dragorn también explica que, "parece que aún puede activar la detección de Kismet Nonce con un paquete marcado en el control de tramas como una retransmisión", pero a pesar de estos inconvenientes, Kismet sigue siendo un sistema decente para la detección de este y otros Wi-Fi. ataques de protocolo.
Para instalar la versión git-master de Kismet en Kali Linux, siga estos pasos
Primero, dígale al administrador de red que ignore el dispositivo Wi-Fi agregando estas líneas:
[keyfile]
unmanaged-devices=interface-name:wlan0
a /etc/NetworkManager/NetworkManager.conf
Luego, reinicie NetworkManager:
[email protected]:~# systemctl restart NetworkManager
A continuación, instale las actualizaciones y la versión git-master de Kismet:
[email protected]:~# apt update
[email protected]:~# apt upgrade
[email protected]:~# git clone https://www.kismetwireless.net/git/kismet.git
[email protected]:~# apt install build-essential libmicrohttpd-dev libnl-3-dev libnl-genl-3-dev libcap-dev libpcap-dev libncurses5-dev libnm-dev libdw-dev libsqlite3-dev
[email protected]:~# cd kismet
[email protected]:~# ./configure
[email protected]:~# make
[email protected]:~# make suidinstall
[email protected]:~# /usr/local/bin/kismet_capture_tools/kismet_cap_linux_wifi --list
[email protected]:~# kismet -c wlan0
A continuación, puede navegar a http://localhost:2501 para ver la interfaz de Kismet y cualquier alerta. Asegúrese de iniciar sesión con las credenciales que se encuentran en ~/.kismet/kismet_httpd.conf
para obtener la funcionalidad completa. También puede crear y ejecutar las herramientas de captura en máquinas separadas, lo que le permite monitorear desde varios puntos finales y ver las alertas en un único servidor centralizado.
En general, esta vulnerabilidad no es el fin del mundo. Como dice @grifter801, esta vulnerabilidad fomenta este enfoque impactante:“Repara tus cosas. Usa 2FA. Usa HTTPS.” No podríamos estar más de acuerdo.
También lo alentamos a considerar las perspectivas defensivas, de prueba y de detección de cualquier nueva vulnerabilidad para ayudarlo a ser más consciente de los detalles más finos de la vulnerabilidad, obtener información sobre ella y convertirse en parte de la solución.
Gracias a Offensive Security y al miembro del equipo de Kali, Steev, por los recursos técnicos utilizados en este artículo.