Los rootkits son, por definición, molestos de narices: se esconden en lo más profundo del sistema y engañan a tus herramientas para que digan que todo va bien cuando no lo está. Conocer cómo destaparlos con una utilidad como RootkitRevealer es clave para recuperar el control. En esta guía te explico, paso a paso, cómo entender sus resultados, qué significan sus discrepancias y cómo actuar sin precipitarse ni romper nada por el camino, siempre con consejos prácticos y enfoque 100% defensivo.
Aunque RootkitRevealer es una herramienta veterana, su filosofía sigue enseñando mucho sobre cómo se ocultan los rootkits y cómo comparar “lo que Windows dice” con “lo que realmente hay en disco”. Verás qué detecta bien, qué no, cómo automatizar escaneos y cómo interpretar casos típicos como archivos de metadatos de NTFS, claves del Registro con NULL incrustados o diferencias de tamaño/tipo entre la API y los datos sin procesar.
¿Qué es un rootkit y por qué cuesta tanto detectarlo?
Cuando hablamos de rootkits nos referimos a técnicas y componentes de malware (virus, spyware o troyanos) cuyo objetivo es ocultar su presencia al sistema y a las herramientas de seguridad. Esa capacidad de camuflaje es lo que complica su detección y su eliminación.
En función de su persistencia, distinguimos entre rootkits que sobreviven a reinicios (persistentes) y los que residen solo en memoria (no persisten). Los persistentes guardan componentes en el Registro o el sistema de archivos y se ejecutan automáticamente al iniciar el equipo, mientras que los de memoria desaparecen tras un reboot.
Por dónde operan, se clasifican en modo usuario o modo kernel. Los de usuario interfieren con funciones de la API de Windows (FindFirstFile/FindNextFile, enumeración de procesos o Registro) para filtrar elementos que delatarían su presencia. Los de modo kernel bajan un nivel y manipulan llamadas nativas o estructuras internas del sistema, llegando a ocultar procesos en la lista de procesos activa del kernel.
Además, en la práctica verás otras familias y técnicas: kernel, aplicación, memoria, bootkits (actúan en el cargador de arranque), rootkits de biblioteca y de firmware. Los de firmware y arranque son especialmente puñeteros porque se cargan antes del sistema operativo y pueden sobrevivir a reinstalaciones.
Cómo trabaja RootkitRevealer: compara la vista de Windows con los datos reales
RootkitRevealer está pensado para descubrir rootkits que manipulan las APIs. Su truco es comparar la “vista de alto nivel” (API de Windows) con la “vista de bajo nivel” (lectura cruda de volúmenes NTFS/FAT y de subárboles del Registro). Si algo se muestra a través de la API pero no está en los datos sin procesar, o viceversa, hay discrepancias que merecen análisis.
Gracias a ese enfoque, RootkitRevealer cazó en su día amenazas persistentes populares como AFX, Vanquish o HackerDefender. Ojo, no cubre todo: por ejemplo, no está diseñado para detectar rootkits que no intentan ocultar archivos ni claves del Registro (como Fu), de modo que su utilidad se centra en los que “maquillan” las enumeraciones.
¿Puede haber rootkits que lo engañen? En teoría sí: tendrían que interceptar las lecturas crudas de hives del Registro o de datos de disco y modificarlas “al vuelo” sin romper la coherencia de NTFS/FAT ni del formato de subárbol del Registro. Esa sofisticación existe en escenarios avanzados, pero no es trivial de implementar sin dejar rastro.
Importante tener presente una limitación de base: dentro de un sistema ya comprometido por un rootkit de kernel no hay garantías absolutas. Un atacante con control del kernel puede manipular cualquier API, incluso las que usa RootkitRevealer. Por eso, siempre que se pueda, conviene contrastar con escaneos fuera de línea y comparar resultados “online/offline”.
Requisitos y buenas prácticas antes de escanear
Para que RootkitRevealer funcione correctamente, la cuenta que lo ejecute debe tener privilegios de “Copia de seguridad de archivos y directorios”, “Cargar controladores” y “Realizar tareas de mantenimiento de volumen”. En Windows XP y posteriores, el grupo Administradores ya trae estos permisos, así que arranca la herramienta desde una cuenta con privilegios elevados.
Minimiza falsos positivos: cierra todas las aplicaciones y deja el equipo lo más ocioso posible durante el examen. Evitar cambios de archivos y claves mientras se escanea reduce discrepancias “benignas” (por ejemplo, un log que rota o una clave que actualiza su timestamp cada pocos segundos).
Un apunte práctico: años atrás se retiró la versión de línea de comandos directa porque el malware buscaba el ejecutable por nombre. La utilidad lanza ahora una copia con nombre aleatorio y se ejecuta como servicio, aunque mantiene parámetros para automatizar y guardar resultados en un archivo.
Si aparece cualquier duda en uso o interpretación, revisar foros técnicos de Sysinternals puede dar pistas de casos reales y falsos positivos comunes, sobre todo con entradas del Registro “raras”, flujos alternativos de datos o metadatos de NTFS.
Uso manual de RootkitRevealer
El uso básico es sencillo: abre la aplicación y pulsa “Scan”. Verás en la parte inferior el progreso y, al terminar, una lista de discrepancias. Dos opciones relevantes que puedes activar/desactivar afectan a qué se muestra y qué se registra durante el examen:
- Ocultar archivos de metadatos NTFS: activada por defecto. Evita que aparezcan los ficheros internos de NTFS (como $MFT o $Secure) que no se exponen por la API de Windows pero sí existen en disco.
- Registro de examen: también activada por defecto. Si la quitas, RootkitRevealer no analizará el Registro, lo que limita el alcance de la comparación a sistema de archivos únicamente.
Recuerda: los metadatos de NTFS varían según versión y características activadas (journaling, cuotas, objetos, etc.). Si no ocultas estos archivos, verás discrepancias “Oculto de la API de Windows” a cascoporro en volúmenes NTFS y no indican por sí mismas infección.
Análisis automático y opciones de línea de comandos
RootkitRevealer permite automatizar examenes y exportar resultados a fichero local. La sintaxis es la siguiente, útil para programaciones o cuando quieres ingestarlo en una base de datos:
Ejemplo: rootkitrevealer outputfile]
- -a: analiza y sale al terminar de forma automática.
- -c: formatea la salida como CSV (ideal para importación).
- -m: muestra los metadatos NTFS (no los oculta).
- -r: desactiva el análisis del Registro (solo archivos).
Importante: el archivo de salida debe residir en un volumen local. Si activas -c, el progreso no se muestra y las discrepancias van directamente en CSV. Para equipos remotos, puedes apoyarte en PsExec de Sysinternals con una línea del estilo:
Ejemplo remoto: psexec \\remote -c rootkitrevealer.exe -a c:\windows\system32\rootkit.log
Este enfoque es útil para análisis a escala o cuando necesitas recolectar evidencias de varias máquinas sin tener que conectar sesión de escritorio remoto.
Interpretar los resultados: discrepancias típicas y qué significan
El valor real de RootkitRevealer está en cómo lees sus hallazgos. No hay un “todo/nada” perfecto: hay que revisar entrada por entrada y preguntarse si es razonable. A continuación, tienes las categorías más comunes y las claves para no caer en falsos positivos:
Oculto de la API de Windows. Es la discrepancia clásica. Si no ocultas metadatos de NTFS, verás muchas entradas por ficheros internos como $MFT o $Secure que el sistema oculta de la API. También algunos antivirus almacenan datos en flujos alternativos (ADS) y los “esconden” con técnicas similares, por lo que aparecerán como ocultos desde la API de Windows.
Lista de metadatos NTFS (Windows Server 2003) que puedes encontrarte sin que sea malware: $AttrDef, $BadClus, $BadClus:$Bad, $BitMap, $Boot, $LogFile, $Mft, $MftMirr, $Secure, $UpCase, $Volume, $Extend, $Extend\$Reparse, $Extend\$ObjId, $Extend\$UsnJrnl, $Extend\$UsnJrnl:$Max, $Extend\$Quota. Estas apariciones son normales en NTFS y, por sí mismas, no apuntan a un rootkit.
Acceso denegado. En condiciones normales RootkitRevealer no debería reportar “Access is denied” porque usa mecanismos de backup para abrir todo. Si lo ves, merece una segunda mirada, aunque también puede ser consecuencia de un archivo bloqueado en un momento muy concreto o de un control de acceso externo que impida la lectura temporalmente.
Visible en API de Windows / MFT / índice de directorio. Hay varias combinaciones: “Visible en API, pero no en MFT o índice”, “Visible en API e índice, pero no en MFT”, “Visible en índice, pero no en API ni MFT”… Su explicación más habitual es un archivo que se crea o se borra durante el escaneo. Ejemplo típico:
C:\newfile.txt
Fecha/hora
8 bytes
Visible en la API de Windows, pero no en el índice de directorios o MFT.
La longitud según API de Windows no coincide con los datos del subárbol. Puede ocurrir si el rootkit intenta ocultar contenido “fingiendo” otro tamaño, o si un valor cambia mientras se lee. Cualquier valor de este tipo merece atención especial, sobre todo si no esperas que cambie en plena ejecución.
Desajuste de tipo entre la API de Windows y el subárbol crudo. Los valores del Registro tienen tipos (REG_SZ, REG_DWORD, REG_BINARY…). La discrepancia indica que el tipo visto por la API no coincide con el del hive. Puede usarse para esconder datos (p. ej., almacenar binario haciéndolo pasar por cadena con un 0 al inicio). Conviene validar su legitimidad.
El nombre de la clave contiene NULL incrustados. Windows trata nombres de clave como cadenas terminadas en NULL, mientras que el kernel usa cadenas con recuento. Esto permite crear claves “a medias invisibles” para herramientas como Regedit. Es una táctica documentada y utilizada por malware. Para eliminarlas, Sysinternals tiene RegDelNull.
Diferencia de datos entre API y subárbol crudo. Suele indicar un valor que se actualiza durante el examen. Ejemplos típicos: tiempos de actividad de servicios (como SQL Server) o valores de “último análisis”. No obstante, hay que verificar caso a caso que el valor pertenezca a una aplicación legítima y no a un componente sospechoso.
Qué puede hacer un rootkit y cómo reconocer sus señales
Si un rootkit se cuela con privilegios altos, el atacante puede instalar una puerta trasera, incorporar más malware (keyloggers, spyware, bots), leer/copiar/modificar archivos y variar parámetros del sistema a su antojo. Además, registrará credenciales y, en ocasiones, desactivará antivirus y firewall.
Señales de alerta: ralentizaciones sin explicación, procesos desconocidos, picos de tráfico de red sin aplicaciones abiertas, desaparición o corrupción de archivos, errores raros o pantallas azules, y cambios de configuración no solicitados. Aunque nada de esto confirma por sí solo, juntas son pistas de compromiso.
Un apunte histórico para entender su impacto: casos como Stuxnet (sabotaje industrial), el escándalo del rootkit de Sony BMG instalado desde CDs de usuarios, o el rootkit UEFI LoJax que sobrevive a formateos, muestran hasta dónde puede llegar la persistencia.
Recuerda que hay modalidades como los bootkits (MBR/UEFI) o los de firmware que se cargan antes del sistema operativo y pueden reaparecer tras reinstalar. En entornos modernos, Secure Boot y TPM ayudan a mitigar este tipo de artimañas.
Herramientas complementarias y respuesta ante infección
Si sospechas infección, lo primero es cortar la comunicación con el atacante. Desconecta el equipo de la red (Ethernet/Wi‑Fi/Bluetooth) y evita introducir USBs sin analizar. Desde ahí, decide si el escaneo será en modo seguro o, mejor, desde un medio de arranque externo.
- GMER: detecta procesos ocultos, hooks de kernel y modificaciones sospechosas.
- Kaspersky TDSSKiller: muy útil con bootkits/rootkits de kernel.
- Malwarebytes Anti-Rootkit: limpieza enfocada en Windows.
- Windows Defender Offline: escaneo antes de que arranque el sistema.
- RogueKiller: revisión de procesos, MBR y claves de registro.
- Kaspersky Rescue Disk: medio de rescate para BIOS/UEFI y sectores de arranque.
- Autoruns y Process Monitor (Sysinternals): para ver qué se inicia y qué hace cada proceso.
Si el problema apunta al arranque o firmware, considera restaurar el MBR con bootrec /fixmbr
en Windows y, llegado el caso, flashear el BIOS/UEFI con una versión limpia del fabricante. Tras limpiar, activa Secure Boot y TPM en UEFI para proteger el inicio.
Cuando las herramientas no consiguen erradicarlo, la vía más segura es copia de seguridad (offline), borrado total y reinstalación desde medios oficiales. Es la solución más drástica, pero la única que garantiza que no queda persistencia en el sistema.
Prevención y “higiene”: hardening básico (principio de mínimo privilegio), actualizaciones al día del sistema y aplicaciones, evitar software pirata, desactivar el autorun de USB, hacer backups periódicos fuera de línea y monitorizar anomalías con soluciones SIEM en entornos corporativos.
Ética, legalidad y entornos de prueba
Investigar rootkits sin autorización es ilegal y peligroso. Si haces pruebas, que sea en laboratorios aislados: máquinas virtuales sin salida a Internet o redes preparadas para ello. Antes de tocar nada en producción, asegúrate de tener copias de seguridad actuales y de que existe un plan de reversión.
Ten presente que ciertos rootkits intentan detectar herramientas como RootkitRevealer y “parar” su ocultación durante el escaneo para pasar inadvertidos. Por eso es tan valioso combinar análisis en vivo con análisis fuera de línea, y contrastar hallazgos con fuentes fiables.
Casos y recursos para profundizar
Casos célebres: Stuxnet demostró que un rootkit puede sabotear sistemas industriales sin levantar sospechas, Sony BMG instaló un rootkit de protección antipiratería en PCs de usuarios, LoJax inauguró los rootkits UEFI en estado salvaje y TDL-4/Alureon explotaron el arranque para persistir. También se han documentado campañas como “Watergate griego”, Flame o Scranos, enfocadas al espionaje y monetización.
Lecturas y utilidades: artículos técnicos de Sysinternals/Windows IT Pro, el libro “Rootkits: Subverting the Windows Kernel” (Hoglund & Butler), la colección de Phrack y Windows Internals para conocer la arquitectura de base. Para limpiar claves “raras”, recuerda herramientas como RegDelNull.
Contexto de la herramienta: RootkitRevealer nació para Windows XP/Server 2003 (32 bits) y hoy es más una referencia didáctica para entender el método de comparación “API vs crudo”. En sistemas modernos, combina su filosofía con medios de rescate actualizados y defensas de plataforma como Secure Boot.
Si te quedas con algo, que sea esto: compara siempre lo que dice la API con lo que hay realmente en disco/Registro, entiende por qué aparecen las discrepancias (no todo es malware), apóyate en herramientas de rescate cuando sospeches control a bajo nivel y blinda el arranque con medidas de plataforma; así cortarás las alas al malware sigiloso.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.