Windows PowerShell: Suspicious GetTypeFromCLSID and ShellExecute usage

Flags PowerShell script blocks that use GetTypeFromCLSID followed by ShellExecute.

FreeReviewedSigma · Medium · v2
Product
windows
Category
ps_script
Author
frack113 (SigmaHQ), DRL 1.1
Published
2022-04-02
Updated
2026-07-31

ATT&CK techniques

Persistence → Priv Esc
  1. Recon

  2. Resource Dev

  3. Initial Access

  4. Execution

  5. Defense Evasion

  6. Cred Access

  7. Discovery

  8. Lateral Movement

  9. Collection

  10. C2

  11. Exfiltration

  12. Impact

What it detects

This rule flags PowerShell script content that calls [System.Type]::GetTypeFromCLSID() and then invokes .ShellExecute(), a pattern commonly used to instantiate COM objects and execute actions from scripts. Attackers can use this technique to launch processes or trigger behaviors while leveraging COM activation and execution. The detection relies on script block text telemetry that captures the relevant code strings in logged PowerShell script content.

Related detections9 linkedT1546.015 — drag to rearrange
Malicious SnipBot COM Hijack via InprocServer32 CLSID (via registry_set)
Suspicious COM Hijack via InprocServer32 Pointing to AppData DLL via registry_set
Malicious COM TypeLib Hijack via Persistence CLSID Registration
Malicious COM Hijacking via Twinapi CLSID InprocServer32 Registration
Suspicious Child Process Spawned by Control Panel DCOM Surrogate
Suspicious MDaemon WorldClient CgiBase6 Extension Registration by Careto
Malicious APT-C-60 COM Hijack via CLSID 566296fe InProcServer32 (via registry_set)
Malicious DarkMe COM Object Execution via rundll32 CLSID
Malicious Sednit COM Hijacking Persistence via InprocServer32
Windows PowerShell: Suspicious GetTypeFromCLSID and ShellExecute usage
Pivot detection · T1546.015 · 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.