In Active Directory, groups and permissions are how access is controlled. Understanding them is crucial because misconfigured permissions are one of the most common attack vectors. One "tiny" permission on the wrong group can give an attacker domain admin.
Think of groups like keychains - they hold multiple keys (permissions). Give someone the keychain, they get all the keys. The question is: who has keychains they shouldn't have?
Group Types and Scopes
Group Types
- Security Groups: Used to assign permissions (what we care about)
- Distribution Groups: Email distribution only (not security-relevant)
Group Scopes
Memory Aid: AGDLP
Accounts go in Global groups, Global goes in Domain Local groups, Domain Local gets Permissions. Most environments don't follow this, creating enumeration opportunities.
High-Value Groups
DnsAdmins = Domain Admin
DnsAdmins members can load arbitrary DLLs on domain controllers via the DNS service. This is a well-known privilege escalation to DA.
Access Control Lists (ACLs)
Every AD object has a Security Descriptor containing an ACL. ACLs define who can do what to the object.
ACL Components
Dangerous Permissions
Extended Rights
Some permissions are "Extended Rights" like DS-Replication-Get-Changes (DCSync). These are often overlooked in ACL reviews.
Enumerating Permissions
ACL Abuse Examples
GenericAll on User
GenericAll on Group
WriteDACL Abuse
WriteOwner Abuse
Knowledge Check
Challenges
Key Takeaways
- Security groups control access; distribution groups are for email only
- Domain Admins, Enterprise Admins, Schema Admins are highest value
- DnsAdmins, Backup Operators can escalate to Domain Admin
- GenericAll, WriteDACL, WriteOwner are dangerous permissions
- ACL misconfiguration is a common path to privilege escalation
- BloodHound is essential for finding ACL-based attack paths