Access Control Lists
Last updated
Last updated
All objects within a domain are subject to the permissions given to them. The permissions can be manually given, inherited, or defined by the groups each object is in.
Red Teamers and Penetration Testers should take care to notice what sorts of permissions each object has, the relationship different objects have with one another, and the privileges the objects themselves have in order to draw out a more clear attack path.
In general, ACL's are lists of Access Control Entries (ACE) which are composed of two types:
DACL - These define the permissions a user or group have on an object
SACL - Success and failure audits when an object is accessed
All of these individual entries are grouped into an ACL for each object. These ACLs are written in the Security Descriptor Definition Language (SDDL) but are easily viewed and changed within the Windows GUI (see the picture below). These ACL's describe what permissions objects have over one another and their access to other resources within the network.
Attackers should look for permissions amongst the relationships that will give them an opportunity to increase their privileges within the network. The following permissions provide excellent opportunities to increase your privileges if the user/object you wish to attack has more privileges than the current position you are in[1]:
Replicating Directory Changes All
Replicating Directory Changes (DS-Replication-Get-Changes)
GenericAll
GenericWrite
WriteDACL
Self
WriteOwner
WriteProperty
CreateChild
DeleteChild
Extended Right
Using pywerview.py:
Using pywerview.py
[1]: https://adsecurity.org/?p=3658