T1055.014

VDSO Hijacking

Adversaries may inject malicious code into processes via VDSO hijacking in order to evade process-based defenses as well as possibly elevate privileges. Virtual dynamic shared object (vdso) hijacking is a method of executing arbitrary code in the address space of a separate live process. VDSO hijacking involves redirecting calls to dynamically linked shared libraries. Memory protections may prevent writing executable code to a process via Ptrace System Calls. However, an adversary may hijack the syscall interface code stubs mapped into a process from the vdso shared object to execute syscalls to open and map a malicious shared object. This code can then be invoked by redirecting the execution flow of the process via patched memory address references stored in a process' global offset table (which store absolute addresses of mapped library functions).

Microsoft Sentinel / Defender
kusto
// Detect VDSO hijacking indicators on Linux endpoints
// Monitor for suspicious access to [vdso] memory regions and GOT modifications
Syslog
| where TimeGenerated > ago(24h)
| where SyslogMessage has_any ("vdso", "linux-gate", "linux-vdso")
| where SyslogMessage has_any ("ptrace", "inject", "mmap", "mprotect")
| where SyslogMessage !has "gdb" and SyslogMessage !has "strace"
| project TimeGenerated, Computer, SyslogMessage, Facility, SeverityLevel
| sort by TimeGenerated desc
| union (
    Syslog
    | where TimeGenerated > ago(24h)
    | where SyslogMessage has "mprotect" and SyslogMessage has "PROT_EXEC"
    | where SyslogMessage !has "ld-linux" and SyslogMessage !has "libc"
    | project TimeGenerated, Computer, SyslogMessage, Facility, SeverityLevel
)
| sort by TimeGenerated desc
high severity low confidence

Data Sources

Process: OS API Execution Process: Process Access Linux auditd Syslog

Required Tables

Syslog

False Positives

  • Dynamic linker (ld-linux.so) performing legitimate GOT updates during shared library loading
  • Security tools performing ELF binary analysis and memory inspection
  • JIT compilers (Java, V8/Node.js) using mprotect to make JIT-compiled code executable
  • Debug tools inspecting vdso memory for debugging purposes

Unlock Pro Content

Get the full detection package for T1055.014 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections