PowerShell Scripts Calling WinAPI DLLs on Windows

Detects PowerShell script blocks that reference WinAPI-related Windows DLLs such as kernel32.dll and ntdll.dll.

FreeReviewedSigma · Medium · v5
Product
windows
Category
ps_script
Author
Nikita Nazarov, oscd.community, Nasreddine Bencherchali (Nextron Systems) (SigmaHQ), DRL 1.1
Published
2023-07-21
Updated
2026-07-31

ATT&CK techniques

Execution
  1. Recon

  2. Resource Dev

  3. Initial Access

  4. Persistence

  5. Priv Esc

  6. Defense Evasion

  7. Cred Access

  8. Discovery

  9. Lateral Movement

  10. Collection

  11. C2

  12. Exfiltration

  13. Impact

What it detects

This rule flags PowerShell script block content that includes references to common Windows system DLLs such as Advapi32.dll, kernel32.dll, KernelBase.dll, ntdll.dll, secur32.dll, and user32.dll. Attackers may invoke WinAPI functionality directly from scripts to blend in or bypass detections focused on standard PowerShell activity. It relies on PowerShell Script Block Logging telemetry that records script block text for these DLL name matches.

Related detections9 linkedT1059.001 — drag to rearrange
Windows PowerShell ScriptBlock WinAPI Function Calls
PowerShell Script Block WinAPI Calls Indicative of Injection or Token Abuse (Windows)
Suspicious IIS Worker Process Spawning Command or Scripting Interpreter via SharePoint ToolShell Exploitation (via process_creation)
Suspicious PowerShell Download Cradle Spawned from Explorer via ClickFix Lure (via process_creation)
Malicious Interlock RAT FileFix Download-Cradle via PowerShell WebClient with PowerShell User-Agent (via ps_script)
Malicious Metasploit Stager Delivery via mshta Remote HTA (via process_creation)
Suspicious PowerShell Download of Disguised Payload to ProgramData
Suspicious PowerShell WebClient Download of Executable Payload
Malicious Script Host Spawning PowerShell in Gootloader Chain
PowerShell Scripts Calling WinAPI DLLs on Windows
Pivot detection · T1059.001 · 9 related

Changelog

v5
  1. v5
    Candidate ingested via manual entry.2026-07-31
  2. v4
    Candidate ingested via manual entry.2026-07-31
  3. v3
    Candidate ingested via manual entry.2026-07-31
  4. v2
    Candidate ingested via manual entry.2026-07-31
  5. 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.