Comandos de Volatility


Instalación y configuración paso a paso

  1. Descarga de Volatility: Clona el repositorio oficial desde GitHub.

  2. Entorno virtual e instalación de dependencias:

    # Crear y activar entorno virtual
    python -m venv venv
    .\venv\Scripts\activate
     
    # Instalar dependencias
    pip install -r requirements.txt
  3. Verificación de la instalación: Comprueba que Volatility responde correctamente:

    python vol.py -h

Uso avanzado y opciones más utilizadas

Procesos en ejecución

python vol.py -f <dump.mem> --profile=<WinProfile> pslist

Conexiones de red

python vol.py -f <dump.mem> --profile=<WinProfile> netscan

Detección de malware (malfind)

python vol.py -f <dump.mem> --profile=<WinProfile> malfind

Módulos del kernel cargados

python vol.py -f <dump.mem> --profile=<WinProfile> modules

Información del sistema

python vol.py -f <dump.mem> --profile=<WinProfile> info

Errores comunes

  • Problemas de perfil: Si el perfil no coincide, los resultados serán incorrectos. Identifícalo primero con:

    python vol.py -f <dump.mem> imageinfo
  • Falta de permisos: Algunos comandos requieren privilegios de administrador. Ejecuta con el nivel de acceso necesario.

  • Archivos corruptos: Verifica que el volcado de memoria no esté corrupto antes del análisis.


Checklist pre-análisis

Antes de analizar un volcado con Volatility, verifica:

  • Tienes un volcado de memoria completo y no corrupto
  • Has determinado el perfil correcto del sistema
  • Las dependencias están instaladas y actualizadas
  • Has revisado los plugins relevantes y sus funcionalidades

Workflow práctico: análisis de un MemoryDump.mem

1. Activar el entorno virtual

.\venv\Scripts\activate

Verás (venv) al inicio de la línea de comandos si se activó correctamente.

2. Instalar dependencias adicionales

pip install pefile capstone yara-python pycryptodome jsonschema

3. Identificar el sistema

python vol.py -f MemoryDump.mem windows.info

4. Listar procesos

python vol.py -f MemoryDump.mem windows.pslist

5. Ver conexiones de red

python vol.py -f MemoryDump.mem windows.netscan

A. Extraer un archivo sospechoso

python vol.py -f MemoryDump.mem -o . windows.dumpfiles --pid 5896

B. Ver comandos ejecutados en consola

python vol.py -f MemoryDump.mem windows.cmdline

Diagnóstico avanzado

¿Qué archivos tocaba el malware?

python vol.py -f MemoryDump.mem windows.handles --pid 5896

Registro de programas ejecutados (UserAssist)

python vol.py -f MemoryDump.mem windows.registry.userassist

Información de VAD del proceso

Si handles no muestra archivos, el proceso puede estar trabajando en secciones de memoria (VAD):

python vol.py -f MemoryDump.mem windows.vadinfo --pid 5896

Buscar mutantes (Mutex) — IOC

Muchos malwares usan mutex para evitar ejecutarse dos veces. Esto genera IOCs:

python vol.py -f MemoryDump.mem windows.mutantscan

Listar colmenas del registro

python vol.py -f MemoryDump.mem windows.registry.hivelist

Leer claves de ejecución automática (Run keys)

python vol.py -f MemoryDump.mem windows.registry.printkey --key "Software\Microsoft\Windows\CurrentVersion\Run"

Escaneo YARA en procesos sospechosos

python vol.py -f MemoryDump.mem windows.vadyarascan --pid 5896

DLLs cargadas por un proceso

python vol.py -f MemoryDump.mem windows.dlllist --pid 5896

Notas técnicas

  • Handles vacío: El proceso puede haber cerrado sus descriptores tras cargarse en memoria, o ser un proceso “zombie” cuyas estructuras ya fueron liberadas por el kernel.
  • Error en UserAssist: Encountered _CELL_DATA instead of _CM_KEY_NODE indica una discrepancia entre la tabla de símbolos (PDB) y la estructura del registro en esa build de Windows. Es un error del plugin, no de la instalación.
  • Mutex como IOC: Si encuentras un mutex asociado al proceso sospechoso, tienes una prueba irrefutable para crear una regla de detección.