En la pasada RootedCON de 2013 Raúl Siles introdujo una mejora al clásico ataque de Joshua Wright a redes WiFi empresariales llamado Dumb-Down, desconozco si el término o la vulnerabilidad que explota fue contribución suya o de algún otro gurú, pero la verdad es que no he encontrado referencias sobre la implementación/descripción del ataque en otras fuentes. Como no identificamos referencias básicamente sobre su realización técnica pasamos al “do it yourself”. La verdad que esta vulnerabilidad, desde mi punto de vista, ha pasado bastante desapercibida por lo que al impacto en la red se refiere (blogs, comentarios, etc.) y me sorprende especialmente por el terrible impacto que tiene. En las próximas líneas veremos una prueba de concepto de cómo configurar un sistema capaz de ejecutar el ataque, desde los cimientos aportados por Joshua a la mejora propuesta por Raúl.
En primer lugar comentar que el ataque Dumb-Down permite obtener directamente las credenciales en claro de los clientes WiFi que por una mala configuración de sus terminales autentiquen a una red empresarial que utilice EAP como método de autenticación.
Para ello necesitamos primero desplegar la infraestructura que nos permita autenticar a los clientes inalámbricos, para ello utilizaremos “Freeradius-WPE”, el cual habilita capacidades de registro para las credenciales suplidas por los usuarios víctima. No voy a describir su proceso de instalación ya que hay cientos de blogs que ilustran el ataque, destacar tan solo que, este es capaz de capturar diversos métodos de autenticación EAP como son: EAP-TTLS PAP, EAP-TTLS CHAP, PEAP-MSCHAPv2, EAP-TTLS GTC y por supuesto sus versiones sin tunelizar, entre otros.
Lanzaremos por tanto una vez instalado, el Freeradius-WPE mediante el siguiente comando.
Pondremos un Tail en su fichero de registro que es donde nos irá guardando las credenciales de los clientes WiFi.
En este momento necesitamos levantar un punto de acceso que autentique contra nuestro servidor Radius modificado en el puerto 1812 UDP. Podemos usar un AP físico o montar un hostapd, esta segunda opción nos permitirá utilizar una tarjeta WiFi con una antena con bastante ganancia. La configuración utilizada para el hostapd es la siguiente, lanzando posteriormente el demonio.
Ahora que ya tenemos la infraestructura preparada vamos a hacer una prueba de conexión sin aplicar todavía el ataque Dump-Down. Desde un teléfono móvil por ejemplo conectamos al AP requiriendo inmediatamente en la pantalla de nuestro terminal las credenciales de acceso a la red.
Nuestro terminal nos alerta de que el certificado de seguridad no es válido, en numerosas ocasiones el usuario simplemente lo aceptará por simple desconocimiento, pero como veremos en el estudio realizado más adelante para una red concreta, la mayoría de equipos están configurados para no comprobar la autenticidad del servidor de validación. Esto conlleva un gran problema ya que en nuestro registro podemos ver el usuario que ha conectado y la huella tanto del challege como del response de MSCHAPv2. Con esta información podemos utilizar aplicaciones como “John the ripper” versión “Jumbo”, “asleap” o servicios en la nube de crackeo de contraseñas por el módico precio de 17$ la unidad.
Como vemos en el log del Freeradius-WPE de la captura anterior, el método de autenticación ha sido Mschapv2 con un protocolo de protección y cifrado del proceso PEAP.
Veamos ahora como conseguir que el cliente en lugar de remitirnos un challenge/response que deberemos crackear, nos remita la contraseña directamente en claro, que es la gracia de Dump-Down. Muchos de los suplicantes inalámbricos delegan en el servidor Radius el método de autenticación a negociar, de esta manera si el terminal le comunica que se va a validar a través de MSCHAPv2 y nuestro FreeRadius-WPE replica forzándole a utilizar por ejemplo, EAP-GTC, conseguimos evitar realizar la fuerza bruta sobre MSCHAPv2. Si queréis saber que clientes son presas de este ataque, el estupendo estudio de Raúl realizado para la Rooted puede aportaros más detalles. Adelantaros que, en entornos Windows, EAP-GTC no es aceptado de forma nativa (así como LEAP o EAP-TTLS), ¿por qué? Pues porque ya tienen su propio método creado por ellos, Microsoft CHAPv2. Donde comienza la verdadera fiesta es con los terminales móviles; IOS 5, 6 y 7 sucumben al ataque; Android, dependiendo del grado de configuración; Windows Phone, peor escenario posible. Lo verdaderamente terrorífico en este punto es la capacidad por defecto de los teléfonos inteligentes de conectar automáticamente a aquellas redes que aparecen en su lista de favoritos, es decir, todas con las que previamente se ha realizado una asociación satisfactoria.
Configuremos por tanto nuestro FreeRadius-WPE editando el archivo “/usr/local/etc/raddb/eap.conf” y cambiando el método de autenticación por defecto a EAP-GTC como muestra la imagen.
Agradecimientos en este punto a nuestro compañero David Lladró por la configuración anterior.
En estos momentos, lanzaremos nuevamente nuestro Radius y repetiremos el intento de conexión con los siguientes resultados.
Como vemos en la imagen, el servidor ha forzado al cliente a utilizar EAP-GTC revelándonos directamente las credenciales en claro.
Un estudio que trató de analizar el impacto y el nivel de seguridad de este tipo de redes arrojó resultados escalofriantes. El objetivo propuesto fue una popular red universitaria. En su página web podemos leer:
Para los que no la conozcáis es la red que da conectividad inalámbrica a los alumnos, independientemente de la universidad donde se encuentren. Tras un breve proceso de Wardriving por la ciudad con un punto de acceso simulando un nodo de XXX y un rápido paso por un par de campus, los resultados fueron los siguientes:
- 59 Challenge/response de MSCHAPv2 capturados, con el consiguiente 100% de crackeo de la contraseña.
- 36 credenciales en claro.
Como ellos mismos dicen “abre tu portátil y estás conectado”, paradójico ¿no…?
Pero este tipo de ataque Dump-Down, todavía puede dar mucho más juego, podemos utilizarlo para realizar ataques de ingeniería social. Supongamos que tenemos que realizar un test de intrusión sobre una empresa llamada Duff. Podemos levantar una infraestructura Dump-Down con un SSID por ejemplo “Duff WiFi mail service”, “Duff WiFi VPN” o cualquier otro nombre atractivo que pueda hacer que un usuario se autentique con sus credenciales de dominio, ya que lo único que se le requerirá al cliente que intente conectarse es un par usuario/contraseña, siendo muy fácil que asocie el nombre de la red con las credenciales de acceso al servicio (por ejemplo el correo). Al margen de esto, se me ocurre que podría ser interesante levantar por ejemplo, un punto de acceso en Barajas que se llamara “Google free WiFi” a ver cuántas “polillas” se pueden llegar a capturar… Dejamos esta práctica (que no recomendamos realizar en absoluto) para aquellos lectores Underground.
No hay que olvidar que normalmente, este tipo de sistemas de seguridad WiFi empresariales están integrados con el dominio Windows corporativo, es decir que no sólo pueden suponer el acceso a la red inalámbrica de una compañía, sino a todos los recursos internos que estén integrados con el dominio: escritorio remoto en servidores, correo electrónico, ERP, servidores de ficheros, OWA, VPN, etc.
Por lo tanto y como conclusión, el riesgo de una red EAP mal configurada es mucho mayor que una que directamente no presenta contraseña de acceso (OPN).
Nota final: Recomendación que desde Security Art Work nos gustaría realizar, SI NO ESTÁS UTILIZANDO UN SERVICIO WIFI, EL INTERFAZ INALÁMBRICO MANTENLO APAGADO SIEMPRE.
Hola. Me llamo Roberto y mi nick es hal9000. He visto que en vuestro ejemplo habeifs puesto mi nombre y nick. Significa esto que me habeis hackeado? Gracias por ponerme sobre aviso porque esto lo voy a poner en manos de quien corresponde.
Desgraciadamente sí, solemos utilizar tu máquina como laboratorio. Pegale una leída a algunos post de SAW para aprender a bastionar tu equipo.
No había leído que también te llamas Roberto. Pero también es casualidad que usemos ese nick. Imagina la cara que se me ha quedado al ver que aparecian mis datos. Acepta mis disculpas.
Tranquilo, gracias por seguir el blog ;)
Muy interesante. Hay que ver la de fallos de diseño que descubre uno gracias a vosotros…
Saludos.