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).
// 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 Data Sources
Required Tables
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
References (5)
- https://attack.mitre.org/techniques/T1055/014/
- https://web.archive.org/web/20210205211142/https://backtrace.io/blog/backtrace/elf-shared-library-injection-forensics/
- https://web.archive.org/web/20150711051625/http://vxer.org/lib/vrn00.html
- https://lwn.net/Articles/604515/
- https://web.archive.org/web/20051013084246/http://www.trilithium.com/johan/2005/08/linux-gate/
Unlock Pro Content
Get the full detection package for T1055.014 including response playbook, investigation guide, and atomic red team tests.