PowerShell Obfuscation Delivered via Stdin Using Set-and-Invoke Pattern

Detects obfuscated PowerShell script blocks that use chained stdin/environment/input patterns.

FreeReviewedSigma · High · v2
Product
windows
Category
ps_script
Author
Nikita Nazarov, oscd.community (SigmaHQ), DRL 1.1
Published
2020-10-12
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 flags PowerShell script block text that matches an obfuscated “set … && set … (environment|invoke|${input}) … && … " pattern, which is commonly used to hide malicious intent while still executing. Attackers may use stdin-driven and chained assignments/invocations to evade straightforward inspection and blend execution with environment/input handling. The detection relies on Script Block Logging telemetry that captures the full script block text executed in PowerShell.

Related detections9 linkedT1027 — drag to rearrange
Suspicious PowerShell Invoke-Expression with Replace Obfuscation
Malicious Emmenhtal JavaScript Loader Spawning Encoded PowerShell
Suspicious Python Interpreter Launching Encoded PowerShell via subprocess
Suspicious PS1Bot PowerShell Payload Written to ProgramData (via file_event)
Malicious Non-Interactive Encoded PowerShell Stager (via process_creation)
Suspicious Hidden PowerShell Executing Substring of Dropped File
PowerShell Encoded or Download-Cradle Command Line (via process_creation)
Obfuscated Encoded PowerShell Payload Deployed - PowerShell (via powershell)
Suspicious PowerShell AES Decryption and Reflective Method Invocation in SolarMarker
PowerShell Obfuscation Delivered via Stdin Using Set-and-Invoke 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.