PowerShell Module: Obfuscated Environment Variable Expansion via cmd /c set -f Pattern

Alerts when PowerShell module payloads obfuscate execution via cmd /c|/r and environment-variable-based set patterns.

FreeReviewedSigma · High · v2
Product
windows
Category
ps_module
Author
Jonathan Cheong, oscd.community (SigmaHQ), DRL 1.1
Published
2020-10-15
Updated
2026-07-31

ATT&CK techniques

Execution → Defense Evasion
  1. Recon

  2. Resource Dev

  3. Initial Access

  4. Persistence

  5. Priv Esc

  6. Cred Access

  7. Discovery

  8. Lateral Movement

  9. Collection

  10. C2

  11. Exfiltration

  12. Impact

What it detects

This rule identifies PowerShell module activity where the command line payload matches an obfuscated pattern that invokes cmd /c or cmd /r and uses set with variable expansion formatted with -f. The behavior matters because attackers often hide execution details by combining environment variables, string formatting, and cmd-based execution to evade straightforward detection. It relies on PowerShell module telemetry that includes the Payload content for pattern matching against the cmd/set/-f and expansion structure.

Related detections9 linkedT1027 — drag to rearrange
Malicious FIN7 Powertrash Loader Execution via Obfuscated PowerShell (via process_creation)
Suspicious XOR Obfuscated PowerShell from ClickFix Distribution
Suspicious PowerShell Executing Code from Environment Variable (via process_creation)
Suspicious In-Memory Runspace Execution via PowerShell Script Block
Suspicious Encoded PowerShell Using Base64 Stream Decompression Routines (via process_creation)
Suspicious PowerShell In-Memory Execution with AES Decryption
Suspicious Encoded PowerShell Command Execution
Suspicious PEAKLIGHT Memory-Only PowerShell Downloader Flags (via process_creation)
Obfuscated PowerShell Script: Indirect Cmdlet Execution via ExportedCommands Array Index
PowerShell Module: Obfuscated Environment Variable Expansion via cmd /c set -f Pattern
Pivot detection · T1027 · 9 related

Changelog

v2
  1. v2
    Candidate ingested via manual entry.2026-07-31
  2. v1
    No changelog recorded for this version.2026-07-30

Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.