T1055.004 Sumo Logic CSE · Sumo

Detect Asynchronous Procedure Call in Sumo Logic CSE

Adversaries may inject malicious code into processes via the asynchronous procedure call (APC) queue in order to evade process-based defenses as well as possibly elevate privileges. APC injection is commonly performed by attaching malicious code to the APC Queue of a process's thread. Queued APC functions are executed when the thread enters an alterable state. A handle to an existing victim process is first created with native Windows API calls such as OpenThread. At this point QueueUserAPC can be used to invoke a function (such as LoadLibraryA pointing to a malicious DLL). A variation called Early Bird injection involves creating a suspended process in which malicious code is written and executed before the process' entry point via an APC. AtomBombing is another variation that utilizes APCs to invoke malicious code previously written to the global atom table.

MITRE ATT&CK

Tactic
Defense Evasion Privilege Escalation
Technique
T1055 Process Injection
Sub-technique
T1055.004 Asynchronous Procedure Call
Canonical reference
https://attack.mitre.org/techniques/T1055/004/

Sumo Detection Query

Sumo Logic CSE (Sumo)
sql
(_sourceCategory="*sysmon*" OR _sourceCategory="*windows*")
| where EventID = 10
| where GrantedAccess in ("0x1FFFFF", "0x001F0FFF", "0x1F3FFF", "0x1410", "0x143A", "0x1F1FFF")
| where SourceImage matches /(?i).*(powershell|cmd|wscript|cscript|mshta|rundll32|regsvr32)\.exe$/ OR !(SourceImage matches /(?i)^[Cc]:\\[Ww]indows\\/)
| if (TargetImage matches /(?i).*(svchost|rundll32|EhStorAuthn|ctfmon|conhost|dllhost)\.exe$/, "Yes", "No") as EarlyBirdTarget
| if (EarlyBirdTarget = "Yes", if(!(SourceImage matches /(?i)^[Cc]:\\[Ww]indows\\/), "Critical - Likely Early Bird APC Injection", "High - Suspicious APC Target Process"), "Medium - Cross-Process Injection-Capable Access") as AlertLevel
| fields _messageTime, Computer, User, SourceImage, TargetImage, GrantedAccess, EarlyBirdTarget, AlertLevel
| sort by _messageTime desc
high severity high confidence

Detects T1055.004 APC Injection in Sumo Logic using Sysmon Event ID 10 (Process Access) data ingested via Sumo Logic Collector. Identifies injection-capable cross-process access (GrantedAccess masks covering PROCESS_ALL_ACCESS and APC-capable VM operation combinations) from LOLBin parents or non-Windows source paths against Early Bird target processes. Nested if() logic produces a three-tier alert classification matching the SPL severity model: Critical for non-Windows injector targeting host processes, High for LOLBin-to-host-process, Medium otherwise.

Data Sources

Microsoft-Windows-Sysmon/Operational via Sumo Logic Installed CollectorWindows Event Log via Sumo Logic

Required Tables

_sourceCategory with Sysmon operational logs (EventID 10)

False Positives & Tuning

  • Security tooling deployed outside C:\Windows\ (e.g., third-party EDR sensors, vulnerability scanners installed to C:\Program Files\) that open PROCESS_ALL_ACCESS handles to svchost.exe or dllhost.exe during their normal monitoring routines
  • IT automation scripts running via PowerShell or wscript.exe that interact with Windows service-hosted COM servers in dllhost.exe or perform legitimate WMI-based service interaction requiring elevated process access
  • Application performance monitoring probes executed from scripting engines that attach to conhost.exe or ctfmon.exe as subprocess helpers for input method or console telemetry collection
Download portable Sigma rule (.yml)

Other platforms for T1055.004


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Early Bird Injection - Suspended Process Creation

    Expected signal: Sysmon Event ID 1: rundll32.exe spawned by PowerShell with empty/minimal CommandLine. This alone is suspicious — rundll32.exe should always have arguments specifying the DLL and function to execute.

  2. Test 2QueueUserAPC API Call via PowerShell P/Invoke

    Expected signal: Sysmon Event ID 1: PowerShell execution with the command line. When using the actual API chain: ETW NtQueueApcThread event, Sysmon Event ID 10 (ProcessAccess) with PROCESS_ALL_ACCESS.

  3. Test 3AtomBombing Variant - Global Atom Table Write

    Expected signal: Sysmon Event ID 1: PowerShell execution. ETW: GlobalAddAtomW API call logged. In a full AtomBombing attack, this would be followed by NtQueueApcThread to copy atom data into the target process.

Unlock Pro Content

Get the full detection package for T1055.004 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections