Windows PowerView AD Access Control List Enumeration
The following analytic leverages Event ID 4104 to identify the execution of the PowerView powershell commandlets
Get-DomainObjectAcl. This commandlets are used to enumerate Access Control List permissions given to Active Directory objects. In an active directory environment, an object is an entity that represents an available resource within the organizations network, such as domain controllers, users, groups, computers, shares, etc. Maintaining Active Directory permissions is complicated and hard to manage, especially in complex and large environments with multiple domains. Weak permissions may allow adversaries and red teamers to escalate their privileges in Active Directory. PowerView is a common tool leveraged by attackers to identify and exploit configuration weaknesses.
- Type: TTP
Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
- Last Updated: 2023-04-20
- Author: Mauricio Velazco, Splunk
- ID: 39405650-c364-4e1e-a740-32a63ef042a6
Kill Chain Phase
- CIS 10
1 2 3 4 5 `powershell` EventCode=4104 (ScriptBlockText=*get-objectacl* OR ScriptBlockText=*Get-DomainObjectAcl* ) | stats count min(_time) as firstTime max(_time) as lastTime by Opcode Computer UserID EventCode ScriptBlockText | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_powerview_ad_access_control_list_enumeration_filter`
The SPL above uses the following Macros:
windows_powerview_ad_access_control_list_enumeration_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
List of fields required to use this analytic.
How To Implement
To successfully implement this analytic, you will need to enable PowerShell Script Block Logging on some or all endpoints. Additional setup here https://docs.splunk.com/Documentation/UBA/18.104.22.168/GetDataIn/AddPowerShell#Configure_module_logging_for_PowerShell.=
Known False Positives
Administrators may leverage PowerView for legitimate purposes, filter as needed.
Associated Analytic Story
|20.0||40||50||PowerView AD acccess control list enumeration detected on $Computer$|
The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.
Replay any dataset to Splunk Enterprise by using our
replay.py tool or the UI.
Alternatively you can replay a dataset into a Splunk Attack Range
source | version: 1