Techniques › T1055.008 › AN0579
AN0579 Analytic 0579
Linux · attack.mitre.org · ATT&CK Enterprise v19.2
<p>Detects ptrace-based process injection by correlating audit logs of ptrace syscalls, memory modifications (e.g., poketext, pokedata), and suspicious register manipulation on a target process not normally debugged by the originator. Alerts on processes attempting to ptrace non-child or privileged processes, especially those followed by abnormal memory or execution behavior.</p>
- Detects
- T1055.008 Ptrace System Calls
- Part of
- DET0203 Detection Strategy for Ptrace-Based Process Injection on Linux
Log sources and channels
Exactly as MITRE states them in x_mitre_log_source_references. Where a channel is vague, it is vague in the source; kevmap does not tidy it.
| Log source | Channel | Data component |
|---|---|---|
| auditd:SYSCALL | mmap, ptrace, process_vm_writev or direct memory ops | DC0021 OS API Execution |
| auditd:SYSCALL | execve | DC0032 Process Creation |
| linux:osquery | state=attached/debugged | DC0034 Process Metadata |
Mutable elements
Parameters MITRE marks as environment-specific. These are the knobs you are expected to tune; they are why an analytic is not a rule.
| Field | Description |
|---|---|
TargetProcessNameFilter | List of sensitive or rarely-debugged processes (e.g., sshd, systemd, container daemons) to alert on if ptraced |
TimeWindowBetweenPtraceAndMemoryWrite | Threshold time (e.g., <10 seconds) between ptrace attach and pokedata syscall |
UserContextMismatch | Flag when UID of tracer differs from UID of target process (e.g., privilege escalation or container breakout) |
ProcessRelationshipConstraint | Allowlist relationships (e.g., parent-child) under which ptrace is considered benign |