FU Rootkit: el paper que inició DKOM
Análisis del FU Rootkit: el primer rootkit práctico que usó DKOM (Direct Kernel Object Manipulation) para ocultar procesos en Windows sin hookear nada.
Contexto
FU Rootkit, publicado por Jamie Butler y Greg Hoglund alrededor de 2003, fue el primer rootkit práctico que demostró DKOM (Direct Kernel Object Manipulation) como técnica de ocultación. En lugar de hookear funciones del kernel (SSDT hooks, IAT hooks), FU modificaba directamente las estructuras de datos internas del kernel para ocultar procesos.
Contribución técnica
DKOM: la innovación
Los rootkits anteriores a FU usaban hooking: interceptar funciones del sistema operativo para filtrar resultados. Si un rootkit quería ocultar un proceso, hookeaba NtQuerySystemInformation y eliminaba el proceso de la lista devuelta.
FU tomó un enfoque diferente: en lugar de interceptar la función que lista procesos, modificaba la lista misma. El kernel de Windows mantiene una lista doblemente enlazada de estructuras EPROCESS. FU desenlazaba el proceso objetivo de esta lista. Cuando cualquier función recorría la lista, el proceso simplemente no estaba ahí.
Ventaja sobre hooking
- Sin hooks detectables: no hay bytes parcheados, no hay entradas de SSDT modificadas
- Funciona contra todas las herramientas: cualquier programa que use la API de Windows para listar procesos no verá el proceso oculto
- Simple de implementar: unlink de dos punteros en una lista doblemente enlazada
El problema de DKOM
El proceso oculto sigue ejecutándose (el scheduler sigue entregándole tiempo de CPU), pero no es visible para herramientas que recorren la lista EPROCESS. Sin embargo, la memoria del proceso sigue asignada y sus handles siguen existiendo. Herramientas forenses que buscan procesos por otros medios (scanning de memoria, handle tables, thread lists) pueden encontrarlo.
Detección
Volatility implementó plugins específicamente para detectar DKOM:
pslist: recorre la lista EPROCESS (no detecta procesos ocultos por DKOM)psscan: escanea toda la memoria buscando estructuras EPROCESS por su firma (detecta procesos desenlazados)- Comparar
pslistvspsscan: discrepancias = posible DKOM
Esta técnica de detección (cross-view analysis) se convirtió en estándar para análisis forense de memoria.
Legado
FU estableció DKOM como técnica fundamental de rootkits. Todos los rootkits de kernel posteriores incorporaron variantes de DKOM. La técnica evolucionó para ocultar no solo procesos, sino también drivers, puertos de red, archivos y entradas de registro.
PatchGuard (KPP) de Microsoft, introducido en Windows Vista x64, fue en parte una respuesta a técnicas como DKOM y SSDT hooking.
Veredicto
Paper fundacional. Sin FU, no existiría la disciplina de detección de rootkits en memoria como la conocemos. Los plugins psscan/pslist de Volatility nacieron para detectar exactamente esta técnica. Lectura obligatoria para entender el origen de DKOM.
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.