Volver

ATA: de «overpass-the-hash» a «Pass-the-ticket»

Imagen del slider

10 de abril de 2018

La ciberseguridad es un campo en constante evolución. Trabajar en este ámbito implica una mejora continua basada en el análisis de amenazas, riesgos y vulnerabilidades. El objetivo es reducir la superficie de ataque de los ciberdelincuentes. Estos, motivados por el beneficio económico, la búsqueda de notoriedad, el deseo de destruir o por el simple placer, suelen seguir un procedimiento que puede dividirse en cinco grandes etapas:

  1. Reconocimiento: esta etapa consiste en identificar el objetivo y recabar la mayor cantidad posible de información sobre él.
  2. Intrusión: el atacante accede al sistema informático de la víctima mediante un robo de identidad, una vulnerabilidad sin parchear, una campaña de phishing, etc. A continuación, si es posible, establece un acceso permanente desde el entorno del objetivo hacia sus servidores.
  3. Movimiento lateral: una vez obtenido el acceso, esta fase permite desplazarse por la red informática de la víctima con el fin de comprometer otros sistemas y cuentas adicionales.
  4. Elevacióndeprivilegios: el objetivo es aprovechar los pasos anteriores para buscar y obtener cuentas con privilegios (por ejemplo, la cuenta de administrador).
  5. Exfiltración, corrupción e interrupción: esta es la última fase de un ciberataque. Los datos confidenciales son «robados» (o, más bien, copiados), se corrompe el sistema de información y/o se provocan perturbaciones e interrupciones en dicho sistema.

Como habrán comprendido, es necesario implementar un mecanismo de defensa en profundidad. En otras palabras, la seguridad de un sistema informático no debe basarse en un único elemento, sino en un conjunto de herramientas y procedimientos de seguridad. En el mercado existen varias soluciones que permiten alcanzar este objetivo. En este artículo presentaremos Microsoft Advanced Threat Analytics (ATA).

Análisis avanzado de amenazas

Advanced Threat Analyticses una herramienta desarrollada por AORATO que ha sido adquirida por Microsoft. Esta solución permite analizar una red y detectar tres tipos principales de ataques:

  • Ataques maliciosos: Pass-the-ticket, Pass-the-hash, Overpass-the-hash, Golden ticket, reconocimiento, fuerza bruta, ejecución remota.
  • Comportamiento anómalo: ATA se basa en el análisis de comportamiento para detectar conexiones anómalas, cambios en grupos sensibles y movimientos laterales.
  • Riesgos y problemas de seguridad:por ejemplo, la ruptura de la relación de confianza entre un ordenador y un controlador de dominio.

La arquitectura de ATA se basa en dos elementos principales:ATA CenteryATA GatewayoATA Lightweight Gateway:

  • ATA Center:es el núcleo de esta solución; recibe los datos enviados por las pasarelas ATA.
  • ATA Gateway:servidor dedicado que recopila datos mediante elpuerto de duplicación[1],los eventos de uno o varios controladores de dominio.
  • ATA Lightweight Gateway:una alternativa a ATA Gateway; esta herramienta se instala directamente en el controlador de dominio; en este caso, ya no es necesario elpuerto de duplicación.

[1] Técnica que permite redirigir el tráfico de uno o varios puertos a un puerto de destino.
La base de datos de ATA se basa en MongoDB. Además, existe una opción para el envío de notificaciones por correo electrónico. También es posible programar la generación automática de informes y su envío por correo electrónico.

Figura 1: Arquitectura de ATA
Figura 1: Arquitectura de ATA

ATA permite comunicarse con un SIEM y/o un servidor Syslog. Las soluciones compatibles actualmente son: HP Arcsight, Splunk, Qradra y RSA.

Si una empresa ofrece a sus usuarios una VPN combinada con RADIUS, los eventos de contabilidad de RADIUS pueden analizarse en ATA. Se admiten tres soluciones de VPN: Cisco ASA, F5 y Microsoft.

Prueba de concepto

En esta sección, se evaluará la solución mediante un escenario de ataque cuyo contexto se presenta a continuación. A título informativo, las pruebas que siguen se han realizado en ATA 1.8.

Medio ambiente

Cuentas

Grupo

Contexto y supuestos

  • Romanela Alcantar ocupa el puesto de «Administradora de sistemas»
  • ElServicio de Asistenciase añade al grupo de administradores locales de los ordenadores del dominio
  • Manuel Austin es miembro del consejo de administración local de su lugar de trabajo
  • Una usuaria delservicio de asistencia técnica(Kimberly Brian) se conectó al ordenador de Martin Austin para solucionar un error en una aplicación que había dejado de funcionar. En cuanto Kimberly terminó, hizo clic en «Cambiar de usuario (Switch User)» para que Martin pudiera probar la aplicación y comprobar si todo volvía a funcionar correctamente.
  • Los antivirus y los cortafuegos personales de los ordenadores están desactivados.

Interfaz de administración

Tras instalar la solución ATA, recibimos una notificación desde la interfaz de administración sobre el número de entidades (cuentas, ordenadores, grupos, etc.) presentes en el dominiohacorp.local.

Desde esta interfaz también es posible buscar una cuenta (por ejemplo, Kimberly Brian):

Figura 2: Grupos de Kimberly a través de la pestaña «Acerca de»
Figura 2: Grupos de Kimberly a través de la pestaña «Acerca de»
Figura 3: Seguimiento de los cambios en su cuenta
Figura 3: Seguimiento de los cambios en su cuenta
Figura 4: Detalles de la cuenta
Figura 4: Detalles de la cuenta

Inicio del guion

Manuel Austin tiene algunos conocimientos de piratería informática e intentará obtener los derechos de administrador del dominiohacorp.local.

Lista de cuentas y grupos

Manuel comienza enumerando las cuentas y los grupos. Cualquier usuario autenticado en el dominio puede ejecutar estos comandos. Esta opción se puede desactivar. Para más detalles, consulte [17].

Usuarios del dominio hacorp.local: net user /domain
Usuarios del dominio hacorp.local: net user /domain

Efectivamente, todas las cuentas están ahí. A título informativo, krbtgt es una cuenta de servicio que utiliza el KDC (Key Distribution Center) para generar los tickets Kerberos necesarios para acceder a los recursos de un controlador de dominio.

Manuel subodore que kbrian pourrait correspondre à kimberly Brian, qui était connectée sur son poste. La commande net user /domain <login> permet d’afficher entre autres les groupes d’un utilisateur.

kbrianes miembro de los gruposServiceDeskyDomain Users. Esta información no parece interesarle a Manuel, que sigue con su investigación.

¿Qué grupos hay en hacorp.local?
¿Qué grupos hay en hacorp.local?

Ahora, Manuel va a revisar algunos grupos importantes (administradores de dominioyadministradores de empresa) para establecer la correspondencia entre usuarios y grupos:

grupo de red «administradores de dominio» /dominio
grupo de red «administradores de dominio» /dominio
grupo de red «administradores de empresa» /dominio
grupo de red «administradores de empresa» /dominio

De ello deduce queralcantares administradora del dominio hacorp.local y queadministratores miembro del grupo «enteprise admins».

Según la documentación de ATA, podemos observar que esta fase de reconocimiento puede detectarse al cabo de cuatro semanas. No hemos podido verificar esta información; además, un mes parece un plazo un poco largo para que se active este tipo de alerta.

Enumeración SMB

Manuel está empezando a hacerse una idea general de la relación entre usuarios y grupos en hacorp.local. ¿Sería posible obtener las direcciones IP de los usuarios que se han autenticado recientemente?

En un controlador de dominio, cuando los usuarios inician sesión, los datos relativos a sus perfiles (scripts de inicio de sesión, políticas de grupo [GPO]) se recuperan de SYSVOL. Esto implica que los equipos de los usuarios establecen una conexión con el controlador de dominio para recuperar dichos perfiles. Martin utiliza la herramientaNetSessen el controlador de dominio para buscar las conexiones recientes:

De ello se desprende que la administradoraralcantarestá conectada actualmente desde el equipo 172.16.20.3. Martin también encuentra su dirección IP: 172.16.20.4.

ATA detecta este intento y emite una alerta (véase más abajo). Esta alerta permite comprender las acciones de Manuel y las cuentas afectadas.

A continuación, la solución ofrece la posibilidad de clasificar (véanse las opciones más abajo) esta alerta como falso positivo o verdadero positivo:

Búsqueda de información en un ordenador

Manuel conoce la dirección IP de la administradora del dominio hacorp.local: 172.16.20.3. Por lo tanto, intentará obtener más información sobre el ordenador de esta usuaria. Para ello, utilizaráPowerSploit, que es una lista de módulos de PowerShell. Así pues, abre un terminal de PowerShell como administrador (recordemos que Manuel es administrador local de su PC).

PowerSploitse puede ejecutar para obtener información de un ordenador remoto (en este caso, el de la usuariaralcantar):

  • Cargando el módulo powersploit: Import-Module .\PowerSploit.psm1
  • Obtención de información sobre 172.16.20.3: Get-NetLocalGroup 172.16.20.3

De este análisis se desprenden algunos datos interesantes:

  • En este ordenador se han configurado las cuentas«Administrator» y«Test».
  • El nombre de dominio de este ordenador esADMIN-PC
  • Los administradores de dominioyServiceDeskson miembros del grupoAdministrators. Esto significa que Kimberly, una usuaria deServiceDesk, es miembro del grupoAdministrators. Lo mismo ocurre conralcantar(información que ya hemos visto anteriormente).

Observamos, por tanto, que ATA no detectó el uso de este comando y que este solo funcionó tras desactivar el cortafuegos personal de los ordenadores.

Volcado de memoria

Según lo visto en el paso anterior, Kimberly Brian es miembro del grupoAdministrators. Martin se pregunta entonces si no habrá dejado (al desconectarse sin cerrar la sesión, véase el contexto) sus datos de inicio de sesión en la memoria. Por lo tanto, va a intentar exportar esa memoria conMimikatz(ejecutado como administrador):

mimikatz.exe “privilege::debug” “sekurlsa::logonpasswords» «salir» >> c:\cred_dump.txt

El archivocred_dump.txtcontiene información sobremaustin,VICTIM-PCykbrian. Podemos observar que la opción WDigest no se ha desactivado. Cuando está activada, las contraseñas de los usuarios se almacenan sin cifrar en la memoria.

Figura 5: Extracto de la memoria del ordenador de Martin Austin
Figura 5: Extracto de la memoria del ordenador de Martin Austin

Así pues, Manuel consigue la contraseña dekbrian, así como el hash NTLM de dicha contraseña. Intenta conectarse mediante RDP alAdmin-PC, pero esta opción está desactivada.

Figura 6: Intento de conexión RDP por parte de Manuel en el Admin-PC
Figura 6: Intento de conexión RDP por parte de Manuel en el Admin-PC

Para no levantar sospechas, se hará pasar porkbrianal conectarse alAdmin-PC. Para ello, se utilizará el ataque «Over-Pass-the-hash» a través deMimikatz(ejecutado como administrador por Manuel). Por lo tanto, utilizaremos el hash NTLM obtenido anteriormente.

A título informativo, antes de la ejecución, no se puede acceder a la ruta \\admin-pc\c$:

Ejecución del comando: .\mimikatz.exe «privilege::debug» «sekurlsa::pth /user:kbrian /domain:hacorp.local /ntlm:ab56e43a90223bfc35cf2851183ef3a9» «exit»

Se abre automáticamente una ventana de línea de comandos en paralelo. Ahora se puede acceder al directorio \\admin-pc\c$:

Figura 7: Ejecución de Over-pass-the-hash
Figura 7: Ejecución de Over-pass-the-hash

Paralelamente a este ataque, se ha levantado una alerta ATA:

Si Manuel fuera administrador

Manuel tiene acceso al puesto de trabajoAdmin-PC. El siguiente paso será recuperar los tickets Kerberos de Romanela Alcantar, que está conectada a ese ordenador. A continuación, esos tickets se volverán a introducir en el controlador de dominio: así se llevará a cabo el ataque «pass-the-ticket».

  • Empecemos por copiarMimikatzde forma remota enAdmin-PC:
  • Ejecución remota de Mimikatz mediante la herramientapsexec:

C:\Usuarios\maustin\PSTools\PsExec.exe \\admin-pc -accepteula cmd /c (cd c:\temp ^& mimikatz.exe “privilege::debug” “sekurlsa::tickets /export” “exit”)

  • Recuperación de los tickets deRalacantary almacenamiento local enC:\Dump\
  • Eliminación de los archivos generados enel ordenador de administración

           rmdir \\admin-pc\c$\temp /s /q

Antes de la inserción de los tickets, el intento de acceder a \\SrvDC.hacorp.local\c$ no tiene éxito:

El comando«klist»deMimikatzpermite comprobar que los tickets de Kerberos son los deMaustin

Ahora, importemos los dos tickets Kerberos deralcantarque se encuentran enC:\Dump:

 .\mimikatz.exe «privilege::debug» «kerberos::ptt c:\Dump\[0;b2681]-2-1-40e10000-ralcantar@krbtgt-HACORP.LOCAL.kirbi» «exit»

.\mimikatz.exe «privilege::debug» «kerberos::ptt c:\Dump\[0;b2681]-2-0-60a10000-ralcantar@krbtgt-HACORP.LOCAL.kirbi» «exit»

Comprueba que los tickets se hayan importado correctamente con klist:

Intento de acceso a \\SrvDC.hacorp.local\c$:

A partir de este momento, Manuel Austin tiene los mismos derechos que Romanela Alcantar, administradora del dominio hacorp.

Este ataque fue detectado por ATA:

En conclusión, hemos presentado brevemente la solución ATA a través de un escenario de intrusión. Observamos que se han detectado ataques. En este caso, no hemos podido evaluar el análisis de comportamiento, ya que para ello hay que esperar unas cuatro semanas tras la instalación.

También hemos observado que la base de reglas no es configurable. Por lo tanto, no es posible personalizar un umbral de detección.

En resumen, ATA puede utilizarse como complemento de otras herramientas de detección y protección de una red. Una vez más, la defensa en profundidad debe ser el método preferido.

  • Puede consultar [13], donde se presentan, entre otras cosas, los distintos participantes y los requisitos previos para una prueba de concepto (POC)
  • Puede consultar [21] para obtener información sobre el dimensionamiento en función de la arquitectura de una empresa
  • Puede consultar [20] para realizar una instalación silenciosa en un entorno en el que haya varios controladores de dominio
  • Puede consultar [22], donde se ofrecen algunas recomendaciones para proteger ATA, independientemente de si se vincula o no a un dominio.

Por último, hay una sección de preguntas frecuentes sobre la solución ATA [23]. Esperamos que este artículo le haya proporcionado una visión general deMicrosoft Advanced Threat Analytics, así como una explicación del modus operandi de un ciberdelincuente.

Referencias

  1. https://docs.microsoft.com/en-us/advanced-threat-analytics/what-is-ata
  2. https://docs.microsoft.com/en-us/advanced-threat-analytics/ata-threats
  3. https://business.f-secure.com/5-phases-of-a-cyber-attack-the-attackers-view
  4. https://www.helpnetsecurity.com/2017/03/06/cyber-attack-lifecycle/
  5. https://gallery.technet.microsoft.com/Advanced-Threat-Analytics-591ca681
  6. https://docs.microsoft.com/en-us/advanced-threat-analytics/setting-syslog-email-server-settings
  7. https://docs.microsoft.com/en-us/advanced-threat-analytics/ata-architecture
  8. https://support.microsoft.com/en-us/help/279301/description-of-group-policy-restricted-groups
  9. https://www.it-connect.fr/chapitres/le-partage-sysvol-et-la-replication/
  10. https://github.com/PowerShellMafia/PowerSploit/blob/c7985c9bc31e92bb6243c177d7d1d7e68b6f1816/Recon/README.md
  11. http://blog.gentilkiwi.com/
  12. http://blog.gentilkiwi.com/securite/mimikatz/pass-the-ticket-kerberos
  13. https://gallery.technet.microsoft.com/Advanced-Threat-Analytics-591ca681
  14. https://docs.microsoft.com/en-us/advanced-threat-analytics/setting-syslog-email-server-settings
  15. https://docs.microsoft.com/en-us/advanced-threat-analytics/ata-architecture
  16. https://docs.microsoft.com/en-us/advanced-threat-analytics/install-ata-step6
  17. https://gallery.technet.microsoft.com/SAMRi10-Hardening-Remote-48d94b5b#content
  18. https://technet.microsoft.com/library/security/2871997
  19. https://blogs.technet.microsoft.com/kfalde/2014/11/01/kb2871997-and-wdigest-part-1/
  20. https://docs.microsoft.com/fr-fr/advanced-threat-analytics/ata-silent-installation
  21. https://docs.microsoft.com/en-us/advanced-threat-analytics/ata-capacity-planning
  22. https://cloudblogs.microsoft.com/enterprisemobility/2016/06/10/best-practices-for-securing-advanced-threat-analytics/
  23. https://docs.microsoft.com/en-us/advanced-threat-analytics/ata-technical-faq