AvanzadolibroskernelWindowsdriversadvanced

Windows Kernel Programming: escribir drivers para entender rootkits

Reseña de Windows Kernel Programming de Pavel Yosifovich. Guía práctica para programar drivers de Windows kernel, esencial para entender rootkits, EDR y técnicas de evasión de bajo nivel.

MalwareIntel Research··3 min lectura
Serie: Libros Imprescindibles — Parte 8

Sinopsis

Windows Kernel Programming (Pavel Yosifovich, 2019, segunda edición 2023) es la guía práctica más accesible para aprender a programar drivers del kernel de Windows. Yosifovich, MVP de Microsoft y creador de herramientas como Process Explorer alternatives, enseña WDM y KMDF desde cero con un enfoque práctico orientado a seguridad.

No es un libro sobre malware. Es un libro que te enseña a escribir el tipo de código que los rootkits escriben y que los EDR usan para detectarlos.

Público objetivo

  • Investigadores de malware que quieren entender rootkits a nivel de código
  • Desarrolladores de productos de seguridad (EDR, AV, HIPS)
  • Profesionales de security research que necesitan escribir drivers de monitorización

Nivel requerido: C avanzado, Windows internals básico, familiaridad con Visual Studio.

Lo que aprenderás

Fundamentos de kernel programming

WDM (Windows Driver Model), KMDF (Kernel-Mode Driver Framework), IRP handling, device objects, dispatch routines. La base para entender cualquier driver, legítimo o malicioso.

Técnicas relevantes para seguridad

Process/thread notifications (PsSetCreateProcessNotifyRoutine), registry callbacks, file system minifilters, object callbacks. Estas son exactamente las APIs que usan los EDR para monitorizar y los rootkits para interceptar.

Direct Kernel Object Manipulation

Manipulación de estructuras internas del kernel: EPROCESS, ETHREAD, handle tables. Entender esto es entender cómo los rootkits ocultan procesos y cómo los herramientas forenses los detectan.

Networking en kernel

NDIS filter drivers, WFP (Windows Filtering Platform). Cómo los firewalls y los rootkits de red interceptan tráfico a nivel de kernel.

Puntos fuertes

Práctico desde el capítulo 1. No es teoría abstracta. Escribes, compilas y cargas drivers reales desde el principio.

Actualizado. La segunda edición (2023) cubre Windows 10/11 y APIs modernas. Muchos libros de kernel programming están obsoletos.

Puente perfecto entre defensa y ataque. Las mismas APIs que enseña para escribir herramientas de monitorización son las que usan los rootkits. Entender un lado te da comprensión del otro.

Yosifovich explica bien. Estilo claro, progresivo, con ejercicios. De los mejores divulgadores de Windows internals.

Puntos débiles

Requiere Visual Studio + WDK. El setup de desarrollo de drivers es pesado. No es un libro que leas sin un lab configurado.

Solo Windows. No cubre kernel programming en Linux (LKMs) ni macOS (kexts).

No cubre evasión directamente. Enseña las APIs, pero no las técnicas de evasión que el malware usa para evitar esas APIs. Para eso, complementa con Rootkits and Bootkits (Matrosov).

Veredicto

Si quieres entender rootkits y EDR al nivel más profundo, este libro es el camino. Te enseña a escribir el mismo tipo de código que escriben los atacantes (rootkits) y los defensores (EDR). Ese conocimiento dual es extremadamente valioso y poco común. Complemento natural de Windows Internals (Russinovich) y Rootkits and Bootkits (Matrosov).

Preguntas frecuentes

Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.