In the footsteps of Phrack. Searching for LKM rootkits in RAM and examining x64 memory

Date: 12/05/2025

A long time ago, in the early days of my journey to Linux kernel rootkits, I came across a Phrack article describing a rootkit detection technique implemented for i386. The article wasn’t new and referred to a vintage Linux kernel dated 2003. Something in that paper caught my attention, although much remained unclear… Ultimately, I decided to implement the anti-rootkit concept described in it for modern systems.
Read full article →

Malformed ELFs. How to make executable Linux files debug-resistant

Date: 29/12/2024

Plenty of anti-debugging techniques are available nowadays, but one of them stands distinctive. Its main principle is not to detect a debugger, but to prevent the app from running in it. This article explains how such a goal can be achieved using parser differentials and fuzzing. You will learn how to craft amazing ELF files that are resistant to debuggers and disassemblers but run smoothly in their native Linux environment.
Read full article →

Reverse shell of 237 bytes. How to reduce the executable file using Linux hacks

Date: 15/02/2022

Once I was asked: is it possible to write a reverse shell some 200 bytes in size? This shell should perform the following functions: change its name and PID on a regular basis, make you coffee, and hack the Pentagon… Too bad, this is most likely impossible. But the task seemed interesting and challenging to me. Let’s see whether it can be implemented.
Read full article →