Oportunidad para Evadir la Autenticación de un NAC

  • Posted on: 11 December 2020
  • By: ReYDeS

Muchas implementaciones NAC (Network Access Control) utilizando agentes disolubles o sin cliente, deben acomodar sistemas donde el agente no es soportado. Los dispositivos móviles como teléfonos, iPads, entre otros, pueden requerir acceso hacia la red, pero no ser soportados por el proveedor NAC. En estos casos la organización puede excluir dispositivos específicos de la autenticación y de la verificación para cumplimiento. Para los atacantes esto crea un oportunidad de suplantar al dispositivo no soportado, par consecuentemente evadir el sistema NAC.

Para aprovechar esta técnica, es útil primero identificar al proveedor NAC utilizado. A continuación identificar el Sistema Operativo cliente no soportado, pero probable de ser utilizado en la organización. Seleccionar el cliente soportado a suplantar para evadir al sistema NAC.

Muchos proveedores NAC inician con una “lista buena” de MACs (Media Access Control) OUI (Organizationally Unique Identifier), sobre dispositivos los cuales están exentos de la autenticación y validación de postura. Tempranamente evadir un NAC es tan simple como cambiar la dirección MAC ethernet o inalámbrica, para esta coincida con el OUI del iPad o otro dispositivo exento. Desafortunadamente los proveedores NAC han tapado este agujero, introduciendo verificaciones para atrapar a quienes intentan evadir el NAC.

Validación del Sistema

Para prevenir la evasión del un sistema NAC, los proveedores han introducido sistemas adicionales para la verificaciones de las validaciones correspondientes a la comprobación de MAC OUI. Estas verificaciones intentan validar una MAC OUI y ajustes adicionales soportan la identidad del sistema, incluyendo:

  • Coincidencia con el Agente de Usuario del Navegador: El sistema NAC inspeccionará el tráfico HTTP para identificar la cadena del Agente de Usuario HTTP, asegurándose de erróneamente no revele un sistema operativo o plataforma, el cual no coincida con otros criterios
  • Huella Pasiva del Sistema Operativo: Observando el tráfico pasivamente sobre la red, el proveedor NAC identifica el sistema operativo utilizado por el cliente, diferenciando Windows, Linux, OS X y plataformas embebidas.
  • Validación JavaScript del Sistema Operativo: Algunos sistemas NAC insertan JavaScript personalizado dentro de una respuesta HTTP, para recolectar información sobre el DOM (Domain Object Model) del navegador del cliente.

Aunque estos métodos dificultan el suplantar dispositivos con una política de excepción, un atacante cuidadoso aún puede suplantar cualquier sistema, si se tiene conocimiento previo sobre como se comporta el sistema con la política de excepción.

Fuentes:

https://en.wikipedia.org/wiki/Network_Access_Control
https://www.macvendorlookup.com/
https://en.wikipedia.org/wiki/Organizationally_unique_identifier

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: https://www.reydes.com/d/?q=node/1