Saltar al contenido

Volatility 3: análisis forense de volcados de memoria RAM

    Blue Team y Forense Digital | unfantasmaenelsistema.com

    Cuando un sistema ha sido comprometido, el instinto de cualquier administrador es apagarlo. Es el error más costoso que puede cometer un analista forense: al apagar el sistema, toda la evidencia volátil desaparece para siempre. Los procesos en ejecución, las conexiones de red activas, el código inyectado en memoria, las credenciales cargadas en lsass.exe, los comandos ejecutados en PowerShell: todo se evapora con la alimentación.

    Volatility es el framework de análisis forense de memoria más usado en el mundo, open source, escrito en Python, y capaz de extraer prácticamente cualquier artefacto forense de un volcado de RAM. La versión 3, reescrita desde cero, elimina la necesidad de perfiles manuales y añade soporte nativo para Linux y macOS. Es la herramienta central del arsenal de cualquier analista de blue team, y en este artículo vamos a recorrerla de principio a fin.

    Cubriremos desde cómo capturar correctamente un volcado de memoria hasta el workflow completo de análisis de un sistema comprometido: procesos ocultos, conexiones de red a C2, código inyectado, persistencia en el registro, extracción de credenciales y búsqueda de patrones de malware con YARA.

    1. Por qué la RAM es la fuente forense más valiosa

    La memoria RAM contiene el estado completo y en tiempo real de un sistema en ejecución. A diferencia del disco, que guarda lo que fue, la RAM guarda lo que es ahora mismo. Para un atacante sofisticado, vivir en memoria (living off the land) sin escribir nada al disco es el objetivo: el malware fileless es la técnica de evasión más efectiva contra el antivirus tradicional. Pero en memoria, sigue siendo visible.

    El RFC 3227 (Guidelines for Evidence Collection and Archiving) establece el orden de volatilidad: la memoria RAM debe capturarse antes que cualquier otra evidencia, porque es la que desaparece primero. Después van los procesos y conexiones de red, seguidos del disco y los logs. Esta priorización guía el primer minuto de respuesta ante un incidente.

    2. Cómo obtener un volcado de memoria

    La calidad del análisis depende directamente de la calidad del volcado. Un volcado incompleto o corrupto producirá errores en los plugins de Volatility. Las mejores prácticas son: usar herramientas validadas forense mente, no escribir el volcado al disco del sistema comprometido (puede sobreescribir evidencia), y calcular el hash del archivo inmediatamente después de capturarlo para garantizar la integridad.

    3. Arquitectura de Volatility 3

    La diferencia más importante entre Volatility 2 y Volatility 3 es la eliminación de perfiles manuales. En v2, el primer paso era siempre ejecutar imageinfo o kdbgscan para identificar el perfil correcto, y a veces había que construirlo manualmente para kernels poco comunes. En v3, el framework usa ISF (Intermediate Symbol Files): archivos que describen las estructuras de datos del kernel de cada versión de Windows, Linux y macOS. Volatility los descarga automáticamente al vuelo según el sistema detectado.

    3.1 Instalación

    3.2 Primer análisis: identificar el sistema

    4. Análisis de procesos

    El análisis de procesos es siempre el primer paso sustantivo. La clave es usar al menos dos plugins complementarios: pslist lee la lista enlazada del kernel (que puede ser manipulada por rootkits) y psscan escanea directamente la memoria buscando estructuras EPROCESS (mucho más difícil de falsificar). La diferencia entre ambos revela procesos ocultos.

    4.1 Árbol de procesos: detectar relaciones anómalas

    El árbol de procesos (pstree) es donde se revelan muchas infecciones. Los atacantes frecuentemente usan documentos de Office con macros maliciosas, que generan hijos inesperados: word.exe → cmd.exe → powershell.exe es una secuencia que nunca debería ocurrir en un sistema normal.

    4.2 Línea de comandos y DLLs cargadas

    4.3 Handles: recursos abiertos por cada proceso

    5. Conexiones de red

    El plugin netscan es especialmente valioso porque muestra no solo las conexiones activas en el momento del volcado, sino también conexiones recientemente cerradas que todavía tienen sus estructuras en memoria. Un atacante que cierra la conexión de C2 unos segundos antes del volcado puede igualmente ser detectado.

    6. Registro de Windows desde memoria

    El registro de Windows es la base de datos de configuración del sistema operativo. Para un analista forense, las claves de persistencia son las más críticas: son el mecanismo que usa el malware para sobrevivir a un reinicio del sistema. Volatility permite leer los hives del registro directamente desde la memoria, incluso si el atacante intentó borrar las trazas en disco.

    6.1 Extracción de hashes de contraseñas

    Con los hives SAM y SYSTEM cargados en memoria, Volatility puede extraer los hashes NTLM de todas las cuentas locales. Esto es el equivalente forense de lo que hace Mimikatz en un sistema vivo, pero sin ejecutar ningún código en el sistema comprometido.

    7. Detección de código inyectado: malfind

    La inyección de código en procesos legítimos es una de las técnicas de evasión más usadas. El malware inyecta su shellcode o una DLL completa en el espacio de memoria de un proceso confiable (explorer.exe, svchost.exe, lsass.exe) para ejecutarse bajo su identidad y evadir las soluciones de seguridad que confían en el proceso padre.

    7.1 Técnicas de inyección que detecta malfind

    • Process Hollowing: crear un proceso legítimo suspendido, vaciar su código y reemplazarlo con el payload. El proceso aparece como svchost.exe pero ejecuta código malicioso.
    • DLL Injection: forzar a un proceso a cargar una DLL maliciosa mediante CreateRemoteThread + LoadLibrary.
    • Reflective DLL Injection: DLL que se carga a sí misma en memoria sin pasar por el cargador de Windows. Nunca toca el disco.
    • Shellcode Injection: inyectar shellcode directamente en el espacio de memoria de un proceso. No tiene cabecera PE completa.
    • Process Doppelgänging: técnica avanzada que abusa de las transacciones NTFS para cargar código malicioso como si fuera un archivo legítimo.

    8. Extraer archivos y volcados de procesos

    El kernel de Windows cachea en RAM los archivos que han sido abiertos recientemente. Volatility puede recuperar estos archivos del cache de memoria incluso si el atacante los borró del disco. Esta es la forma de recuperar el payload original, los scripts de PowerShell ejecutados, o los archivos de configuración del malware.

    9. Análisis en sistemas Linux

    Volatility 3 tiene soporte completo para Linux, con plugins equivalentes a los de Windows. El análisis de volcados Linux es especialmente importante para detectar rootkits de módulo del kernel (LKM): malware que se instala como módulo del kernel para ocultar procesos, archivos y conexiones. Los plugins check_modules y check_syscall los detectan comparando las estructuras en memoria contra los valores esperados.

    10. Búsqueda de malware con YARA

    YARA es el lenguaje de reglas de detección de malware más usado en la industria. Volatility permite aplicar reglas YARA directamente sobre la memoria, sin necesidad de extraer primero los dumps. Esto es enormemente potente: puedes buscar familias de malware conocidas, strings de C2 específicas, o cualquier patrón que identifique un indicador de compromiso.

    11. Referencia completa de plugins

    12. Workflow completo de análisis forense

    12.1 Documentar los IOCs encontrados

    Al final del análisis, todos los indicadores de compromiso deben documentarse en un formato estructurado para su uso en detección y respuesta. Los IOCs extraídos de un volcado de memoria son especialmente valiosos porque corresponden a una actividad activa en el momento del incidente, no a artefactos históricos.

    Conclusión

    El análisis forense de memoria es una disciplina que cambia radicalmente la capacidad de respuesta ante incidentes. Con Volatility 3, lo que antes requería herramientas comerciales de precio prohibitivo está al alcance de cualquier analista con un volcado de RAM y una sesión de terminal. La clave es la metodología: siempre capturar antes de apagar, documentar cada paso, y correlacionar los artefactos encontrados entre diferentes plugins.

    El siguiente nivel después de dominar Volatility es integrar el análisis de memoria con otras fuentes de evidencia: logs de eventos de Windows (Evtx), artefactos de disco con Autopsy, y tráfico de red capturado con Wireshark. La correlación entre estas tres fuentes —memoria, disco y red— da una imagen forense completa que raramente puede ser manipulada por un atacante sin dejar trazas en al menos una de ellas.

    Para practicar, los desafíos de MemLabs en GitHub ofrecen volcados reales con escenarios progresivos en complejidad. Y la plataforma BlueTeamLabs Online tiene laboratorios guiados con Volatility donde puedes practicar el análisis de incidentes reales en un entorno seguro.

    unfantasmaenelsistema.com | Seguridad, sistemas y todo lo que no debería funcionar (pero funciona)

    Resumen de privacidad

    Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.