PowerShell ExportedCommands Array Index for Indirect Cmdlet Execution (Windows Process Creation)
Flags PowerShell command lines that enumerate Microsoft.PowerShell.Utility exported commands and invoke them via array index.
- Product
- windows
- Category
- process_creation
- Author
- Norbert Jaśniewicz (AlphaSOC), Swachchhanda Shrawan Poudel (Nextron Systems) (SigmaHQ), DRL 1.1
- Published
- 2026-10-06
- Updated
- 2026-10-07
ATT&CK techniques
Execution → Defense EvasionRecon
Resource Dev
Initial Access
Execution
Persistence
Priv Esc
Defense Evasion
Cred Access
Discovery
Lateral Movement
Collection
C2
Exfiltration
Impact
What it detects
This rule identifies PowerShell command lines that enumerate Microsoft.PowerShell.Utility exported commands via ExportedCommands.Values and then invoke cmdlets indirectly using array index access. Attackers can use this technique to reduce reliance on explicit strings associated with common cmdlets, making simple command-line matching less effective. It relies on Windows process creation telemetry that includes the PowerShell image name and the full command line content.
Reporting behind it
- linkedin.comhttps://www.linkedin.com/posts/mark-o-halloran1_clickfix-defense-evasion-tactic-today-i-ugcPost-7453463467736408064-snrp/
- github.comhttps://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/proc_creation_win_powershell_cmdlet_invocation_via_exported_commands_array_index.yml
Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.
title: PowerShell ExportedCommands Array Index for Indirect Cmdlet Execution (Windows Process Creation)
id: cd1575a2-e998-4037-8392-c782fdb14077
related:
- id: 4ff4ad3e-9fb5-4a70-9962-d6ea58090318
type: similar
- id: 0c3ebe9f-df09-4e00-be0f-73d4ca8d62f6
type: derived
status: experimental
description: This rule identifies PowerShell command lines that enumerate Microsoft.PowerShell.Utility exported commands via ExportedCommands.Values and then invoke cmdlets indirectly using array index access. Attackers can use this technique to reduce reliance on explicit strings associated with common cmdlets, making simple command-line matching less effective. It relies on Windows process creation telemetry that includes the PowerShell image name and the full command line content.
references:
- https://www.linkedin.com/posts/mark-o-halloran1_clickfix-defense-evasion-tactic-today-i-ugcPost-7453463467736408064-snrp/
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/proc_creation_win_powershell_cmdlet_invocation_via_exported_commands_array_index.yml
author: Norbert Jaśniewicz (AlphaSOC), Swachchhanda Shrawan Poudel (Nextron Systems), Huntrule Team
date: 2026-10-06
tags:
- attack.execution
- attack.stealth
- attack.t1027.010
- attack.t1059.001
logsource:
product: windows
category: process_creation
detection:
selection_img:
- Image|endswith:
- \powershell.exe
- \pwsh.exe
- OriginalFileName:
- powershell.exe
- pwsh.dll
selection_module_export_enum:
CommandLine|contains:
- "Get-Module "
- "gmo "
CommandLine|contains|all:
- ListAvailable
- Microsoft.PowerShell.Utility
- ExportedCommands
- Values
selection_index_used:
CommandLine|contains: "[*]"
condition: all of selection_*
falsepositives:
- Legitimate use of exported commands array indexing during PowerShell command execution (should be rare)
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_powershell_cmdlet_invocation_via_exported_commands_array_index/info.yml
license: DRL-1.1