MITRE ATT&CK T1055.004: Asynchronous Procedure Call
When to use this skill
Use this skill when the task involves T1055.004, Asynchronous Procedure Call, enterprise ATT&CK, TTP mapping, detection engineering, hunting, incident-response enrichment, control validation, or authorized adversary-emulation planning. Treat it as a defensive analysis aid: keep outputs focused on understanding, detecting, mitigating, and safely validating this ATT&CK sub-technique.
Technique context
- ATT&CK domain: enterprise
- ATT&CK ID: T1055.004
- Technique name: Asynchronous Procedure Call
- Type: sub-technique
- ATT&CK URL: https://attack.mitre.org/techniques/T1055/004
- Tactics: privilege-escalation, stealth
- Platforms: Windows
- Required permissions: Not specified
- Effective permissions: Not specified
- Defenses bypassed: Not specified
ATT&CK description
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 (Citation: Microsoft APC) of a process's thread. Queued APC functions are executed when the thread enters an alterable state.(Citation: Microsoft APC) 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. (Citation: CyberBit Early Bird Apr 2018) AtomBombing (Citation: ENSIL AtomBombing Oct 2016) is another variation that utilizes APCs to invoke malicious code previously written to the global atom table.(Citation: Microsoft Atom Table)
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.
Agent workflow
- Clarify scope: identify the system, asset class, log sources, cloud or endpoint platform, and whether the user wants triage, detection, coverage assessment, or safe emulation planning.
- Load bundled resources as needed: use
references/technique-profile.json for structured metadata, references/detection-and-mitigation.md for triage and telemetry guidance, references/known-threat-context.md for ATT&CK relationship context, and templates/ for repeatable outputs.
- Map observations to ATT&CK: compare the user's evidence to the ATT&CK description, tactics, platforms, and known procedure patterns before asserting a match.
- Produce defensive outputs: prioritize hypotheses, telemetry requirements, detection logic ideas, validation steps, containment guidance, and mitigations.
- Preserve uncertainty: distinguish confirmed evidence, plausible indicators, assumptions, and gaps. Recommend what to collect next.
- Stay safe: do not provide malware, credential theft, persistence, evasion, destructive automation, or unauthorized exploitation instructions. For adversary emulation, keep steps bounded to approved lab or control-validation contexts and omit operational abuse details.
Bundled resources
references/technique-profile.json: machine-readable ATT&CK metadata for this technique.
references/detection-and-mitigation.md: detection notes, telemetry checklist, triage questions, mitigation candidates, and false-positive considerations.
references/known-threat-context.md: ATT&CK relationship context with attribution cautions.
templates/detection-brief.md: detection engineering brief template.
templates/hunt-plan.md: threat hunt plan template.
templates/incident-response-note.md: incident response note template.
templates/coverage-assessment.md: ATT&CK coverage assessment template.
scripts/render_brief.py: local helper that renders a Markdown defensive brief from technique-profile.json.
assets/output-schema.json: JSON schema for structured technique analysis outputs.
To generate a quick brief, run python scripts/render_brief.py --output brief.md from inside this skill directory, or adapt the templates directly.
Detection guidance
No ATT&CK detection guidance was present in the source STIX object.
Useful telemetry and data sources
- Not specified in the STIX object.
Mitigations to consider
- Behavior Prevention on Endpoint
Known threat context
Use these examples only as contextual leads, not as proof that an observed event is this technique:
- Attor (malware)
- BADHATCH (malware)
- Bumblebee (malware)
- Carberp (malware)
- FIN8 (intrusion-set)
- HeartCrypt (malware)
- IcedID (malware)
- InvisiMole (malware)
- Pillowmint (malware)
- Saint Bot (malware)
- Sardonic (malware)
- TURNEDUP (malware)
- XLoader (malware)
Recommended output pattern
When responding with this skill, structure the answer as:
- Assessment: whether the evidence supports this ATT&CK mapping and why.
- Evidence: specific indicators, logs, behaviors, and assumptions.
- Detection: telemetry sources, analytic logic, and tuning considerations.
- Response: containment, eradication, recovery, and validation actions.
- Coverage gaps: missing logs, sensors, controls, or environmental details.
- References: include the ATT&CK URL and any user-provided evidence references.
1---2name: attack-ent-t1055-004-asynchronous-procedure-call3description: Analyze MITRE ATT&CK T1055.004 Asynchronous Procedure Call in the enterprise matrix. Use for TTP triage, detection engineering, hunting, defensive emulation planning, mitigations, incident response mapping, ATT&CK coverage, or questions mentioning T1055.004, Asynchronous Procedure Call, or enterprise ATT&CK. 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.4license: MITRE ATT&CK Terms of Use apply to ATT&CK-derived content. See h5---67# MITRE ATT&CK T1055.004: Asynchronous Procedure Call89## When to use this skill1011Use this skill when the task involves T1055.004, Asynchronous Procedure Call, enterprise ATT&CK, TTP mapping, detection engineering, hunting, incident-response enrichment, control validation, or authorized adversary-emulation planning. Treat it as a defensive analysis aid: keep outputs focused on understanding, detecting, mitigating, and safely validating this ATT&CK sub-technique.1213## Technique context1415- ATT&CK domain: enterprise16- ATT&CK ID: T1055.00417- Technique name: Asynchronous Procedure Call18- Type: sub-technique19- ATT&CK URL: https://attack.mitre.org/techniques/T1055/00420- Tactics: privilege-escalation, stealth21- Platforms: Windows22- Required permissions: Not specified23- Effective permissions: Not specified24- Defenses bypassed: Not specified2526## ATT&CK description2728Adversaries 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. 2930APC injection is commonly performed by attaching malicious code to the APC Queue (Citation: Microsoft APC) of a process's thread. Queued APC functions are executed when the thread enters an alterable state.(Citation: Microsoft APC) A handle to an existing victim process is first created with native Windows API calls such as <code>OpenThread</code>. At this point <code>QueueUserAPC</code> can be used to invoke a function (such as <code>LoadLibrayA</code> pointing to a malicious DLL). 3132A 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. (Citation: CyberBit Early Bird Apr 2018) AtomBombing (Citation: ENSIL AtomBombing Oct 2016) is another variation that utilizes APCs to invoke malicious code previously written to the global atom table.(Citation: Microsoft Atom Table)3334Running 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.3536## Agent workflow37381. Clarify scope: identify the system, asset class, log sources, cloud or endpoint platform, and whether the user wants triage, detection, coverage assessment, or safe emulation planning.392. Load bundled resources as needed: use `references/technique-profile.json` for structured metadata, `references/detection-and-mitigation.md` for triage and telemetry guidance, `references/known-threat-context.md` for ATT&CK relationship context, and `templates/` for repeatable outputs.403. Map observations to ATT&CK: compare the user's evidence to the ATT&CK description, tactics, platforms, and known procedure patterns before asserting a match.414. Produce defensive outputs: prioritize hypotheses, telemetry requirements, detection logic ideas, validation steps, containment guidance, and mitigations.425. Preserve uncertainty: distinguish confirmed evidence, plausible indicators, assumptions, and gaps. Recommend what to collect next.436. Stay safe: do not provide malware, credential theft, persistence, evasion, destructive automation, or unauthorized exploitation instructions. For adversary emulation, keep steps bounded to approved lab or control-validation contexts and omit operational abuse details.4445## Bundled resources4647- `references/technique-profile.json`: machine-readable ATT&CK metadata for this technique.48- `references/detection-and-mitigation.md`: detection notes, telemetry checklist, triage questions, mitigation candidates, and false-positive considerations.49- `references/known-threat-context.md`: ATT&CK relationship context with attribution cautions.50- `templates/detection-brief.md`: detection engineering brief template.51- `templates/hunt-plan.md`: threat hunt plan template.52- `templates/incident-response-note.md`: incident response note template.53- `templates/coverage-assessment.md`: ATT&CK coverage assessment template.54- `scripts/render_brief.py`: local helper that renders a Markdown defensive brief from `technique-profile.json`.55- `assets/output-schema.json`: JSON schema for structured technique analysis outputs.5657To generate a quick brief, run `python scripts/render_brief.py --output brief.md` from inside this skill directory, or adapt the templates directly.5859## Detection guidance6061No ATT&CK detection guidance was present in the source STIX object.6263## Useful telemetry and data sources6465- Not specified in the STIX object.6667## Mitigations to consider6869- Behavior Prevention on Endpoint7071## Known threat context7273Use these examples only as contextual leads, not as proof that an observed event is this technique:7475- Attor (malware)76- BADHATCH (malware)77- Bumblebee (malware)78- Carberp (malware)79- FIN8 (intrusion-set)80- HeartCrypt (malware)81- IcedID (malware)82- InvisiMole (malware)83- Pillowmint (malware)84- Saint Bot (malware)85- Sardonic (malware)86- TURNEDUP (malware)87- XLoader (malware)8889## Recommended output pattern9091When responding with this skill, structure the answer as:9293- Assessment: whether the evidence supports this ATT&CK mapping and why.94- Evidence: specific indicators, logs, behaviors, and assumptions.95- Detection: telemetry sources, analytic logic, and tuning considerations.96- Response: containment, eradication, recovery, and validation actions.97- Coverage gaps: missing logs, sensors, controls, or environmental details.98- References: include the ATT&CK URL and any user-provided evidence references.