ACL Abuse en Active Directory
🧩 Concepto General
Las ACL controlan quién puede acceder a qué dentro de Active Directory y qué tipo de permisos posee cada entidad (usuarios, grupos, equipos).
Una mala configuración en ACLs puede permitir escaladas, movimientos laterales o persistencia.
Cada ACL posee múltiples ACE (Access Control Entries) → Cada ACE indica quién tiene qué permiso.
📘 Tipos de ACL
🟦 DACL — Discretionary Access Control List
Define qué usuarios/grupos pueden o NO pueden acceder a un objeto.
Si un objeto NO tiene DACL, todos tienen acceso completo.
Si tiene DACL vacía → nadie tiene acceso.
Ejemplos de ACE dentro de la DACL:
-
Full Control
-
Change Password
-
Add Member
-
Write SPN
-
GenericWrite
-
GenericAll
🟥 SACL — System Access Control List
Define qué accesos se auditan (logs de seguridad).
Normalmente se accede desde la pestaña Auditing en ADUC.
📘 ¿Qué es un ACE?
Un ACE = una entrada que define:
-
SID del principal (usuario/grupo)
-
Tipo de ACE → Allowed / Denied / Audit
-
Herencia → si aplica a objetos hijos
-
Access Mask → permisos exactos (32 bits)
Los ACE se leen de arriba hacia abajo hasta que una entrada Deny coincide → se bloquea.
📂 Ejemplo Visual (resumen)
🧩 ACL de un usuario (forend)
-
DACL: "Authenticated Users → Read", “Angela Dunn → Write All”, “Domain Admins → Full Control”.
-
SACL: Auditorías para Everyone.

Cada línea en "Permission Entries" = un ACE.
🛠️ ACEs importantes para ataques
🔑 ForceChangePassword
→ Podemos resetear la contraseña de un usuario sin conocer la actual.
🔧 GenericWrite
→ Permite escribir atributos del objeto.
Casos típicos:
-
Usuario: asignar SPN → Kerberoasting
-
Grupo: añadir miembros
-
Equipo: RBCD
👤 AddSelf
→ El usuario puede añadirse a grupos específicos.
🔥 GenericAll
→ Control total: reset password, modificar atributos, añadir grupos, leer LAPS, etc.
🛠️ WriteOwner
→ Cambiar propietario del objeto → después otorgarse permisos.
🔐 WriteDACL
→ Modificar la DACL → darnos más permisos → escalada silenciosa.
⁉️ ¿Por qué son importantes los ACE?
No son detectados por escáneres automáticos y suelen quedar años sin revisar.
Los atacantes los usan para:
-
Lateral movement
-
Privilege escalation
-
Persistence
Herramientas típicas:
-
PowerView
-
BloodHound
-
ADUC
-
GMSAPasswordReader
🎯 Ejemplos de abusos reales
1️⃣ Abusar permisos de HelpDesk
→ Resetear contraseñas privilegiadas.
2️⃣ Abusar Add/Remove Member
→ Añadirnos a un grupo sensible.
3️⃣ Excesos de derechos heredados o por software
→ Exchange y otros sistemas suelen crear ACE peligrosos.
🧠 Resumen rápido (perfecto para Obsidian)
[!info] DACL = Permisos
[!warning] SACL = Auditorías
[!example] ACE = Cada permiso individual