kevmap

TechniquesT1055.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 sourceChannelData component
auditd:SYSCALLmmap, ptrace, process_vm_writev or direct memory opsDC0021 OS API Execution
auditd:SYSCALLexecveDC0032 Process Creation
linux:osquerystate=attached/debuggedDC0034 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.

FieldDescription
TargetProcessNameFilterList of sensitive or rarely-debugged processes (e.g., sshd, systemd, container daemons) to alert on if ptraced
TimeWindowBetweenPtraceAndMemoryWriteThreshold time (e.g., <10 seconds) between ptrace attach and pokedata syscall
UserContextMismatchFlag when UID of tracer differs from UID of target process (e.g., privilege escalation or container breakout)
ProcessRelationshipConstraintAllowlist relationships (e.g., parent-child) under which ptrace is considered benign