Analizando las capturas de WPA2 Enterprise con asignación dinámica de VLAN

 Analizando las capturas de WPA2 Enterprise con asignación dinámica de VLAN


En un post anterior, configurábamos WPA2 Enterprise con PEAP y asignábamos la VLAN de forma dinámica dependiendo de a que grupo pertenecía el usuario, vamos, Role-Based Access Control (RBAC) 

Estos son los 4 puntos donde realizamos las capturas: 

Autenticación WPA2 Enterprise

En un entorno WPA2 Enterprise, la seguridad se basa en el estándar 802.1X para el control de acceso a la red, utilizando el protocolo EAP (Extensible Authentication Protocol). Con PEAP (Protected EAP), se establece un túnel TLS cifrado entre el cliente y el servidor de autenticación (en este caso, Cisco ISE). Dentro de este túnel seguro, se realiza la autenticación real del usuario (generalmente con credenciales como nombre de usuario y contraseña, y en nuestro caso, almacenados en la base de datos interna del Cisco ISE). Los componentes clave son:
Cliente (Suplicante): El dispositivo que intenta conectarse (en el ejemplo, una laptop).
Punto de Acceso: El AP FlexConnect que media la solicitud de conexión.
WLC (Authenticator): Gestiona los AP FlexConnect y reenvía el tráfico de autenticación al ISE.
Cisco ISE (Servidor de Autenticación): Verifica las credenciales del usuario y autoriza el acceso.
EAPoL (EAP over LAN): El protocolo que encapsula los mensajes EAP entre el cliente y el AP.
RADIUS: El protocolo estándar utilizado para la comunicación AAA (Autenticación, Autorización y Contabilidad) entre el AP/WLC y el servidor ISE.

Ahora, analicemos el tipo de tráfico que observaríamos al realizar capturas de paquetes con Wireshark en los cuatro puntos especificados durante una autenticación exitosa:

1.- Captura de paquetes en la WLC Cisco 9800-CL

La WLC se estará comunicando con el AP mediante protocolo CAPWAP, y con el servidor Cisco ISE mediante protocolo RADIUS


La captura se realizó en la utilidad de paquetes desde el GUI de la WLC 9800, como se indica en este post anterior: Captura de paquetes con Switches y WLCs Cisco series 9000

A la captura obtenida, le hemos aplicado el filtro "radius || eapol". 
  • Con el filtro "radius" solo veremos el tráfico entre el Authenticator (WLC-DARGNET 172.20.55.104) y el Authentication Server (ISE-DARGNET 172.20.55.103)
  • Con el filtro "eapol" veremos tráfico EAP y EAPoL encapsulado dentro de CAPWAP entre el suplicante (mi móvil) y el AP (recuerda que la configuración era con autenticación central).
  • Mediante el operador || (or) conseguimos ver ambos tipos de tráfico simultáneamente:

En la WLC, observaremos tráfico tanto del protocolo EAPoL (comunicación entre el cliente y el AP FlexConnect) encapsulado en CAPWAP, como del protocolo RADIUS (comunicación entre la WLC y el Cisco ISE):
  • Tráfico EAPoL: Veremos los mensajes intercambiados entre el cliente y el AP, incluyendo:
    • EAP-Request/Identity: Solicitud de identidad del AP al cliente.
    • EAP-Response/Identity: Respuesta del cliente con su nombre de usuario.
    • Intercambio EAP (PEAP): Mensajes EAP-Request y EAP-Response específicos de PEAP, incluyendo la negociación del túnel TLS y los mensajes de autenticación interna (MSCHAPv2) que estarán cifrados dentro del túnel TLS.
    • EAP-Success: Mensaje indicando la autenticación exitosa.
    • EAPoL-Key: Los cuatro mensajes del handshake de 4 vías (tras la autenticación EAP exitosa) para derivar las claves de cifrado de datos (PTK y GTK).
  • Tráfico RADIUS: La WLC actuará como un proxy RADIUS, reenviando los mensajes EAP encapsulados en RADIUS al servidor ISE y viceversa. Veremos los mismos mensajes RADIUS descritos en el punto anterior (Access-Request, Access-Challenge, Access-Accept).



2.- Captura de paquetes en Cisco ISE

Para la captura de paquetes en Cisco ISE, navegamos a "Operations->Troubleshoot->Diagnostic Tools->TCP Dump" y configuramos la captura

En este caso, solo hay tráfico RADIUS entre ISE-DARGNET y WLC-DARGNET

Y el tráfico, obviamente, es identico al que vemos en la WLC si eliminamos en su captura el EAPoL. La única diferencia con respecto a la captura en ela WLC se encuentra en el packet identifier de Radius

En este punto, directamente en el servidor de autenticación, el tráfico que predominará será el del protocolo RADIUS. Veremos el siguiente intercambio:
  • RADIUS Access-Request: El WLC (actuando como cliente RADIUS) enviará esta solicitud al ISE, conteniendo la información del usuario que intenta autenticarse (identidad proporcionada por el cliente en los mensajes EAPoL). Dentro de este mensaje, los mensajes EAP estarán encapsulados en atributos RADIUS.
  • Intercambio de RADIUS Access-Challenge: Si se utiliza un método EAP de dos fases como MSCHAPv2 dentro de PEAP, el ISE enviará uno o varios mensajes Access-Challenge al WLC. Estos mensajes contienen los desafíos para la autenticación del usuario, también encapsulados dentro de atributos EAP.
  • RADIUS Access-Accept: Si el ISE verifica exitosamente las credenciales del usuario en su base de datos interna, enviará un mensaje Access-Accept al WLC. Este mensaje indicará que la autenticación fue exitosa y puede incluir atributos de autorización (en este caso, asignación de VLAN, VLAN21_DYN o VLAN22_DYN).
  • Dentro de los mensajes RADIUS, al analizar los detalles del protocolo EAP, podremos observar las fases de PEAP, incluyendo el establecimiento del túnel TLS (visible por los intercambios de claves TLS) y los mensajes del método de autenticación interno (como MSCHAPv2) que viajan de forma segura dentro de ese túnel cifrado.


3.- Captura en el puerto del Switch donde se conecta el AP

El Switch es un Meraki MS-120, y la captura se realizó con la funcionalidad propia de Meraki. En esta captura además del tráfico CAPWAP entre el AP y la WLC, podemos ver todo el tráfico que entrega el AP del cliente al switch, ya que está en modo Flexconnect. El tráfico Capwap está encriptado, por lo que no podemos ver nada en su interior, de no estarlo, el tráfico EAP sería muy similar al capturado en la WLC. He filtrado el tráfico DHCP porque nos permite verificar la asignación dinámica de VLAN en acción:

4.- Captura OTA entre el AP y el cliente

Y esta es la captura más interesante de todas. Realizada con Airtool 2 de Intuitibits de Adrián Granados desde mi laptop:

En el extracto podemos observar como se utilizan dos identidades distintas: Contractor1 y Guest1. Esta captura tiene un filtro bastante más complejo.

Al no ser WPA2 con PSK no puedo desencriptar el tráfico por lo que no puedo añadir a ese filtro el tráfico DHCP para que por ejemplo, pudieramos ver como se asigna a el cliente a una VLAN diferente dependiendo de la identidad. Si añadimos que se vea también las tramas de datos como a continuación, no podemos distinguir de que típo de tráfico se trata. En cualquier caso dejo esta captura que ilustra toda la conexión del cliente en un descubrimiento activo: 
  • Probe Request: El cliente envia probes para descubrir la SSID.
  • Probe Response: El AP responderá a los probes con información sobre la red.
  • Authentication Frames (Open System): La autenticación inicial de 802.11 (solicitud y respuesta).
  • Association Request: El cliente solicitará asociarse al AP.
  • Association Response: El AP responderá indicando si la asociación fue exitosa.
  • EAP Data Frames: Los mensajes EAP que encapsulan el proceso de autenticación 802.1X/EAP. Los mensajes específicos de PEAP (incluyendo los del método interno como MSCHAPv2) viajarán cifrados dentro del túnel TLS, por lo que su contenido específico no será directamente visible en esta captura OTA sin descifrado.
  • EAPoL-Key Frames (Handshake de 4 Vías): Los cuatro mensajes del handshake de 4 vías, que estarán protegidos con MICs (Message Integrity Checks).

Relación entre capturas





Comentarios

Entradas populares de este blog

Cisco 9800 Roam Type 802.11i Slow vs 802.11i Fast vs 802.11r

Captura de paquetes desde el móvil con ANALITI

Configurar Cisco WLC y Aruba Clearpass para Guest con Mac Caching