Inmersión en AD: analizamos ataques avanzados en Microsoft Active Directory y cómo detectarlos



Imagen: Pexels

En los últimos cuatro años, ningún Black Hat o DEF CON ha estado sin informes sobre ataques en Microsoft Active Directory. Los participantes hablan sobre nuevos vectores y sus inventos, pero no se olviden de los consejos sobre cómo detectarlos y prevenirlos. En este artículo, veremos formas populares de atacar AD y proporcionaremos recomendaciones que ayudarán a proteger contra ellos.

Seis ataques AD que no puedes pasar por alto


Muchos fabricantes de software de monitoreo de seguridad ya admiten una variedad de técnicas de ataque en sus productos. Consideremos algunos de ellos.

Pase el hash


Esta técnica es posible debido a las características arquitectónicas del protocolo de autenticación NTLM, desarrollado por Microsoft en los años noventa del siglo pasado. Para iniciar sesión en un host remoto, se utiliza un hash de contraseña, que se almacena en la memoria de la computadora desde la que se lleva a cabo la autenticación. En consecuencia, se puede extraer de allí.

Mimikatz


Para una operación conveniente de Pass-the-Hash, el investigador francés Benjamin Delpy (Benjamin Delpy) en 2014 desarrolló la utilidad mimikatz. Permite descargar contraseñas de texto sin cifrar y hash NTLM de la memoria.

Fuerza bruta


Si el atacante no tiene suficientes credenciales que extrajo de un host, puede recurrir a una técnica cruda pero efectiva de adivinar contraseñas.

usuario / dominio neto


¿Dónde obtener un diccionario de nombres de usuario para realizar Brute Force? Cualquier miembro del dominio puede usar el comando net user / domain, que devuelve una lista completa de nombres de usuario de AD.

Kerberoasting


Si el dominio usa Kerberos como protocolo de autenticación, el atacante podría recurrir a un ataque de Kerberoasting. Cualquier usuario autenticado en el dominio puede solicitar un ticket Kerberos para acceder al Servicio de otorgamiento de tickets. TGS se cifra con el hash de contraseña de la cuenta desde la que se ejecuta el servicio de destino. Un atacante que obtuvo TGS ahora puede descifrarlo, tomar una contraseña y no tener miedo de bloquear, ya que lo hace sin conexión. Tras un resultado exitoso, recibe una contraseña de la cuenta asociada con el servicio, que a menudo es privilegiada.

Psexec


Después de que el atacante recibió las credenciales necesarias, se enfrenta a la tarea de ejecutar comandos de forma remota. La utilidad PsExec de la suite Sysinternals es muy adecuada para esto. Se ha demostrado tanto entre los administradores de TI como entre los atacantes.

Siete hechizos de ataque para capturar Active Directory


Ahora estamos pasando a siete hechizos, gracias a los cuales los atacantes pueden tomar el control completo de Active Directory. Los dividiremos en cuatro etapas:

  1. Inteligencia
  2. Promoción en AD.
  3. Operación
  4. Captura de dominio.

En el diagrama puede ver los cuatro, así como las técnicas que se utilizan en ellos. Consideremos cada uno en detalle.



Etapa 1. Exploración


Comencemos con la etapa de inteligencia.

Powerview


Esta herramienta es parte del popular marco de pruebas de penetración de PowerShell: PowerSploit . También se basa en la herramienta BloodHound , que construye un gráfico de relaciones de objetos dentro de AD.



Representación gráfica de las relaciones de objeto de Active Directory.

Bloodhound proporciona inmediatamente estas características:

  • Encuentra cuentas de todos los administradores de dominio;
  • buscar hosts en los que los administradores de dominio hayan iniciado sesión;
  • construya la ruta más corta desde el host del atacante al host con la sesión de administrador de dominio.

El último párrafo da una respuesta a la pregunta de qué hosts deben ser pirateados a un atacante para acceder a la cuenta de administrador de dominio. Este enfoque reduce en gran medida el tiempo para obtener el control total sobre el dominio.

PowerView difiere de las utilidades integradas para recuperar datos sobre objetos AD (por ejemplo, net.exe) en que se ejecuta en el protocolo LDAP, no en SAMR. El evento 1644 de un controlador de dominio es adecuado para detectar esta actividad. El registro de este evento se habilita agregando el valor apropiado en el registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostic\\15 Field Engineering = 5



Habilitación del registro de eventos LDAP 1644



Evento 1644 con parámetros de solicitud LDAP

Vale la pena prestar atención al hecho de que puede haber muchos de estos eventos, y una buena alternativa a la detección de eventos es la detección de tráfico, ya que LDAP es un protocolo de texto claro, por lo tanto, todas las solicitudes en el tráfico son perfectamente visibles.



LDAP SearchRequest (haga clic para abrir la imagen a tamaño completo)

Otra característica importante de este marco es que está escrito en PowerShell puro y no tiene dependencias. Y aquí, para la detección, la función de auditoría avanzada introducida en PowerShell versión 5 nos ayudará. El evento 4104 muestra el cuerpo de un script en el que podemos buscar nombres de funciones específicas de PowerView.



Escaneo SPN


Puede reemplazar el nmap de lanzamiento del atacante. Después de que el atacante haya descubierto qué usuarios y grupos están dentro de AD, para completar la imagen necesitará información sobre qué servicios están disponibles.



Esto generalmente se resuelve escaneando los puertos con nmap. Pero ahora esta información también se puede obtener de AD: ya está almacenada allí. Puede ver el resultado de dicha solicitud: devuelva los llamados SPN (Service Principal Names). El SPN consiste en una clase de servicio, es único para cada tipo de servicio, luego viene el nombre de host en forma de FQDN y para algunos servicios - puerto.



Ejemplos de spn Lista completa de nombres principales de servicio

Para detectar SPN Scan, la auditoría de eventos LDAP también viene al rescate.
Es importante tener en cuenta que el escaneo SPN tiene una clara ventaja sobre el escaneo nmap: es menos ruidoso. Cuando use nmap, debe conectarse a cada nodo y enviar paquetes al rango de puertos que especificó. Y para obtener la lista de SPN, solo debe enviar una solicitud.

Enumeración de sesiones remotas


Una tarea importante para un atacante en la etapa de movimiento lateral es determinar qué usuario ha iniciado sesión en qué máquina. O ya tiene credenciales de usuario (hash o ticket Kerberos), y está buscando hosts donde pueda iniciar sesión sin obstáculos. O está buscando un host donde hay una sesión de administrador de dominio en vivo.

Entonces el escenario funciona: caza -> comprometer a cualquier host -> Golfo de Mimikatz -> beneficio.

Puede usar 2 eventos para detectar esta técnica. 4624 es un inicio de sesión exitoso en un sistema remoto con un inicio de sesión de tipo 3, así como eventos de acceso de red IPC $, y el matiz es el nombre de la tubería: srvsvc. Por qué se llama una tubería se puede entender por el tráfico.



Haga clic para abrir la imagen a tamaño completo.

En el lado izquierdo, en los marcos rojos, acceda a SMB, luego acceda a la tubería - srvsvc. Esta canalización le permite interactuar utilizando el Protocolo remoto de servicio de servidor especial. Permite que los hosts finales reciban diversa información administrativa, incluyendo Entre las consultas hay una llamada NetSessEnum. Como resultado de esta solicitud, se devuelve una lista completa de usuarios que han iniciado sesión en el sistema remoto con IP y nombres de usuario.



En MaxPatrol SIEM, realizamos una detección basada en una combinación de estos dos eventos teniendo en cuenta srvsvc. Y una detección de tráfico similar en PT Network Attack Discovery.

Etapa 2. Promoción AD


Sobrepasar el hash


La reencarnación de Pass-the-Hash. Continuando con el tema del movimiento lateral. ¿Qué puede hacer un atacante si tiene un hash NTLM? Él puede llevar a cabo un ataque Pass-the-Hash, pero ya hay detecciones en ella. Por lo tanto, se encontró un nuevo vector: el ataque Overpass-the-Hash.

El protocolo Kerberos fue diseñado específicamente para que las contraseñas de usuario de una forma u otra no se transmitan a través de la red. Para hacer esto, en su máquina, el usuario utiliza su contraseña para cifrar la solicitud de autenticación. En respuesta, el Centro de distribución de claves (un servicio especial que está alojado en el controlador de dominio) le emite un ticket para recibir otros tickets. El llamado Ticket-Granting Ticket (TGT). Ahora el cliente se considera autenticado, y en 10 horas puede solicitar boletos para acceder a otros servicios. En consecuencia, si un atacante rechazó el hash de un usuario que es miembro de un grupo confiable de un servicio que le interesa, por ejemplo, un sistema ERP o una base de datos, el atacante puede emitir un pase para sí mismo e iniciar sesión con éxito en el servicio que le interesa.



Cómo detectar


Si el atacante usa la versión PowerShell de mimikatz para este ataque, entonces el registro del cuerpo del script viene al rescate. Porque Invoke-Mimikatz es una línea muy característica.





O 4688 es un evento de inicio de proceso con auditoría avanzada de línea de comandos. Incluso si se cambia el nombre del binar, en la línea de comandos encontraremos un comando muy característico de mimikatz.



El tráfico de Overpass-the-Hash se puede detectar en función de una anomalía que resulta del hecho de que Microsoft recomienda usar la solicitud de autenticación AES256 para el cifrado de los dominios actuales. Y mimikatz, cuando envía datos de solicitud de autenticación, cifra los datos utilizando el ARCFOUR obsoleto.



En el tráfico, se observa otra diferencia debido a las características de mimikatz. Se basa en la diferencia en el conjunto de cifrado en el dominio legítimo y lo que envía mimikatz.

Boleto de oro


¿Qué puede hacer un atacante si tiene un hash de contraseña de una cuenta especial llamada krbtgt? Anteriormente, consideramos el caso en que el usuario podría no tener privilegios. Ahora estamos considerando un usuario con un hash de contraseña del cual absolutamente todos los tickets para otros tickets (TGT) están firmados. En consecuencia, el atacante ya no se dirige al Centro de distribución de claves, genera este boleto por su cuenta, ya que el Boleto dorado, en esencia, es TGT. Luego puede enviar solicitudes de autenticación a cualquier servicio dentro de AD, y por tiempo ilimitado. Como resultado, recurre libremente a este recurso: el Golden Ticket no es sin razón llamado dorado.



Cómo detectar por eventos


Existe el evento 4768, que dice que se emitió TGT, y el evento 4769, que dice que se emitió un ticket de servicio, que es necesario para la autenticación en algún servicio dentro de AD.



Aquí podemos jugar con la diferencia: durante un ataque, Golden Ticket no solicita un TGT de un controlador de dominio (lo genera por sí solo), y necesita solicitar un TGS, si encontramos una diferencia en el TGT y TGS recibidos, podemos suponer que se está produciendo un ataque Golden Ticket.

En MaxPatrol SIEM utilizando listas de tablas en las que registramos todos los TGT y TGS emitidos, logramos implementar dicha detección.

Ejecución remota de WMI


Una vez resuelta la tarea de autenticación y autorización en los hosts deseados, el atacante puede comenzar a realizar tareas de forma remota. WMI, como mecanismo incorporado y diseñado para esto, se adapta perfectamente. En los últimos años, "vivir de la tierra" significa utilizar los mecanismos integrados de Windows en una tendencia. En primer lugar, porque le permite disfrazarse de actividad legítima.



En la captura de pantalla, el uso de la utilidad wmic incorporada. Especifica la dirección del host al que desea conectarse, las credenciales, la instrucción de creación de la llamada al proceso y el comando que debe ejecutarse en el host remoto.

Cómo detectar


En un montón de eventos de inicio de sesión remoto 4624 (preste atención a
mania en Logon ID) y evento 4688, que habla sobre comenzar un proceso con línea de comando. 4688: puede ver que el padre del proceso iniciado es WmiPrvSE.exe, un proceso especial de servicio WMI que se utiliza para la administración remota. El comando que enviamos net user / add es visible, y el ID de inicio de sesión coincide con el evento 4624. En consecuencia, podemos decir exactamente desde qué host se está ejecutando este comando.



Detección de tráfico


Aquí vemos claramente las palabras características del proceso de creación de Win32, así como la línea de comando, que se envía para comenzar. En la captura de pantalla, recientemente conocimos un malware, que se distribuyó en redes virtuales de acuerdo con un principio similar a WannaCry, pero en lugar de cifrado, instaló un minero. Malvar llevó a mimikatz y EthernalBlue con ella, dejó las cuentas y, con su ayuda, inició sesión en todos los hosts a los que podía acceder en la red. Usando WMI, lanzó PowerShell en ellos, descargó la carga útil de PowerShell, que nuevamente contenía mimikatz, EthernalBlue y el minero. Por lo tanto, se obtuvo una reacción en cadena.



Recomendaciones para las etapas 1-3


1. Contraseñas largas y complejas (> 25 caracteres) para cuentas de servicio. Esto no le dará al atacante la oportunidad de llevar a cabo un ataque de Kerberoasting, ya que tomará mucho tiempo en bruto.

2. Registro de PowerShell . Ayudará a detectar el uso de muchas herramientas modernas para ataques contra AD

3. Pasando a Windows 10, Windows Server 2016. Microsoft creó Credential Guard: ya no será posible volcar hashes NTLM y tickets Kerberos de la memoria

4. Demarcación estricta de roles . Es peligroso combinar en una función el administrador de AD, DC, todos los servidores y máquinas en funcionamiento.

5. Cambio de contraseña doble krbtgt (esta es la misma cuenta con la que se registran los tickets de TGT) . Todos los años Y después de que el administrador de AD deja AD:
  • necesita ser cambiado dos veces, porque la contraseña actual y la anterior se almacenan,
  • cambiar cada año, incl. después de dejar el administrador de dominio. Incluso si la red ya está comprometida y los atacantes emitieron el Golden Ticket, cambiar la contraseña hace que este Ticket sea inútil. Y nuevamente necesitan comenzar de nuevo.

6. Remedios con una base de conocimiento experto continuamente actualizada . Es necesario detectar ataques reales reales.

Etapa 4. Captura de dominio


DCShadow


El 24 de enero de 2018, en la conferencia Microsoft BlueHat en Israel, Benjamin Delpy y Vincent Le Toux presentaron el nuevo módulo mimikatz, que implementa el ataque DCShadow. La esencia del ataque es que se crea un controlador de dominio falso para modificar y crear nuevos objetos en AD a través de la replicación. Los investigadores lograron aislar el conjunto mínimo de SPN de Kerberos necesarios para realizar el proceso de replicación; solo necesitan 2. Además, presentaron una función especial que puede forzar la replicación de los controladores. Los autores del ataque lo posicionan como un ataque que hará que su SIEM sea ciego. Porque un controlador de dominio falso no envía eventos a SIEM, lo que significa que los atacantes pueden hacer varias cosas oscuras con AD y SIEM no lo sabrá.



Patrón de ataque


En el sistema con el que se lleva a cabo el ataque, es necesario agregar 2 SPN, que son necesarios para que otros controladores de dominio puedan autenticarse usando Kerberos para la replicación. Porque de acuerdo con la especificación, el controlador de dominio está representado en la base de datos de AD por un objeto de la clase nTDSDSA, debe crear dicho objeto. Finalmente, invoque la replicación usando la función DRSReplicaAdd.

Cómo detectar


Cómo se ve DCShadow en el tráfico. Por tráfico, vemos claramente la adición de un nuevo objeto al esquema de configuración del tipo de controlador de dominio, y luego el inicio forzado de la replicación



Debido a que nuestra correlación conoce la lista de controladores de dominio legítimos, se activará cuando se produzca la replicación desde un controlador de dominio que no está incluido en esta lista blanca. En consecuencia, la división de seguridad de la información puede llevar a cabo una investigación y comprender que se trata de un controlador de dominio legítimo agregado por el servicio de TI o el ataque DCShadow.

Conclusión


El ejemplo DCShadow muestra que hay nuevos vectores de ataque para la empresa. En este océano de eventos de seguridad de la información, es muy importante permanecer en la cresta de la ola: mirar más allá y moverse rápido. Todos los días, en PT Expert Security Center investigamos nuevas amenazas y desarrollamos métodos y herramientas de detección para ellas. Y estamos listos para compartir más esta información.

Publicado por Anton Tyurin, jefe del equipo de detección de ataques, Tecnologías positivas

Source: https://habr.com/ru/post/es423903/


All Articles