The brilliance (and the cruelty) of the 2005 era was the shift from Viruses to Rootkits. As Hoglund and Butler pointed out, a virus wants to reproduce, but a rootkit just wants to stay. It wants to hide in the "Ring 0" kernelāthe most privileged part of the CPUāand rewrite the truth.
1. The Hook: Why Your Task Manager Lied to You
In 2005, if you suspected you were hacked, youād press Ctrl+Alt+Del and look at the Task Manager. The rootkits in this book taught us how to Hook the System Service Descriptor Table (SSDT). When the Task Manager asked the kernel for a list of running processes, the rootkit intercepted that request and filtered the list, removing its own name before handing the data back to the user. You were looking at a "clean" list while the wolf was sitting right in front of you, invisible. This wasn't just a hack; it was a fundamental gaslighting of the operator.
// Conceptual 2005-era SSDT Hook logic
// We replace the real 'ZwQuerySystemInformation' with our own version
NTSTATUS NewZwQuerySystemInformation(
SYSTEM_INFORMATION_CLASS SystemInformationClass,
PVOID SystemInformation,
ULONG SystemInformationLength,
PULONG ReturnLength)
{
// Call the original function first to get the real data
NTSTATUS status = OldZwQuerySystemInformation(SystemInformationClass, ...);
if (SystemInformationClass == SystemProcessInformation) {
// Find our malicious process in the list and UNLINK it.
// The Task Manager now thinks we don't exist.
HideMyProcess(SystemInformation);
}
return status;
}
2. Direct Kernel Object Manipulation (DKOM)
This was the "keyboard-through-the-window" moment. DKOM didn't just hook functions; it manually edited the kernel's own data structures in memory. By modifying the EPROCESS blockāthe kernel's internal list of active processesāan attacker could simply "unhook" themselves from the chain. Even if you had a tool that checked for SSDT hooks, it wouldn't find anything. The kernel itself no longer "remembered" that the malware was running. This led to a level of paranoia where administrators couldn't trust their own hardware.
3. 21 Years Later: Same Script, Different Actor
Fast forward to 2026. Windows has "PatchGuard," "Secure Boot," and "Hypervisor-Protected Code Integrity." Weāre supposed to be safe, right? The joke is that we still see "Bring Your Own Vulnerable Driver" (BYOVD) attacks. Hackers find a legitimate, signed Windows driver from 2018 with a flaw, load it into the 2026 kernel, and use it to perform the same SSDT/DKOM style attacks Hoglund wrote about two decades ago.
In the modern 2026 "Ghost" spin, we have AI-agents doing the kernel auditing. But the AI-agents are also running on the Windows kernel. If the rootkit (like LoJax or a modern equivalent) is in the firmware, the AI is just as blind as the 2005 IT guy.