Linux Syscall Tampering: How a Rootkit Hooks the Kernel (and How to Catch It)
Every Linux detection tool you trust rests on one unspoken assumption: that the kernel is telling the truth. ps, lsmod, /proc, your EDR, none of them really see anything, they just relay what the kernel reports. A syscall-table LKM rootkit weaponizes that trust: it doesn't hide from your tools, it makes your tools (i.e the system utilities) lie for the LKM rootkit, quietly censoring their output inside the kernel before it ever reaches userspace. This post walks that attack end to end, a meterpreter root shell, the Diamorphine LKM rootkit, an attacker's process and the malicious module vanishing from every standard tool, and then catches it by reading the kernel's syscall table directly (using a custom made LKM ‘syscall_detector.ko’ ) to prove exactly which pointers in the linux syscall table were hijacked.
