Try in Splunk Security Cloud


The following analytic leverages Event ID 4104 to identify the execution of the PowerView powershell commandlets Get-ObjectAcl or 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




ID Technique Tactic
T1078.002 Domain Accounts Defense Evasion, Persistence, Privilege Escalation, Initial Access
T1069 Permission Groups Discovery Discovery
Kill Chain Phase
  • Exploitation
  • Installation
  • Delivery
  • DE.CM
  • CIS 10
 `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:

:information_source: 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.

Required fields

List of fields required to use this analytic.

  • _time
  • EventCode
  • ScriptBlockText
  • Opcode
  • UserID

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

Known False Positives

Administrators may leverage PowerView for legitimate purposes, filter as needed.

Associated Analytic Story


Risk Score Impact Confidence Message
20.0 40 50 PowerView AD acccess control list enumeration detected on $Computer$

:information_source: The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.


Test Dataset

Replay any dataset to Splunk Enterprise by using our tool or the UI. Alternatively you can replay a dataset into a Splunk Attack Range

source | version: 1