¿Qué es un controlador de dominio?
Un controlador de dominio es un tipo de servidor de computadora que responde a las solicitudes de autenticación de seguridad y verifica a los usuarios en el dominio de una red informática. El controlador es un gatekeeper para permitir el acceso del host a los recursos del dominio. También aplica políticas de seguridad, almacena la información de la cuenta de un usuario y autentica a los usuarios para un dominio.
Este blog analiza el enfoque que utilizan los atacantes, después de obtener un punto de apoyo inicial en un controlador de dominio, para descubrir y comprender un entorno antes de moverse lateralmente. Muchas de las técnicas “viven de la tierra” de un punto final o servidor para eventualmente llegar a los controladores de dominio y lanzar un ataque. Nuestra próxima publicación examinará algunas formas en que los atacantes se mueven lateralmente y, por último, exploraremos las mitigaciones para prevenir movimiento lateral.
Los atacantes encuentran una manera de llegar.
Una vez que entran, es cuestión de moverse lateralmente, a menudo para llegar al controlador de dominio con el fin de orquestar un ataque. Una vez que un atacante tiene acceso a él, es efectivamente un administrador de TI, por lo que “vivir de la tierra” no podría ser más fácil. Examinemos un ataque, suponiendo una brecha, que un atacante eventualmente encontrará una manera de entrar.

Pero primero, veamos los controladores de dominio. Probablemente ya lo sepa, pero un servidor de Microsoft Domain Controller, Active Directory, es responsable de autenticar el acceso (verificar el inicio de sesión de los usuarios) a un dominio de Windows y a los recursos de red asociados. Posee un directorio de usuarios, grupos y computadoras y es un repositorio de servicios de red como archivos compartidos, recursos compartidos de red e impresoras. Un servidor aprovisionado con las funciones de Servicios de dominio de Active Directory se convierte en un controlador de dominio. También se instala con un servidor DNS para administrar la resolución de nombres y otros servicios de red interna. Aunque están muy impulsados por GUI, un controlador de dominio y un servidor de Active Directory son muy complejos, especialmente en una red corporativa típica donde es probable que haya varios para replicación y tolerancia a fallas.

Como resultado de los roles fuertemente entrelazados en un dominio de Windows, el controlador de dominio aloja muchos servicios diferentes dependiendo de la cantidad de roles que se aprovisiona para realizar. Roles como DNS para resolución interna de nombres, ticketing Kerberos para autenticación, bloque de mensajes del servidor, servicios de certificados y mucho más. Esto amplía el superficie de ataque y de hecho hay muchos ataques contra componentes como:
- Uso de credenciales de inicio de sesión único
- Ticketing Kerberos,
- Nombres principales de servicio (SPN),
- Objetos de directiva de grupo (GPO)
- Confianzas y delegación de Active Directory
- RPC y PYMES.
La mayoría de estos ataques se ven facilitados en gran medida por el recorrido de la red. Todos estos servicios vienen con puertos y protocolos asociados.
La siguiente tabla muestra los puertos y protocolos que probablemente utilizará un controlador de dominio típico que debe dejarse abierto. Esto equivale a una superficie de ataque expansiva que los malos actores pueden hacer uso. El reto es que si decidimos cerrar puertos, para reducir las superficies de ataque, Active Directory deja de funcionar correctamente.

Ruta de acceso al controlador de dominio
La premisa aquí está alineada con la filosofía de asumir una brecha que implica que un actor de amenazas ya puede tener acceso no autorizado a sus sistemas o red, aunque posiblemente con privilegios de menor nivel. Por ejemplo, esto podría ser el compromiso de una cuenta de usuario a través de suplantación de identidad eso, a su vez, puede conducir a un compromiso de correo electrónico empresarial (BEC). Esto también implicará que es más que probable que el actor de amenazas esté tratando de abrirse camino hacia una cuenta privilegiada más alta y posteriormente coronar sistema joya como el controlador de dominio.
Veamos un flujo de ataque hipotético siguiendo este patrón:
El ataque inicial implica un correo electrónico de phishing a un empleado. Este ataque de phishing contiene un enlace a un inicio de sesión falso de Office 365 OneDrive del que cae el empleado. Junto con la ejecución de javascript y, en algunos casos, la vulnerabilidad, dicho enlace ejecuta automáticamente un malware de solo memoria que aprovecha Windows Powershell. Esto luego conduce a una puerta trasera de comando y control (C&C) de la computadora portátil Windows del usuario comprometido de regreso al atacante. Este es el punto de partida para este artículo 'asumir una violación'premisa.
El ataque hasta esta etapa será en su mayoría automatizado, por lo que es probable que el atacante reciba una notificación de C&C sobre un nuevo shell y, por lo tanto, una nueva máquina comprometida. También van a ser principalmente ajenos a todos los detalles del sistema comprometido, como cuentas de usuario, privilegios y acceso a recursos de red. Aquí es donde el ATT&CK Fase de descubrimiento es importante para un atacante.

ATT&CK: Descubrimiento
¿Qué es lo primero que debe hacer para pasar de un único sistema, ya sea punto final de empleado o carga de trabajo, a un controlador de dominio?
Como diría ATT&CK en la fase Discovery, “trate de averiguar el entorno”.
Los adversarios comienzan por entender quién es el usuario del sistema, los procesos en ejecución, la pertenencia a archivo/directorio/grupo y la información de la sesión.
Herramientas como NMAP para escaneo de puertos son una opción para obtener una pista del terreno para ver qué servicios están escuchando en máquinas remotas que pueden explotar. Además, Bloodhound se puede utilizar para mapear el entorno de Active Directory para comprender la manera más rápida de llegar al controlador de dominio.
Estas herramientas se han utilizado en ataques, sin embargo, tienen un desafío inherente. Llaman demasiado la atención sobre sí mismos como herramientas de terceros que generan tráfico. Son conversadores y algo abiertos, lo que significa que podrían ser detectados por los sistemas de seguridad.
La mejor manera de atender a los atacantes es simplemente “vivir fuera de la tierra” cuando tienen acceso a un endpoint o carga de trabajo unido a un dominio. De esta manera utilizan herramientas que son nativas del endpoint y no generan ningún ruido en la red.
Los atacantes pueden comenzar con comandos CLI básicos con los que muchos de nosotros estamos familiarizados como una manera fácil y discreta de entender dónde están y qué pueden hacer a continuación.
En un equipo cliente unido a un dominio, comandos como whoami permitirá el descubrimiento del propietario o usuario del sistema, y mostrar una salida similar a la que se muestra a continuación.

Esto permite que el atacante cree un perfil de cuenta del sistema comprometido para ver a qué tiene acceso esa cuenta. Un vistazo rápido a los grupos de Active Directory de los que forma parte la máquina permite al atacante discernir que el usuario está, por ejemplo, en el equipo de Finanzas. Saben que probablemente tendrán acceso a recursos compartidos de archivos financieros para explotar o pueden optar por examinar inmediatamente los archivos en la máquina si los datos financieros son lo que buscan.
El actor de amenazas también puede usar un comando simple pero efectivo como usuarios de red y switches asociados para descubrir el nombre del controlador de dominio al que está unida su máquina comprometida y la lista de cuentas de usuario que existen en el controlador de dominio.

A partir de aquí, hay un conjunto claro de detalles importantes que pueden ayudar a su ruta al controlador de dominio.
Otros comandos simples con los que muchos están familiarizados son ipconfig /todos y netstat -rn para orientar al atacante hacia el gateway predeterminado y la información de red, subred, DNS y DHCP. También pueden ver a qué se puede acceder dada la tabla de enrutamiento. Esto le da al atacante suficiente información para construir un mapa básico de conexiones a nivel de red. Pueden descifrar si su máquina comprometida está o no en la misma subred que el controlador de dominio o el servidor DNS. Por esta razón, es imperativo contar con un enfoque de microsegmentación para lo cual la seguridad es dependiente de la carga de trabajo en lugar de depender de la red, incluso en una arquitectura de red plana. Seguridad que sigue la carga de trabajo como un controlador de dominio, independientemente de la subred o la ubicación.

También pueden descifrar subredes y rutas adicionales y sus Gateways correspondientes y corroborar esa información de enrutamiento con detalles DNS inversos de, por ejemplo, nombres de servidores compartidos de red.

La mayoría de las organizaciones utilizan recursos compartidos de red para que los empleados dentro del mismo equipo compartan y, a veces, archiven información. Los actores de amenazas pueden aprovechar los detalles del uso compartido de red de Windows de utilidades integradas como uso neto para localizar File Servers o incluso controladores de dominio. También pueden usar esta información combinada con cualquier cuenta comprometida o escalada para acceder a recursos compartidos ocultos de la red de Windows, como AMDIN$ o C$. Estos se pueden utilizar para facilitar la propagación de malware a otras máquinas a través de la red local SMB o a través de una conexión VPN de acceso remoto válida conectada a una red SMB.
Con esta información, ahora podemos ver a qué recursos compartidos y servidores tenemos acceso en Windows, a continuación. Una vez que el atacante tiene un poco más de información sobre el sistema comprometido bajo su control, puede formular el siguiente plan de acción.

En este ejemplo, el usuario es un administrador local para su computadora portátil, tiene un adaptador VPN en su lista de NICs y una aplicación VPN correspondiente pero no tiene ningún acceso de administrador de dominio. Dado que un objetivo central es obtener acceso al controlador de dominio, el atacante tiene algunas opciones, como intentar escalar privilegios que se pueden usar para el movimiento lateral. Si no hay otras cuentas presentes en el sistema para las cuales se puedan escalar los privilegios, entonces lo más probable es que tengan que intentar obtener dicha cuenta. Podrían aprovechar la autenticidad de la cuenta y la máquina comprometidas para enviar ataques de phishing aún más específicos dentro del dominio de correo electrónico de la organización. También podrían causar una falla artificial en su sistema objetivo para forzar un caso de soporte de TI, lo que probablemente significará una sesión de ayuda remota con un administrador de TI que probablemente se “ejecutará como administrador” en la máquina infectada. Los actores de amenazas tienden a ser determinados y son pacientes y, por lo general, harán lo que sea necesario para obtener lo que están buscando.
Es importante señalar que hasta este momento, ni siquiera hemos utilizado capacidades nativas más potentes como PowerShell o WMI. Esto es para señalar deliberadamente la cantidad de información que aún se puede obtener en los sistemas operativos heredados como en los modernos. Por ejemplo, el atacante aún puede probar la posibilidad de acceso remoto nativo utilizando una herramienta del sistema como PowerShell para ver a qué máquinas acceden de forma remota para ayudar al movimiento lateral y al pivote.

Las capacidades de Powershell Remoting ofrecen otra vía de descubrimiento y capacidades de movimiento lateral con comandos como Entrar a la sesión y otros cmdlets que pueden ejecutar Nombre del equipo parámetro. El primero utiliza WinRM (HTTP 5985 y HTTPS 5986) y el posterior el RPC más ubicuo.
Entendemos la importancia de los controladores de dominio, sabemos que se ha producido una intrusión y ahora tenemos una mejor comprensión de cómo los atacantes pueden usar comandos CLI simples y las técnicas más importantes para vivir de la tierra (que no generarán ruido en su punto final o herramientas de seguridad de red verán) para conocer la tierra y descubrir dónde se encuentran en un entorno.
Nuestro próximo post examinará el movimiento lateral que los atacantes exhiben después del descubrimiento, para llegar al controlador de dominio.