GenericAll
Arsenal completo de comandos en la cheatsheetGenericAll es el permiso de control total sobre un objeto de Active Directory: engloba todos los demás derechos (leer y escribir cualquier atributo, resetear la contraseña, modificar la pertenencia, reescribir la DACL). Quien lo tiene sobre un objeto puede hacer con él prácticamente cualquier cosa, así que es uno de los hallazgos más directos del abuso de ACLs y una de las aristas más golosas que dibuja BloodHound. El abuso concreto depende del tipo de objeto.
Sobre un usuario. Dos caminos. El ruidoso es resetear su contraseña (rompe el acceso del dueño y se audita); el sigiloso, plantar unas Shadow Credentials escribiendo el atributo msDS-KeyCredentialLink para autenticarte por certificado sin tocar la contraseña.
# opción A: reset de contraseña (bloodyAD)
bloodyAD --host <dc> -d <domain> -u <yo> -p <pass_yo> set password <victima> '<nueva>'
# opción B: shadow credentials (certipy), no cambia la contraseña
certipy shadow auto -u <yo>@<domain> -p <pass_yo> -account <victima>Sobre un grupo. Permite añadirte como miembro. Si el grupo es privilegiado (Domain Admins, Remote Management Users), es escalada directa:
net rpc group addmem "<grupo>" <yo> -U "<domain>/<yo>%<pass_yo>" -S <dc>Sobre un equipo. Habilita configurar RBCD (escribiendo msDS-AllowedToActOnBehalfOfOtherIdentity) para pedir tickets en nombre de cualquier usuario, o de nuevo Shadow Credentials contra la cuenta de máquina.
Verificación. Tras el abuso, comprobarlo en vez de asumirlo: un login con la nueva contraseña / el TGT del certificado, o net rpc group members "<grupo>" para ver que ya figuras. La comprobación es la prueba de que el permiso se aplicó.
Matiz. GenericAll sobre un usuario o grupo es control total sobre ese objeto, no sobre el dominio: solo escala si el objetivo ya es privilegiado o si tiene aristas adicionales hacia alguien que lo sea. Es el superconjunto de GenericWrite, WriteDACL y ForceChangePassword: cualquier cosa que hagan ellos, GenericAll también.
Cómo detectarlo. El control total se ve por el efecto que deja en el directorio, no por el permiso en sí. Un reset de contraseña genera Event ID 4724 (se intentó restablecer la contraseña de una cuenta); añadirte a un grupo, 4728/4732/4756 (miembro añadido a un grupo con seguridad habilitada); y escribir un atributo sensible como msDS-KeyCredentialLink (Shadow Credentials) o msDS-AllowedToActOnBehalfOfOtherIdentity (RBCD), un Event ID 5136 (se modificó un objeto del servicio de directorio) que exige activar Audit Directory Service Changes y una SACL en el objeto. La clave defensiva es correlacionar: el actor de esos cambios rara vez es una cuenta legítima de administración de directorio.
Defensa. Mínimo privilegio: no conceder control total salvo necesidad real, revisar las ACEs heredadas y auditar periódicamente quién tiene GenericAll sobre cuentas y grupos Tier-0.