Intermediovolatilitymemoriaforenseherramientascheatsheet

Volatility 3 Cheatsheet: Todos los Comandos Esenciales

Referencia completa de comandos de Volatility 3 para análisis de memoria forense. Plugins esenciales organizados por caso de uso: procesos, red, código inyectado, credenciales, malware y extracción de artefactos.

MalwareIntel Research··8 min lectura
Serie: Handbooks y Guías Gratuitas — Parte 4

Instalacion y primeros pasos

Volatility 3 es la herramienta de referencia para analisis de memoria forense. Permite extraer procesos, conexiones de red, codigo inyectado, credenciales y artefactos de malware de un dump de memoria RAM.

Instalacion

pip install volatility3

O desde el repositorio para la version de desarrollo:

git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3
pip install -e .

Sintaxis basica

vol -f <dump_file> <plugin_name> [opciones]

Volatility 3 autodetecta el sistema operativo del dump. Los plugins se organizan por OS: windows.*, linux.*, mac.*.

Verificar el dump

Antes de empezar el analisis, verifica que Volatility reconoce el dump:

vol -f memory.dmp windows.info

Este comando muestra informacion del sistema: version de Windows, arquitectura, hora del sistema y version del kernel.

Analisis de procesos

Los procesos son el punto de partida de cualquier analisis de memoria. Un proceso anomalo, un proceso oculto o un proceso con linea de comandos sospechosa son indicadores inmediatos de compromiso.

Listar procesos

vol -f memory.dmp windows.pslist

Lista todos los procesos activos con PID, PPID, nombre, threads, handles y timestamps de creacion. Equivalente a Task Manager pero con mas detalle y sin posibilidad de ocultacion por rootkits de usuario.

Arbol de procesos

vol -f memory.dmp windows.pstree

Muestra la jerarquia padre-hijo de los procesos. Fundamental para detectar anomalias: un cmd.exe hijo de winword.exe es altamente sospechoso. Un powershell.exe hijo de wmiprvse.exe sugiere ejecucion remota via WMI.

Detectar procesos ocultos

vol -f memory.dmp windows.psscan

Escanea la memoria buscando estructuras EPROCESS sin recorrer la lista enlazada del kernel. Detecta procesos que un rootkit haya desenlazado de la lista activa. Compara los resultados con pslist: cualquier proceso que aparezca en psscan pero no en pslist es potencialmente oculto.

Linea de comandos de procesos

vol -f memory.dmp windows.cmdline

Muestra la linea de comandos completa con la que se lanzo cada proceso. Critico para detectar ejecucion de malware: comandos PowerShell codificados en base64, rutas de ejecucion inusuales (TEMP, AppData), parametros sospechosos.

DLLs cargadas por proceso

vol -f memory.dmp windows.dlllist --pid <PID>

Lista todas las DLLs cargadas por un proceso especifico con su ruta completa. Busca DLLs cargadas desde ubicaciones inusuales (TEMP, descargas) o DLLs con nombres que imitan DLLs legitimas del sistema.

Handles abiertos

vol -f memory.dmp windows.handles --pid <PID>

Lista todos los handles (ficheros, claves de registro, mutex, pipes, threads) abiertos por un proceso. Los mutex con nombres especificos son indicadores fiables de familias de malware conocidas.

Analisis de red

Las conexiones de red en memoria revelan comunicaciones C2 activas en el momento del dump. Es informacion que puede no estar disponible en logs de red si el trafico estaba cifrado o si el malware limpio sus trazas.

Conexiones de red activas

vol -f memory.dmp windows.netscan

Lista todas las conexiones TCP/UDP activas y en escucha con la IP local, IP remota, puerto, estado y el PID del proceso propietario. Busca conexiones a IPs externas desde procesos que no deberian tener conexiones de red (notepad.exe, calc.exe).

Conexiones por proceso

vol -f memory.dmp windows.netstat

Similar a netscan pero organizado por proceso. Util para correlacionar rapidamente que procesos tienen conexiones externas.

Deteccion de codigo inyectado

La inyeccion de codigo es una de las tecnicas mas comunes de malware. Volatility tiene plugins especificos para detectar regiones de memoria con codigo ejecutable inyectado.

Detectar inyeccion

vol -f memory.dmp windows.malfind

Busca regiones de memoria con permisos PAGE_EXECUTE_READWRITE que no estan respaldadas por un fichero en disco. Esto indica codigo inyectado en la memoria de un proceso. Para cada hallazgo, muestra la direccion base, los permisos, un hexdump y un desensamblado de las primeras instrucciones.

Un hallazgo en malfind no es automaticamente malicioso (algunos programas legitimos usan memoria ejecutable dinamica), pero siempre requiere investigacion.

Buscar DLLs ocultas

vol -f memory.dmp windows.ldrmodules

Compara las listas de modulos cargados desde tres fuentes diferentes dentro del PEB (Process Environment Block). Una DLL que aparece en una lista pero no en otra puede indicar ocultacion.

Threads sospechosos

vol -f memory.dmp windows.threads

Lista todos los threads con su punto de entrada. Un thread cuyo punto de entrada no corresponde a ninguna DLL cargada legalmente sugiere inyeccion de codigo.

Analisis del registro

El registro de Windows es el mecanismo de persistencia mas comun para malware. Volatility puede extraer claves de registro directamente de la memoria.

Listar hives del registro

vol -f memory.dmp windows.registry.hivelist

Lista todos los hives del registro cargados en memoria con su ruta virtual y offset fisico.

Leer claves de registro

vol -f memory.dmp windows.registry.printkey --key "Software\Microsoft\Windows\CurrentVersion\Run"

Lee los valores de una clave especifica del registro. Las claves de Run/RunOnce son el primer lugar donde buscar persistencia.

Buscar en el registro

vol -f memory.dmp windows.registry.printkey --key "Software\Microsoft\Windows\CurrentVersion\RunOnce"

Complementa la busqueda de persistencia con RunOnce, que ejecuta el programa una vez al inicio y luego elimina la entrada.

Extraccion de artefactos

Volatility permite extraer ficheros, procesos y regiones de memoria del dump para analisis posterior.

Extraer un proceso como ejecutable

vol -f memory.dmp windows.pslist --pid <PID> --dump

Extrae el ejecutable del proceso desde la memoria. Util cuando el malware se borro del disco pero sigue en ejecucion en memoria.

Extraer ficheros del cache

vol -f memory.dmp windows.filescan

Lista todos los ficheros referenciados en las estructuras de memoria del kernel. Util para encontrar ficheros temporales, scripts descargados o configuraciones de malware.

vol -f memory.dmp windows.dumpfiles --virtaddr <address>

Extrae un fichero especifico del cache de memoria usando su direccion virtual.

Extraer regiones de memoria

vol -f memory.dmp windows.memmap --pid <PID> --dump

Extrae toda la memoria de un proceso. Genera un fichero grande pero permite analisis posterior con strings, YARA o herramientas de reversing.

Busqueda con YARA en memoria

vol -f memory.dmp windows.vadyarascan --yara-file rules.yar

Ejecuta reglas YARA contra la memoria de todos los procesos. Extremadamente potente para detectar malware conocido por patrones de strings, configuraciones C2 o firmas de familias especificas.

vol -f memory.dmp yarascan --yara-rules "rule test { strings: $a = \"MZ\" condition: $a }" --pid <PID>

Tambien puedes pasar reglas YARA inline para busquedas rapidas sin crear un fichero de reglas.

Credenciales y secretos

Hashes de passwords

vol -f memory.dmp windows.hashdump

Extrae los hashes NTLM de las cuentas locales del SAM. Requiere que el dump contenga la memoria del proceso lsass.exe.

LSA Secrets

vol -f memory.dmp windows.lsadump

Extrae secretos almacenados en LSA: passwords de cuentas de servicio, claves de cifrado de unidades, y otros secretos del sistema.

Cached credentials

vol -f memory.dmp windows.cachedump

Extrae credenciales de dominio cacheadas localmente. Utiles para el adversario si puede crackearlas offline.

Servicios y drivers

Servicios instalados

vol -f memory.dmp windows.svcscan

Lista todos los servicios de Windows con su estado, tipo de inicio, nombre del binario y cuenta de usuario. Busca servicios con binarios en ubicaciones inusuales o nombres sospechosos.

Drivers cargados

vol -f memory.dmp windows.modules

Lista los modulos del kernel cargados. Un driver que no corresponde a hardware instalado o a software conocido puede ser un rootkit de kernel.

vol -f memory.dmp windows.modscan

Escanea la memoria buscando estructuras de modulos del kernel. Similar a psscan vs pslist, detecta modulos que pueden haber sido ocultados.

Flujo de trabajo recomendado

Un analisis de memoria forense tipico sigue este orden:

1. Verificacion del dump

vol -f memory.dmp windows.info

2. Inventario de procesos

vol -f memory.dmp windows.pstree
vol -f memory.dmp windows.cmdline

3. Busqueda de procesos ocultos

vol -f memory.dmp windows.psscan

4. Conexiones de red

vol -f memory.dmp windows.netscan

5. Deteccion de inyeccion

vol -f memory.dmp windows.malfind

6. Persistencia

vol -f memory.dmp windows.svcscan
vol -f memory.dmp windows.registry.printkey --key "Software\Microsoft\Windows\CurrentVersion\Run"

7. YARA scan

vol -f memory.dmp windows.vadyarascan --yara-file malware_rules.yar

8. Extraccion de artefactos

vol -f memory.dmp windows.pslist --pid <sospechoso> --dump
vol -f memory.dmp windows.dumpfiles --virtaddr <address>

Equivalencias Volatility 2 a Volatility 3

Para analistas que migran desde Volatility 2, estas son las equivalencias de los plugins mas usados:

pslist se convierte en windows.pslist. psscan en windows.psscan. pstree en windows.pstree. netscan en windows.netscan. malfind en windows.malfind. dlllist en windows.dlllist. handles en windows.handles. procdump en windows.pslist --dump (con flag). memdump en windows.memmap --dump. filescan en windows.filescan. hashdump en windows.hashdump.

La diferencia principal es que Volatility 3 no necesita especificar el perfil con --profile. Autodetecta el sistema operativo y la version del kernel.

Conclusion

Volatility 3 es una herramienta esencial para cualquier analista de malware e incident responder. Este cheatsheet cubre los comandos mas importantes organizados por caso de uso. Imprimelo, tenlo a mano y usalo cada vez que analices un dump de memoria. Con la practica, los comandos se vuelven automaticos y tu velocidad de analisis aumenta dramaticamente.

Preguntas frecuentes

Artículos relacionados

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.