miércoles, 2 de septiembre de 2009

Robo de identificadores de usuario en redes WPA empresariales

Este artículo es fruto de la experimentación y, como cualquier artículo de este blog, está totalmente sujeto a errores y da la bienvenida a correcciones y ampliaciones.

Durante una auditoria wireless me encontré con una red en principio bastante bastionada. SSID oculto, WPA+TKIP y PEAP-MsCHAPv2. Es decir:

· Comunicaciones cifradas (WPA+TKIP)
· Autenticación cifrada sobre TLS

La curiosidad del caso reside en como el RFC de EAP define la presentación de la identidad del usuario, previa a la autenticación y establecimiento del túnel SSL. Cito del RFC de EAP (3748), sección 5.1 (Identity) dice:

Identity Requests and Responses are sent in cleartext, so an attacker may snoop on the identity, or even modify or spoof identity exchanges. To address these threats, it is preferable for an EAP method to include an identity exchange that supports per-packet authentication, integrity and replay protection, and confidentiality.


Es decir, que utilices otro protocolo que pueda establecer comunicaciones seguras previas a la petición y respuesta de identidad, ya que en EAP se envía en claro.

No parece algo de lo que seamos muy conscientes, ya que todo aquel a quien se lo comento se sorprende (yo el primero, por supuesto).

Para conseguir esta identidad no hace falta estar conectado a la red ni lanzar ningún tipo de ataque, con esnifar tráfico en el aire nos vale. Lo que sí puede ser necesario es forzar de algún modo la reconexión de los clientes para capturar el dato. Un ataque de denegación de servicio a la capa física debería valer ¿no? Ignoro si existe algún ataque exitoso de desconexión de clientes para WPA que sea menos costoso que llenar de ruido el canal...

Añadido: Pues no está claro que lo que se esté usando sea PEAP-MsCHAPv2. Depende un poco de lo que se entienda por PEAP (si PEAPv0 ó PEAPv1). PEAP normalmente hace referencia a PEAPv0, pero no es ningún estándar ni mucho menos. Si tomamos ese PEAP como PEAPv0, resulta que PEAPv0 es EAP-MsCHAPv2, por lo que seguramente lo más correcto sería hablar de EAP-MsCHAPv2. 

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...