🏢Active DirectoryPermissionsMonitoringPrivileged Access

Auditoría ACL Active Directory DPAPI Tombstone Schema: 3 derechos que nadie audita

Toda auditoría ACL de Active Directory revisa GenericAll y DCSync. Otros tres derechos de alto impacto —el acceso a la clave maestra DPAPI, la reanimación de tombstones y los permisos del schema— casi nunca se revisan.

Younes AZABARPor Younes AZABAR10 min de lectura
Auditoría ACL Active Directory DPAPI Tombstone Schema: 3 derechos que nadie audita

¿Qué es una auditoría de ACL de Active Directory DPAPI, Tombstone, Schema?

Una auditoría completa de derechos ACL de Active Directory DPAPI, Tombstone, Schema revisa mucho más que GenericAll y DCSync. Una auditoría ACL típica —ya sea manual con dsacls y PowerView, o con una herramienta como BloodHound— se centra en una lista conocida: GenericAll, GenericWrite, WriteDACL, WriteOwner, y los derechos de replicación detrás de DCSync. Esa lista es correcta, pero no está completa. Otros tres derechos relacionados con las ACL son igual de peligrosos y rara vez aparecen en una checklist: el acceso no predeterminado a la clave de respaldo de dominio DPAPI, el derecho extendido Reanimate-Tombstones, y los permisos no estándar sobre el schema de AD. Son peligrosos por el mismo motivo de fondo que GenericAll —un principal fuera del nivel de administración esperado puede usarlos para leer secretos, resucitar objetos obsoletos o plantar un mecanismo de persistencia que sobrevive a la eliminación de objetos y a los restablecimientos de contraseña— pero no aparecen en la mayoría del contenido sobre abuso de ACL porque no son ACE ordinarias en objetos de usuario o de equipo. Este artículo explica qué otorga realmente cada derecho, cómo se abusa de él, y cómo detectarlo y remediarlo.

Para las rutas más habitualmente auditadas, consulta Abuso de ACL y DCSync: Los Caminos Silenciosos hacia Domain Admin.

Derecho n.º 1 — Acceso no predeterminado a la clave de respaldo de dominio DPAPI

La Data Protection API (DPAPI) de Windows protege los secretos en reposo —contraseñas de navegador guardadas, perfiles Wi-Fi, credenciales RDP, certificados EFS, entradas del Administrador de credenciales— cifrándolos con una clave derivada de la contraseña del usuario. En un dominio, la clave maestra DPAPI de cada usuario también se cifra con una clave de respaldo DPAPI a nivel de dominio, de modo que una contraseña de usuario perdida o expirada no signifique la pérdida permanente de datos. Esa clave de respaldo se genera una sola vez, al crear el dominio, y se almacena como secretos LSA BCKUPKEY_* replicados a cada controlador de dominio (Microsoft Learn: claves de respaldo DPAPI en controladores de dominio de AD).

⚠️

⚠️ Advertencia: quien posea la clave de respaldo de dominio puede descifrar todos los secretos protegidos por DPAPI de todos los usuarios del dominio de forma offline —incluso después de restablecer la contraseña del usuario— porque la clave de respaldo, no la contraseña del usuario, es lo que realmente protege la clave maestra.

Cómo obtienen los atacantes la clave de respaldo

Por defecto, obtener la clave de respaldo requiere derechos equivalentes a Domain Admin sobre el objeto de directiva LSA. Herramientas como Mimikatz (lsadump::backupkeys) y SharpDPAPI la extraen mediante las llamadas MS-LSAD/LSARPC LsaOpenPolicy / LsaRetrievePrivateData; DSInternals documenta la misma ruta de extracción con Get-LsaBackupKey (DSInternals: obtener claves de respaldo DPAPI desde Active Directory). La pregunta de auditoría no es «¿existe la clave de respaldo?» —siempre existe— sino «qué principales, más allá de los Domain Admins, tienen actualmente derechos que les permiten leerla». Ese acceso suele concederse de forma indirecta: derechos LSA delegados, una GPO demasiado permisiva, o una cuenta de servicio añadida a un grupo privilegiado por un motivo no relacionado.

Derecho n.º 2 — El derecho extendido Reanimate-Tombstones

Active Directory extiende el modelo estándar de ACE con control access rights —permisos que no están ligados a un atributo o bit específico de la máscara de acceso, sino identificados por un GUID y verificados contra el objeto completo—. Reanimate-Tombstones (GUID 45ec5156-db7e-47bb-b53f-dbeb2d03c40f) es uno de ellos: permite a quien lo posee restaurar un objeto eliminado (tombstoned) en cualquier parte de un naming context, y por defecto solo se concede en la raíz del naming context a Domain Admins / Enterprise Admins (Microsoft: derecho extendido Reanimate-Tombstones, Microsoft: restauración de objetos eliminados).

Por qué una concesión delegada es una vía de escalada de privilegios

El caso de abuso es sutil pero real: un objeto tombstoned o reciclado puede conservar la mayoría de sus atributos originales —SID history, pertenencias a grupos, SPN— durante la vida del tombstone (o indefinidamente en la Papelera de reciclaje de AD si está habilitada pero nunca se vacía). Un principal al que se le ha delegado Reanimate-Tombstones fuera del nivel de administración predeterminado puede restaurar una cuenta o grupo privilegiado eliminado, resucitando de hecho una ruta de acceso que se creía cerrada. La investigación de CravateRouge sobre la Papelera de reciclaje de AD como superficie de escalada de privilegios documenta escenarios concretos (Have You Looked in the Trash? Unearthing Privilege Escalations from the AD Recycle Bin). Este derecho es fácil de pasar por alto precisamente porque los auditores revisan las ACL actuales de los objetos y olvidan comprobar los derechos extendidos delegados en la raíz de la partición, que es donde reside este. Para más información sobre cómo se acumula este tipo de acceso delegado con el tiempo, consulta Deriva de Acceso Privilegiado en Active Directory.

Derecho n.º 3 — Permisos no estándar sobre el schema de AD

El naming context del schema define todas las clases y atributos del bosque. Por defecto, el acceso de escritura está restringido al grupo Schema Admins (además de Enterprise Admins en la raíz del bosque); esto es intencional, porque los cambios de schema afectan a todo el bosque y son en gran medida irreversibles —los atributos y clases pueden desactivarse pero no eliminarse— (Semperis: NSA Top Ten Cybersecurity Misconfigurations — An AD Perspective).

Por qué el acceso de escritura al schema es una primitiva de persistencia a nivel de bosque

El acceso de escritura al schema es un premio mayor de lo que parece. Un atributo en particular, defaultSecurityDescriptor en un objeto classSchema, define la plantilla de DACL aplicada a cada objeto futuro creado de esa clase —lo que significa que un atacante con acceso de escritura al schema puede incrustar una ACE con puerta trasera (por ejemplo, concediendo WriteDACL a una cuenta con pocos privilegios) en el security descriptor predeterminado de la clase user o group, de modo que cada cuenta o grupo creado a partir de entonces hereda permisos controlados por el atacante desde el momento de su creación. Esta es una primitiva de persistencia bien documentada, y también cruza los límites de dominio dentro de un bosque, ya que el schema abarca todo el bosque (itm8: Schema change trust attack — from child to parent), (BorderGate: Active Directory Schema Modification Attacks). En la práctica, las ACE de schema no estándar suelen ser restos de instaladores de productos de terceros (Exchange, ciertas herramientas de backup/gestión de AD) que solicitaron derechos de schema más amplios de lo necesario durante la instalación y nunca se revirtieron.

Detección

Los tres derechos necesitan tener habilitadas las subcategorías correctas de la directiva de auditoría en los controladores de dominio antes de generar algo útil en el registro de seguridad.

IndicadorEvent IDFuente / subcategoría de auditoríaQué buscar
Acceso a la clave de respaldo DPAPI4662Object Access → Audit Other Object Access Events (SACL en el secreto de directiva LSA)ObjectName que contenga BCKUPKEY y un SubjectUserName fuera de tu lista conocida de Domain Admin / cuentas de emergencia
Delegación de Reanimate-Tombstones5136DS Access → Audit Directory Service Changes (SACL en el objeto raíz del naming context)Operación Value Added en el nTSecurityDescriptor del naming context, ACE que referencia el GUID 45ec5156-db7e-47bb-b53f-dbeb2d03c40f
Objeto reanimado desde un tombstone5138DS Access → Audit Directory Service Changes«A directory service object was undeleted» para un objeto fuera de una restauración programada/esperada
Naming context del schema modificado5136 / 5137DS Access → Audit Directory Service Changes (SACL en CN=Schema,CN=Configuration,DC=...)DN de objeto dentro del contenedor Schema, especialmente cambios de valor en nTSecurityDescriptor o defaultSecurityDescriptor

La auditoría del evento 4662 para la clave de respaldo necesita tener habilitada la auditoría de éxito en Audit Other Object Access Events en cada DC —está deshabilitada por defecto— (DSInternals: detectar el robo de la clave de respaldo DPAPI). La subcategoría Directory Service Changes genera los eventos 5136 (modificado), 5137 (creado), 5138 (recuperado), 5139 (movido) y 5141 (eliminado) para cualquier objeto que tenga una entrada SACL correspondiente (Microsoft: evento 5136 — A directory service object was modified) —pero solo para los objetos y atributos en los que hayas colocado explícitamente una SACL, por lo que tanto la raíz del naming context como el contenedor Schema necesitan una añadida manualmente (ADSI Edit → Properties → Security → Advanced → Auditing).

ℹ️

ℹ️ Nota: ninguno de estos tres genera nada por defecto. Si no has configurado las SACL anteriores, la ausencia de alertas no significa la ausencia de riesgo —significa que no estás mirando.

Otros Event IDs que conviene configurar junto a estos tres se cubren en Monitorización de Active Directory: los Event IDs de seguridad que importan.

Remediación

💡

💡 Victoria rápida: enumera quién posee actualmente cada uno de los tres derechos hoy mismo —esa lista, comparada con tu nivel de administración esperado, es todo el hallazgo.

Corregir la exposición de la clave de respaldo DPAPI

No existe una forma soportada de rotar la clave de respaldo de dominio (Microsoft Learn: claves de respaldo DPAPI en controladores de dominio de AD), así que trata el acceso a ella con el mismo rigor que el krbtgt. Revisa regularmente los derechos LSA delegados y la pertenencia a grupos privilegiados; si se confirma que la clave está comprometida, la guía de recuperación de Microsoft es lo bastante limitada como para que ya debas tener un plan completo de recuperación de bosque/dominio antes de necesitarlo (SANS: Critical Confusion — Microsoft's Domain Compromise Recovery Guidance).

Corregir la delegación de Reanimate-Tombstones

Enumera las ACE en cada raíz de naming context para el control access right GUID 45ec5156-db7e-47bb-b53f-dbeb2d03c40f (dsacls o Get-ObjectAcl -ResolveGUIDs de PowerView). Elimina cualquier concesión fuera de Domain Admins/Enterprise Admins, y exige un ticket de cambio documentado para cualquier restauración delegada legítima.

Corregir permisos no estándar del schema

Ejecuta dsacls contra CN=Schema,CN=Configuration,DC=<forest-root> y confirma que el acceso de escritura está limitado a Schema Admins (y Enterprise Admins en la raíz del bosque). Presta especial atención a cualquier ACE que toque defaultSecurityDescriptor en los objetos classSchema user, group o computer —ese es el objetivo de mayor valor para una puerta trasera de persistencia.

Añadir SACL para detectar deriva futura

Añade SACL en la raíz del naming context y en el contenedor Schema como se describe en la sección Detección anterior, para que cualquier deriva futura aparezca en el registro de seguridad en lugar de descubrirse en la siguiente auditoría manual. Para una base de hardening más amplia más allá de estos tres derechos, consulta Hardening de Active Directory: qué bloquear primero y cómo validarlo y ¿Cuáles son las configuraciones de seguridad incorrectas más comunes de Active Directory?.

Cómo lo detecta EtcSec

EtcSec revisa estos tres elementos en cada auditoría de Active Directory: DPAPI_KEY_NON_DEFAULT_ACCESS señala a los principales que poseen derechos sobre la clave de respaldo de dominio fuera del nivel de administración esperado, REANIMATE_TOMBSTONES_RIGHT señala concesiones no predeterminadas del control access right en la raíz del naming context, y SCHEMA_NON_STANDARD_PERMISSIONS señala ACE en el naming context del schema fuera de Schema Admins/Enterprise Admins. Estos se suman al control más conocido ACL_GENERICALL, de modo que la misma auditoría cubre tanto las rutas de abuso de ACL bien conocidas como las que la mayoría de las herramientas pasan por alto.

ℹ️

ℹ️ Nota: EtcSec verifica automáticamente esta vulnerabilidad en cada auditoría de AD/Azure. Ejecuta una auditoría gratuita para verificar tu entorno.

Explore las páginas de identidad que apoyan este tema