T1055.004: Asynchronous Procedure Call
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 a method of executing arbitrary code in the address space of a separate live process.
APC injection is commonly performed by attaching malicious code to the APC Queue [1] of a process's thread. Queued APC functions are executed when the thread enters an alterable state.[1] 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 LoadLibrayA pointing to a malicious DLL).
A variation of APC injection, dubbed "Early Bird injection", involves creating a suspended process in which malicious code can be written and executed before the process' entry point (and potentially subsequent anti-malware hooks) via an APC. [2] AtomBombing [3] is another variation that utilizes APCs to invoke malicious code previously written to the global atom table.[4]
Running code in the context of another process may allow access to the process's memory, system/network resources, and possibly elevated privileges. Execution via APC injection may also evade detection from security products since the execution is masked under a legitimate process.
Analyst context for executives and security teams
APC injection matters because malicious code can run inside another legitimate Windows process, which can make business-critical endpoint monitoring and incident scoping harder. The risk is not just malware execution; it is loss of confidence in which process actually performed an action, especially during privilege escalation or stealthy post-compromise activity.
Executive priority
Prioritize this as a Windows endpoint resilience and SOC visibility issue. Leaders should ask whether endpoint controls can observe and block suspicious process behavior rather than relying only on process names or known signatures. It is especially relevant where audit evidence, payment systems, financial data, or regulated workstations depend on proving what executed and under which process context.
Technical view
This is a Windows sub-technique of Process Injection mapped to stealth and privilege-escalation. ATT&CK describes use of APC queues, including API-level activity such as OpenThread and QueueUserAPC, DLL loading through functions such as LoadLibraryA, Early Bird injection involving suspended processes, and AtomBombing involving the global atom table. SOC and IR teams should validate coverage against behavioral patterns of remote thread queuing and code execution under a separate live process, using the related DET0100 detection strategy as context.
Likely telemetry
- Windows endpoint process and thread activity, including cross-process thread handle access
- API-level telemetry for APC-related behavior such as OpenThread and QueueUserAPC where available
- Process creation telemetry, especially suspended-process creation relevant to Early Bird-style behavior
- Module or DLL load events associated with unexpected process contexts
- Memory and code execution context signals showing activity occurring inside another live process
Detection direction
- Validate that detections do not depend only on suspicious process names; the technique is material because execution may appear under a legitimate process.
- Map analytics to the related DET0100 concept: behavioral detection of APC injection via remote thread queuing.
- Tune for combinations of cross-process thread access, APC queueing, unexpected DLL load or code execution, and suspended-process patterns rather than any single API name alone.
- Review false positives from legitimate software that uses advanced threading, injection-like behavior, or endpoint instrumentation so alerts remain actionable.
- During incident response, treat the apparent host process as potentially only the execution container; scope the initiating process, thread activity, loaded modules, and timeline around the injection event.
Mitigation priorities
- Use behavior prevention on endpoint, as mapped by ATT&CK M1040, to block suspicious process, file, API call, and endpoint activity patterns.
- Prioritize endpoint controls that analyze behavior in real time rather than relying solely on known signatures.
- Harden SOC playbooks to investigate process injection as a privilege-escalation and stealth behavior, not just as a malware-family indicator.
- Validate control coverage on Windows systems that handle sensitive data or operationally critical workflows before using coverage claims for compliance or risk reporting.
- Keep response procedures ready to isolate affected endpoints and preserve process, thread, module, and endpoint event evidence.
Analyst notes and limits
ATT&CK relationships show this technique is used by FIN8 and multiple software entries including TURNEDUP, InvisiMole, Attor, IcedID, Carberp, Pillowmint, Saint Bot, Bumblebee, BADHATCH, Sardonic, XLoader, and HeartCrypt. This supports prioritizing detection engineering and threat intelligence enrichment, but it should not be read as evidence of current activity in any specific environment.
MITRE does not provide an official detection section for this object. The guidance above is derived from the official description, external references, and supplied relationships, especially DET0100 and M1040. Local endpoint telemetry, product capabilities, and normal software behavior are required to determine actual detection or prevention coverage.
Asynchronous Procedure Call
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 a method of executing arbitrary code in the address space of a separate live process.
APC injection is commonly performed by attaching malicious code to the APC Queue [1] of a process's thread. Queued APC functions are executed when the thread enters an alterable state.[1] 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 LoadLibrayA pointing to a malicious DLL).
A variation of APC injection, dubbed "Early Bird injection", involves creating a suspended process in which malicious code can be written and executed before the process' entry point (and potentially subsequent anti-malware hooks) via an APC. [2] AtomBombing [3] is another variation that utilizes APCs to invoke malicious code previously written to the global atom table.[4]
Running code in the context of another process may allow access to the process's memory, system/network resources, and possibly elevated privileges. Execution via APC injection may also evade detection from security products since the execution is masked under a legitimate process.
How security teams should use this page
Treat this object as behavior context, not an attribution claim. Validate the related groups, software, data sources, and mitigations against official ATT&CK relationships and your own telemetry before making control-coverage decisions.
Related techniques
This mirrors the MITRE pattern of making group, software, campaign, and technique relationships scannable. Relationship notes come from mirrored ATT&CK relationship text when available.
| Domain | ID | Name | Relationship / procedure |
|---|---|---|---|
| Enterprise | T1055 | Process Injection | This object subtechnique of Process Injection. |
Groups, software, and campaigns
G0061: FIN8
FIN8 is a financially motivated threat group that has been active since at least January 2016, and known for targeting organizations in the hospitality, retail, entertainment, insurance, technology, chemical, and financial sectors. In June 2021, security researchers detected FIN8 switching from targeting point-of-sale (POS) devices to distributing a number of ransomware variants.[1][2][3][4]
S0199: TURNEDUP
TURNEDUP is a non-public backdoor. It has been dropped by APT33's StoneDrill malware. [1] [2]
S9018: HeartCrypt
HeartCrypt is a packer-as-a-service (PaaS) used to protect malware that has been available since at least 2024. HeartCrypt has been used to pack a variety of malware including Lumma Stealer, Remcos, and Rhadamanthys. In the HeartCrypt PaaS model, customers submit malware via private messaging services and it is then packed and returned by the operator as a new binary.[1]
S0517: Pillowmint
Pillowmint is a point-of-sale malware used by FIN7 designed to capture credit card information.[1]
S0260: InvisiMole
InvisiMole is a modular spyware program that has been used by the InvisiMole Group since at least 2013. InvisiMole has two backdoor modules called RC2FM and RC2CL that are used to perform post-exploitation activities. It has been discovered on compromised victims in the Ukraine and Russia. Gamaredon Group infrastructure has been used to download and execute InvisiMole against a small number of victims.[1][2]
S1039: Bumblebee
Bumblebee is a custom loader written in C++ that has been used by multiple threat actors, including possible initial access brokers, to download and execute additional payloads since at least March 2022. Bumblebee has been linked to ransomware operations including Conti, Quantum, and Mountlocker and derived its name from the appearance of "bumblebee" in the user-agent.[1][2][3]
S1018: Saint Bot
Saint Bot is a .NET downloader that has been used by Saint Bear since at least March 2021.[1][2]
S0484: Carberp
S0483: IcedID
S1207: XLoader
S1081: BADHATCH
S0438: Attor
S1085: Sardonic
All related ATT&CK context
Mitigation direction
Object version and sync metadata
The fields below describe the current mirrored snapshot. When Glexia retains multiple ATT&CK source imports, you can open the table to compare the same object across releases (hashes and MITRE timestamps). For MITRE’s own release notes and roadmap, see ATT&CK resources — Updates .
Imported snapshots across ATT&CK releases (1)
| Release | Bundle imported | Object version | Modified | Status | Raw hash |
|---|---|---|---|---|---|
| 19.1 | 2.0 | Current bundle | 281bc96a4612… |
Mirrored ATT&CK source object
The raw object is retained through the mirrored ATT&CK source bundle and object hash. The raw endpoint returns the exact object from the mirrored bundle when available.
External references and citations
MITRE external references are preserved separately from Glexia analysis so citations remain traceable to their original source records.
-
[1]
Microsoft APC
Microsoft. (n.d.). Asynchronous Procedure Calls. Retrieved December 8, 2017.
Open source URL -
[2]
CyberBit Early Bird Apr 2018
Gavriel, H. & Erbesfeld, B. (2018, April 11). New ‘Early Bird’ Code Injection Technique Discovered. Retrieved May 24, 2018.
Open source URL -
[3]
ENSIL AtomBombing Oct 2016
Liberman, T. (2016, October 27). ATOMBOMBING: BRAND NEW CODE INJECTION FOR WINDOWS. Retrieved December 8, 2017.
Open source URL -
[4]
Microsoft Atom Table
Microsoft. (n.d.). About Atom Tables. Retrieved December 8, 2017.
Open source URL -
[5]
mitre-attack T1055.004Open source URL
Source: MITRE ATT&CK®. © 2026 The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation. MITRE ATT&CK and ATT&CK are registered trademarks of The MITRE Corporation. Glexia is not affiliated with or endorsed by MITRE.