Detection of PowerView Enumeration Framework Activity
PowerView is an open-source PowerShell module frequently used by threat actors for domain reconnaissance, user enumeration, and identifying lateral movement opportunities.
PowerView is a component of the PowerSploit framework widely utilized by attackers for Active Directory reconnaissance. It provides a suite of PowerShell cmdlets designed to enumerate domain users, computers, groups, file shares, and GPO configurations. By leveraging these scripts, adversaries can quickly map out network topology, identify privileged accounts, and locate sensitive files or systems suitable for lateral movement. Given its modular nature and the ability to execute these commands in memory, defenders must rely on PowerShell Script Block Logging (Event ID 4104) to capture and inspect the specific commands executed within an environment. Monitoring for these specific cmdlet strings is a high-confidence method for identifying unauthorized discovery activities, as they are not commonly utilized in standard administrative workflows.
Attack Chain
- Initial access is established on a domain-joined workstation via phishing or exploit.
- PowerShell is invoked, typically with obfuscation or via memory-resident script execution.
- The attacker imports the PowerView module or executes functions directly from memory.
- The attacker runs
Invoke-UserHunterorFind-LocalAdminAccessto identify high-value targets. - The attacker executes
Invoke-Kerberoastto extract service account tickets for offline cracking. - The attacker enumerates domain trusts and group memberships using
Get-NetForestandGet-NetGroup. - Information gathered is staged or exfiltrated, or used to facilitate lateral movement to domain controllers or file servers.
- Final objective is achieved, such as credential theft, data staging, or complete domain compromise.
Impact
Successful use of PowerView allows an attacker to achieve rapid domain situational awareness, escalating their ability to identify and exploit vulnerabilities within Active Directory. This often leads to privilege escalation, unauthorized access to sensitive files, and broad persistence across the enterprise network.
Recommendation
- Enable PowerShell Script Block Logging (Event ID 4104) via Group Policy on all domain-joined endpoints to capture the full command syntax.
- Deploy the provided Sigma detection rule to monitor for PowerView cmdlet patterns in SIEM/log management platforms.
- Establish alerting for high-frequency reconnaissance activity originating from non-administrative endpoints or service accounts.
Immediate actions
Enable PowerShell Script Block Logging (Event ID 4104)
Threat Hunt
Search for instances of PowerView cmdlet usage in historical logs
Data: Event ID 4104
Mitigations
Implement Constrained Language Mode (CLM) for non-administrative accounts
T1059.001
Detection coverage 1
Detect PowerView PowerShell Cmdlets Execution
highDetects the use of PowerView reconnaissance cmdlets within PowerShell Script Block logs, which are commonly associated with domain environment mapping.
Detection queries are available on the platform. Get full rules →