# ACLs

Access Control List is a set of **Access Control Entries (ACE).**

**ACE** contains individual permissions or audits access.

There are two different type of entries:

* **DACL** - Defines the permissions of a user or group on an object
* **SACL** - Logs the success and failure audit messages when an object is accessed.

**Get the ACLs associated with the specified object**

{% code overflow="wrap" %}

```powershell
Get-DomainObjectAcl -SamAccountName student1 -ResolveGUIDs
```

{% endcode %}

**Get ACLs associated with Domain Admins Group**

{% code overflow="wrap" %}

```powershell
 Get-DomainObjectAcl -Identity "Domain Admins" -ResolveGUIDs -Verbose
```

{% endcode %}

**Get the ACLs associated with the specified prefix to be used for search**

{% code overflow="wrap" %}

```powershell
Get-DomainObjectAcl -SearchBase "LDAP://CN=Domain Admins,CN=Users,DC=dollarcorp,DC=moneycorp,DC=local" -ResolveGUIDs -Verbose
```

{% endcode %}

**Enumerate ACLs using ActiveDirectory module but without resolving GUIDs**

{% code overflow="wrap" %}

```powershell
(Get-Acl 'AD:\CN=Administrator,CN=Users,DC=dollarcorp,DC=moneycorp,DC=local') .Access
```

{% endcode %}

**Search for interesting ACEs**

{% code overflow="wrap" %}

```powershell
Find-InterestingDomainAcl -ResolveGUIDs
```

{% endcode %}

**Search for interesting ACEs for a specific user**

{% code overflow="wrap" %}

```powershell
Find-InterestingDomainAcl -ResolveGUIDs | ?{$_.IdentityReferenceName -match "studentx"} 
```

{% endcode %}

**Search for interesting ACEs for a specific group**

{% code overflow="wrap" %}

```powershell
Find-InterestingDomainAcl -ResolveGUIDs | ?{$_.IdentityReferenceName -match "RDPUsers"}
```

{% endcode %}

**Get the ACLs associated with the specified path**

{% code overflow="wrap" %}

```powershell
Get-PathAcl -Path "\\dcorp-dc.dollarcorp.moneycorp.local\sysvol"
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://playbook.sidthoviti.com/active-directory-pentest/domain-enumeration/acls.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
