PowerShell Script Block Logging: PowerView cmdlet names match

Alerts when PowerShell ScriptBlockText includes PowerView/PowerSploit reconnaissance cmdlet names tied to domain and access discovery.

FreeReviewedSigma · High · v2
Product
windows
Category
ps_script
Author
Bhabesh Raj (SigmaHQ), DRL 1.1
Published
2021-05-18
Updated
2026-07-31
title: "PowerShell Script Block Logging: PowerView cmdlet names match"
id: d77df939-faf8-4942-b689-2018ed3aa395
related:
  - id: b2317cfa-4a47-4ead-b3ff-297438c0bc2d
    type: similar
  - id: dcd74b95-3f36-4ed9-9598-0490951643aa
    type: derived
status: test
description: This rule identifies PowerShell activity where the ScriptBlockText contains specific PowerView/PowerSploit cmdlet names associated with directory, share, DNS, Kerberos, and enumeration actions. Attackers commonly use these commands to collect reconnaissance data and assess domain access paths before further exploitation. The detection relies on Windows PowerShell Script Block Logging telemetry to inspect executed script content for known cmdlet strings.
references:
  - https://powersploit.readthedocs.io/en/stable/Recon/README
  - https://github.com/PowerShellMafia/PowerSploit/tree/master/Recon
  - https://thedfirreport.com/2020/10/08/ryuks-return
  - https://adsecurity.org/?p=2277
  - https://github.com/SigmaHQ/sigma/blob/master/rules/windows/powershell/powershell_script/posh_ps_powerview_malicious_commandlets.yml
author: Bhabesh Raj, Huntrule Team
date: 2021-05-18
modified: 2023-11-22
tags:
  - attack.execution
  - attack.t1059.001
logsource:
  product: windows
  category: ps_script
  definition: "Requirements: Script Block Logging must be enabled"
detection:
  selection:
    ScriptBlockText|contains:
      - Export-PowerViewCSV
      - Find-DomainLocalGroupMember
      - Find-DomainObjectPropertyOutlier
      - Find-DomainProcess
      - Find-DomainShare
      - Find-DomainUserEvent
      - Find-DomainUserLocation
      - Find-ForeignGroup
      - Find-ForeignUser
      - Find-GPOComputerAdmin
      - Find-GPOLocation
      - Find-InterestingDomain
      - Find-InterestingFile
      - Find-LocalAdminAccess
      - Find-ManagedSecurityGroups
      - Get-CachedRDPConnection
      - Get-DFSshare
      - Get-DomainDFSShare
      - Get-DomainDNSRecord
      - Get-DomainDNSZone
      - Get-DomainFileServer
      - Get-DomainGPOComputerLocalGroupMapping
      - Get-DomainGPOLocalGroup
      - Get-DomainGPOUserLocalGroupMapping
      - Get-LastLoggedOn
      - Get-LoggedOnLocal
      - Get-NetFileServer
      - Get-NetForest
      - Get-NetGPOGroup
      - Get-NetProcess
      - Get-NetRDPSession
      - Get-RegistryMountedDrive
      - Get-RegLoggedOn
      - Get-WMIRegCachedRDPConnection
      - Get-WMIRegLastLoggedOn
      - Get-WMIRegMountedDrive
      - Get-WMIRegProxy
      - Invoke-ACLScanner
      - Invoke-CheckLocalAdminAccess
      - Invoke-EnumerateLocalAdmin
      - Invoke-EventHunter
      - Invoke-FileFinder
      - Invoke-Kerberoast
      - Invoke-MapDomainTrust
      - Invoke-ProcessHunter
      - Invoke-RevertToSelf
      - Invoke-ShareFinder
      - Invoke-UserHunter
      - Invoke-UserImpersonation
      - Remove-RemoteConnection
      - Request-SPNTicket
      - Resolve-IPAddress
  condition: selection
falsepositives:
  - Unknown
level: high
license: DRL-1.1