30 ene 2020

Ataque a 802.1X: EAP Dumb-Down

¡Muy buenas, amigos de las ondas!

Existe una gran cantidad de cosas que podemos hacer durante una auditoría Wi-Fi, siendo un arte por sí mismo. Hoy os traemos un truco (trucazo) que nos puede ayudar enormemente cuando auditemos una red Wi-Fi que utilice autenticación 802.1X. Antes de entrar en materia, nos gustaría informaros de la autoría de este este maravilloso truco: Raúl Siles (presentado en Rooted2013).

Bien, antes un poco de teoría:

Mientras que en redes inalámbricas domésticas la seguridad se basa en la autenticación mediante contraseña (o sea, WPA), en entornos corporativos esta autenticación se suele hacer a través de un servidor RADIUS, haciendo uso de unas credenciales. Esta autenticación se hace a través del framework EAP (Extensible Authentication Protocol), el cual permite una gran cantidad de métodos de autenticación distintos, como EAP-TLS, EAP-SIM, EAP-AKA, PEAP, LEAP y EAP-TTLS.

Por lo general, los dispositivos móviles utilizan el método cifrado PEAP (Protected EAP) por defecto, pero lo podrán cambiar si el punto de acceso establece un método distinto. Por otro lado, existe un método llamado EAP-GTC (EAP-Generic Token Card), el cual permite el intercambio de un reto-respuesta... en claro.

¿Ya sabéis por dónde van los tiros? :)


Ahora vamos a la segunda parte de este post: Vamos a montar un evil twin que fuerce el método EAP-GTC para la autenticación, lo que se denomina como ataque EAP dumb-down. Es importante tener en cuenta que esto únicamente funcionará con puntos de acceso sin certificado (de lo contrario no se enviarán las credenciales).

Una de las herramientas más útiles a la hora de levantar un punto de acceso con autenticación RADIUS es hostapd-wpe, la cual permite establecer una configuración del servidor de una manera sencilla a través de unos ficheros de configuración.

Una vez instalada, tendremos que modificar dos ficheros para llevar a cabo el ataque:
  • hostapd-wpe.conf: en este fichero indicaremos la interfaz inalámbrica, canal de emisión y SSID a utilizar. 
  • hostapd-wpe.eap_user: en este fichero estableceremos las formas de autenticación que soportará el servidor RADIUS. En este caso, forzaremos a utilizar el método EAP-GTC añadiendo las siguientes líneas:
* PEAP [ver=1]
"t" GTC "password" [2]


Por último, lanzamos hostapd-wpe de la siguiente manera:

hostapd-wpe hostapd-wpe.conf -dddddd | grep "EAP-GTC: Response" -A 5 -B 20

De este modo, en las trazas de debug aparecerán en claro las credenciales que se hayan intentado autenticar (usaremos el grep para filtrar del resto de ruido de trazas de debug).

Credenciales obtenidas en un Android...
... y en un iPhone

2 comentarios:

  1. Hola,
    Enhorabuena otro artigo muy bueno.
    ademas del certificado hay otros medios de proteción a ese ataque?

    ResponderEliminar
    Respuestas
    1. Buenas! Muchas gracias!
      Pues te diría que es la única manera de protegerte, ya que al final tampoco puedes configurar tantas cosas en un móvil... aunque tampoco pondría la mano en el fuego.
      Saludos!

      Eliminar