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.
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
Libros recomendados
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.