Skip to content
Threat Feed
high advisory

Detection of Suspicious WinAPI Usage in PowerShell Scripts

Detection engineering brief covering the identification of malicious PowerShell scripts leveraging Windows API calls for process injection, token manipulation, and in-memory execution.

Attackers frequently abuse the Windows API via PowerShell to execute code directly in memory, bypassing traditional file-based detection mechanisms. By leveraging methods such as VirtualAlloc, WriteProcessMemory, and CreateRemoteThread, actors can achieve process injection, while others use token manipulation (e.g., OpenProcessToken, AdjustTokenPrivileges) to escalate privileges or move laterally. These techniques are commonly associated with post-exploitation frameworks and manual hands-on-keyboard activity. This intelligence brief provides a detection-focused approach to identifying these patterns using PowerShell Script Block Logging, which is essential for visibility into de-obfuscated script content that would otherwise remain hidden from standard command-line telemetry.

Impact

Successful exploitation allows for stealthy persistence, credential theft, and privilege escalation, often leading to full system compromise or lateral movement within a domain. The reliance on in-memory execution complicates forensic analysis and incident response.

Recommendation

Detection engineering teams should prioritize the implementation of PowerShell Script Block Logging to gain visibility into the code being executed by the PowerShell engine.

  • Enable PowerShell Script Block Logging (Event ID 4104) via Group Policy on all endpoints.
  • Deploy the Sigma rules below to your SIEM to monitor for known patterns of process injection and token theft.
  • Establish baseline activity for administrative scripts that may utilize WinAPI calls to reduce false positives during the tuning phase.

Immediate actions

Enable PowerShell Script Block Logging (Event ID 4104) across enterprise environment

IT Operations 72h

Threat Hunt

Search 4104 logs for combinations of VirtualAlloc, OpenProcess, and WriteProcessMemory

T1106 high high confidence convert to detection

Data: ScriptBlockText

Detection coverage 1

Detect Suspicious WinAPI Access via PowerShell

high

Detects usage of common WinAPI function combinations in PowerShell scripts that indicate process injection, token stealing, or in-memory code execution.

sigma tactics: execution techniques: T1059.001, T1106, T1620 sources: ps_script, windows

Detection queries are available on the platform. Get full rules →