Pentesting LEAP cifrado WLAN
El Protocolo de autenticación extensible ligero (LEAP) es un protocolo de autenticación heredado basado en Cisco que utiliza un servidor RADIUS externo para autenticar a los usuarios. Realiza una autenticación pseudo-mutua tanto del cliente inalámbrico como del servidor de autenticación, con el uso de funciones hash: MS-CHAP y MS-CHAPv2.
La vulnerabilidad de LEAP radica en el hecho de que:
El nombre de usuario del usuario se envía en texto sin cifrar; por lo tanto, el pirata informático solo necesita obtener la contraseña del usuario, utilizando, por ejemplo, ingeniería social.
La contraseña del usuario es pirateada con MS-CHAPv2: el algoritmo es vulnerable al ataque de diccionario fuera de línea.
De la misma manera que en casos anteriores, comencemos con airodump-ng para averiguar qué WLAN se transmiten en el entorno.
Como puede ver, la WLAN "LAB-test" es visible como red WPA2. En este tipo, el modo de autenticación se cambia a "MGT"; lo que significa es que no hay una clave precompartida (PSK) estática, pero los servicios de autenticación se trasladan al servidor de autenticación externo (por ejemplo, RADIUS). En ese momento, no puede decir si la red WLAN en particular se basa en LEAP, PEAP, EAP-TLS, EAP-TTLS o qué otro tipo de tecnología EAP.
El siguiente paso es habilitar Wireshark, para ver los detalles del paquete, le da al probador de penetración mucha información valiosa.
Como puede ver, el servidor de autenticación primero intentaba negociar EAP-TTLS, pero el cliente se negó. En los siguientes 2 mensajes, aceptaron utilizar LEAP.
En los primeros 2 mensajes, el servidor de autenticación solicita un nombre de usuario (identidad) y el cliente responde; como puede ver, la respuesta del cliente se transmite en un texto sin cifrar.
En ese momento, ya sabemos que un nombre de usuario válido del cliente inalámbrico es "LAB_user". Para averiguar la contraseña, echaremos un vistazo aRequest/Response intercambiar.
En la parte inferior del encabezado de autenticación 802.1x, puede observar que el servidor de autenticación desafió al cliente inalámbrico con un texto de desafío "197ad3e4c81227a4". Luego, en segundo plano, el cliente inalámbrico usó un algoritmo MS-CHAPv2 combinado con la contraseña de LAB_user y obtuvo un valor hash: "ef326a4844adb8288712a67e2dc659c4f9597dc4a7addc89", que se envió de vuelta al servidor de autenticación. Como sabe por los capítulos anteriores, afortunadamente para nosotros, MS-CHAPv2 es vulnerable a los ataques de diccionario fuera de línea. Para eso, usaremos una herramienta muy común para romper la contraseña LEAP, llamadaasleap.
Como puede ver, según la captura de paquetes, asleapfue capaz de derivar toda la información del intercambio de paquetes 802.1X y descifrar el hash MS-CHAPv2. La contraseña del usuario: "LAB_user" es "f8be4a2c".
Una vez más, existe una gran posibilidad de que nunca vea la autenticación LEAP en el entorno de producción; al menos ahora tiene una muy buena prueba de por qué.