¿Ataques contra Active Directory? También, pero no sólo...

(Para Alessandro Rugolo)
04/08/23

Leyendo mientras leía me encontré con uno infografías muy interesante. Debo reconocer que las infografías me atraen por su capacidad para representar conceptos de forma clara e inmediata a través de diagramas o dibujos. Esta forma de representación despierta muchas veces mi curiosidad y así fue también esta vez.

Esta es una publicación de LinkedIn publicada en un grupo (Ethical Hackers Academy) en la que se representan diez métodos para atacar Active Directory (AD).

Y así, me pareció oportuno ahondar un momento en ello ya que más de una vez me di cuenta de que hay muchos que piensan que tener un dominio AD puede ser un solucionador de seguridad.

Como todos los sistemas, AD trae beneficios de seguridad pero no está exento de límites y vulnerabilidades (¡y aún más a menudo de mala configuración!) y hablaremos de esto en este artículo. 

Pero, ¿qué es el Directorio Activo? 

Un servicio de directorio, como Active Directory, proporciona métodos para almacenar datos de directorio y ponerlos a disposición de los administradores y usuarios de la red. Active Directory almacena información de la cuenta de usuario, como nombres, contraseñas, números de teléfono, etc., y permite que otros usuarios autorizados en la misma red accedan a esa información. Active Directory utiliza un almacén de datos estructurados como base para una organización lógica y jerárquica de la información del directorio y contiene información sobre los objetos de Active Directory. Estos objetos suelen incluir recursos compartidos, como servidores, volúmenes, impresoras y usuarios de red y cuentas de equipo. La seguridad está integrada con Active Directory a través de la autenticación de inicio de sesión y el control de acceso a los objetos del directorio. Con un solo inicio de sesión en la red, los administradores pueden administrar los datos de la organización y el directorio en toda la red, y los usuarios autorizados de la red pueden acceder a los recursos en cualquier lugar de la red. La administración basada en políticas simplifica la gestión incluso de la red más compleja.

Así que no olvidemos que AD realiza ciertas funciones y no todas ellas son funciones de seguridad. AD sirve como depósito centralizado para algunos datos, dichos datos se pueden replicar y difundir en una organización compleja para garantizar una alta disponibilidad de algunos servicios, realiza funciones de seguridad al permitir el uso de varios tipos de autenticación, GPO y flujos de trabajo, realiza auditorías en algunos eventos que pueden ocurrir en el sistema de gestión de identidad, como la autenticación de usuarios y también pueden realizar funciones de inicio de sesión único.

Dada la cantidad y la importancia de las funciones, es necesario prestar especial atención y hacerse una pregunta: ¿qué sucede si se ataca AD?

Bueno, sin querer ser exhaustivo, aquí hay algunos tipos de ataques que deben estudiarse para hacerlos inofensivos o al menos para darse cuenta de que está bajo ataque.

kerberasting. Según la definición de CROWDSTRIKE, es una técnica de ataque post-explotación (ataque que tiende a extender y elevar las credenciales de uno cuando ya está dentro de un sistema). Este ataque consiste en obtener el hash de la contraseña de una cuenta AD que utiliza el servicio SPN (Service Principal Name: Identity Management service). Una vez obtenido el hash, el atacante descifra la contraseña y en este punto tiene todo lo necesario para suplantar al usuario y así tener acceso a todas las redes o sistemas a los que está autorizado.

Ataque de pulverización de contraseñas. También según CROWDSTRIKE, este tipo de ataque consiste en probar la misma contraseña contra una lista de usuarios en la misma aplicación. Por lo tanto, se trata de un ataque de fuerza bruta, más fácil de ocultar que el ataque más común contra un solo usuario con varias contraseñas. En este caso Active Directory es utilizado por el atacante para recopilar una lista de usuarios activos en el sistema, pero esta recopilación de información también se puede realizar de otras formas, por lo que en mi opinión no es correcto considerar este tipo de ataque entre aquellos que lo toman apunta a directorios activos. Y pasemos al tercero.

Resolución de nombres de multidifusión de bucle local (LLMNR). Es un protocolo que permite la resolución de nombres en una red local gracias al uso de un paquete multicast en el puerto UDP 5355. En este caso AD, si no contiene en su GPO la indicación de no usar LLMNR, juega el juego de el atacante También en este caso no es una debilidad de AD sino una evaluación (con suerte) del administrador de la red, de hecho en algunos casos el uso de LLMNR es útil, aunque hoy en día estos casos se han reducido mucho.

Pasa el hachís con Mimikatz. Esta técnica de ataque consiste en robar las credenciales de AD. Credenciales que luego se pueden utilizar para realizar movimientos laterales dentro del entorno atacado. Para llevar a cabo este ataque es necesario extraer los hashes de las contraseñas de los usuarios del dominio, que se encuentran en el archivo Ntds.dit, junto con otra información sobre objetos y grupos. Así que gracias al uso de una herramienta llamada Mimikatz es posible utilizar los hashes para realizar el ataque, suplantando a cualquier usuario del dominio. 

Reconocimiento LDAP. La técnica denominada LDAP Reconnaissance consiste en un ataque realizado desde dentro del sistema y que tiene como objetivo recopilar información de LDAP. Esta información del usuario se puede utilizar para realizar ataques dirigidos más sofisticados.

Reconocimiento de sabuesos. BloodHound es una herramienta que le permite buscar vulnerabilidades en AD, pero no solo. BloodHound explota la teoría de grafos para identificar relaciones ocultas, permisos, sesiones y posibles rutas de ataque en un dominio de Windows. En teoría, su propósito es ayudar a los expertos en ciberseguridad a defender su dominio, pero por supuesto también puede ser utilizado por un atacante. 

Hay que decir que en principio no se trata de ataques o herramientas específicas para AD sino que suelen ser válidos también contra otros sistemas.

La lista de diez ataques también incluye técnicas de ataque verdaderamente genéricas, que no involucran directamente a AD, en particular: credenciales predeterminadas, credenciales codificadas, escalada de privilegios. Estas técnicas no son exclusivamente contra AD, pero pueden usarse contra cualquier sistema informático.

Siempre me pregunto el por qué de las cosas, sobre todo cuando escribo. 

Un título puede tener mucha influencia para atraer o no atraer lectores y los lectores no siempre prestan suficiente atención a lo que leen. El resultado es el habitual: uno es influenciado, a favor o en contra de un tema o idea específica.

En este caso, de los diez métodos de ataque contra Active Directory, queriendo ser amplios, se pueden tomar en consideración un máximo de seis. En cualquier caso, agradezco a la Academia de Hackers Éticos por darme la oportunidad de conocer un poco.

PD Como siempre, gracias a los amigos de SICYNT que quisieron contribuir con sugerencias y correcciones

Para obtener más información:

- https://www.linkedin.com/posts/mohessa511_activedirectory-kerberos-attac...

- https://www.crowdstrike.com/cybersecurity-101/kerberoasting/

- https://thebackroomtech.com/2018/08/21/explanation-of-service-principal-...

- https://www.crowdstrike.com/cybersecurity-101/password-spraying/ 

- https://www.blackhillsinfosec.com/how-to-disable-llmnr-why-you-want-to/

- https://www.blackhillsinfosec.com/?s=Active+Directory

- https://www.advantio.com/blog/attacking-active-directory-by-llmnr-nbsn

- https://blog.netwrix.com/2021/11/30/passing-the-hash-with-mimikatz/

- https://blog.netwrix.com/2021/11/30/extracting-password-hashes-from-the-...

- https://www.netwrix.com/ldap_reconnaissance_active_directory.html

https://blog.netwrix.com/2022/12/09/bloodhound-active-directory/

https://learn.microsoft.com/pdf?url=https%3A%2F%2Flearn.microsoft.com%2F...

https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/sec... 

https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/sec....