← Techniques
T1055 Defined ATT&CK T1055 ↗

Process Injection

Process Write ProcessSegment — Write attacker-controlled executable code into the address space of a running process not owned by the attacker.

Ontological Definition
ActorProcess
ActionWrite
ArtifactProcessSegment

Detect

STP 5

The activity_id = Inject is technique-defining and injection-method-agnostic. A rule gating solely on this field detects all cross-process writes regardless of primitive used. Rules filtering on injector name or hash are STP 1–2.

Gate on
activity_id = Inject

Detect cross-process memory write events using kernel telemetry (ETW, eBPF) targeting activity_id = Inject and the process.pid pair. Do not gate on actor.process.file.path. Anomalous source-to-target process relationships are high-signal.

Mitigate

STP 5

Arbitrary Code Guard (ACG) prevents processes from mapping or modifying executable code, blocking the central artifact modification regardless of injection technique.

Enable ACG and Code Integrity Guard (CIG) on high-value processes. These controls operate at the kernel level against the ProcessSegment write — they cannot be bypassed by switching injection method.

Respond

Controlled

The target process now executes attacker-controlled code. Kill the injector process and the compromised target immediately. Investigate all files, network connections, and child processes they spawned.

Attacker foothold
Injector Processactor.process
Running Accountactor.user
Compromised by this technique
Target Processprocess
D3FEND response actions
d3f:ProcessTerminationd3f:AccountLockingd3f:NetworkIsolation
OCSF event model

Event class: Process Activity (1007)  ·  activity_id: Inject

attacker-controlledpost-successvictimtainted
%%{init: {"theme": "dark", "themeVariables": {"edgeLabelBackground": "#18181b", "lineColor": "#52525b"}}}%%
graph TD
  classDef attacker fill:#7c2d12,stroke:#ea580c,color:#fed7aa
  classDef victim fill:#1e3a5f,stroke:#3b82f6,color:#bfdbfe
  classDef postSuccess fill:#78350f,stroke:#d97706,color:#fde68a
  classDef tainted fill:#18181b,stroke:#52525b,color:#a1a1aa

  EVENT(["Process Activity\n· Inject"])

  actor_process["Injector Process\nactor.process\nd3f:Process"]:::attacker
  actor_user["Running Account\nactor.user\nd3f:UserAccount"]:::attacker
  target_process["Target Process\nprocess\nd3f:Process"]:::postSuccess
  device["Host\ndevice\nd3f:Host\n⚠ tainted"]:::tainted

  EVENT --> actor_process
  actor_process --> actor_user
  EVENT --> target_process
  EVENT --> device

  actor_process -.->|"injects into"| target_process
Injector Process
actor.process·d3f:Process
attacker-controlled
actor.process.pidvariableSource process identifier — must be present, OS-assigned
actor.process.file.pathattacker_controlledInjector binary path — attacker-chosen, easily changed
actor.process.file.hashattacker_controlledInjector hash — trivially changed per recompile
Countermeasures
d3f:ProcessTermination
Running Account
actor.user·d3f:UserAccount
attacker-controlled
Countermeasures
d3f:AccountLocking
Target Process
process·d3f:Process
post-success
process.pidvariableTarget process identifier — must be present, OS-assigned
process.file.pathattacker_controlledTarget binary — attacker-chosen from available processes
Countermeasures
d3f:ProcessTermination
Host
device·d3f:Host
tainted
Countermeasures
d3f:NetworkIsolation
Definitional Sigma rule

Broad by design — defines the technique, not an operational alert. Gate on variable or attacker-controlled field conditions to narrow for production use.

title: Process Injection (T1055)
status: experimental
description: >
  Definitional rule — broad by design. Defines the technique independent of
  medium, tool, or attacker-controlled variables. Narrow with variable and
  attacker-controlled field conditions for operational use.
logsource:
  product: ocsf
  category: Process Activity (1007)
detection:
  selection:
    activity_id: 'Inject'
  condition: selection
Sub-techniques
Seen in the wild1report

GammaSteel achieves fileless execution by hijacking the Windows Color System Calibration Loader COM object under HKCU, loading attacker-controlled code into an existing process context.