Herramientas

Volatility Framework

Framework open-source de análisis forense de memoria RAM, considerado el estándar mundial para la extracción y análisis de artefactos volátiles. Permite recuperar procesos en ejecución, conexiones de red, credenciales en memoria, malware fileless y evidencia que desaparece al apagar el dispositivo.

10 min de lectura

Volatility Framework

En el 81% de las intrusiones detectadas entre julio 2024 y junio 2025, los atacantes no utilizaron malware residente en disco (CrowdStrike Global Threat Report 2025). Estos ataques “malware-free” operan exclusivamente en memoria RAM, dejando cero artefactos en el disco duro. Volatility Framework es la herramienta forense open-source más utilizada del mundo para analizar estos ataques, empleada por fuerzas de seguridad, agencias de inteligencia, academias forenses y peritos informáticos en más de 100 países. La versión Volatility 3 v2.26.0, publicada en diciembre 2025, alcanzó la paridad funcional con Volatility 2, marcando la depreciación oficial de la versión anterior.

Definición técnica

Volatility Framework es un framework de análisis forense de memoria escrito en Python que permite extraer, analizar e interpretar artefactos digitales contenidos en volcados (dumps) de memoria RAM de sistemas Windows, Linux, macOS y Android. Desarrollado inicialmente en 2007 por Aaron Walters y mantenido por la Volatility Foundation, se ha convertido en el estándar de facto para el análisis de memoria forense.

Arquitectura del framework:

┌──────────────────────────────────────────────────┐
│                 Volatility 3                      │
├──────────────────────────────────────────────────┤
│  Interfaz CLI                                     │
│  vol -f memoria.raw windows.pslist                │
├──────────────────────────────────────────────────┤
│  Framework Core                                   │
│  - Autodetección de perfil OS                     │
│  - Sistema de plugins modular                     │
│  - Renderizadores (tabla, JSON, CSV)              │
├──────────────────────────────────────────────────┤
│  Plugins por OS                                   │
│  ├── windows.* (pslist, netscan, malfind...)     │
│  ├── linux.* (pslist, bash, mount...)            │
│  ├── mac.* (pslist, netstat, bash...)            │
│  └── android.* (dalvik, packages...)             │
├──────────────────────────────────────────────────┤
│  Symbol Tables                                    │
│  - ISF (Intermediate Symbol Format)               │
│  - Autodescargas desde Symbol Server              │
└──────────────────────────────────────────────────┘

Diferencias clave Volatility 2 vs Volatility 3:

CaracterísticaVolatility 2Volatility 3
LenguajePython 2 (deprecated)Python 3
PerfilesPerfil manual obligatorioAutodetección por símbolos
RendimientoLento en dumps grandesSignificativamente más rápido
EstadoDeprecado (dic 2025)Versión activa
PluginsExtenso catálogoParidad funcional alcanzada
Volatility 2 deprecado

Desde la release v2.26.0 de diciembre 2025, Volatility 3 ha alcanzado paridad funcional con Volatility 2. La Volatility Foundation recomienda migrar completamente a Volatility 3 para nuevos análisis forenses.


Plugins esenciales para análisis forense

Los plugins de Volatility permiten extraer categorías específicas de artefactos de memoria:

Procesos y ejecución

# Listar procesos activos (incluye PID, PPID, timestamps)
vol -f memoria.raw windows.pslist

# Árbol de procesos (relaciones padre-hijo)
vol -f memoria.raw windows.pstree

# Procesos ocultos (detección rootkits)
vol -f memoria.raw windows.psscan

# Líneas de comando ejecutadas
vol -f memoria.raw windows.cmdline

# DLLs cargadas por cada proceso
vol -f memoria.raw windows.dlllist --pid 4892

Red y conexiones

# Conexiones de red activas y puertos en escucha
vol -f memoria.raw windows.netscan

# Sockets abiertos por proceso
vol -f memoria.raw windows.netstat

Detección de malware

# Regiones de memoria sospechosas (inyección de código)
vol -f memoria.raw windows.malfind

# Escaneo con reglas YARA
vol -f memoria.raw yarascan --yara-file reglas_malware.yar

# Drivers del kernel (detección rootkits)
vol -f memoria.raw windows.driverscan

# Hooks de SSDT (System Service Descriptor Table)
vol -f memoria.raw windows.ssdt

Credenciales y registros

# Hashes de contraseñas (SAM + SYSTEM)
vol -f memoria.raw windows.hashdump

# Credenciales en caché (LSA Secrets)
vol -f memoria.raw windows.lsadump

# Registro de Windows desde memoria
vol -f memoria.raw windows.registry.hivelist

Filesystem y ficheros

# Ficheros abiertos en memoria
vol -f memoria.raw windows.filescan

# Volcado de fichero específico desde memoria
vol -f memoria.raw windows.dumpfiles --virtaddr 0xfa8001a23060

# Historial del portapapeles
vol -f memoria.raw windows.clipboard

Flujo de trabajo forense con Volatility

  1. Adquisición del volcado de memoria

    Antes de poder analizar con Volatility, se necesita un volcado de la memoria RAM del sistema investigado. Herramientas de adquisición:

    • FTK Imager: Dump de memoria en formato raw (Windows)
    • WinPmem: Adquisición ligera de memoria (Windows)
    • LiME: Linux Memory Extractor para sistemas Linux
    • AVML: Azure Virtual Machine Live Memory (entornos cloud)
    • osxpmem: macOS memory acquisition
  2. Identificación del sistema operativo

    Volatility 3 autodetecta el sistema operativo y versión a partir de las estructuras internas de la memoria. En Volatility 2, era necesario especificar manualmente el perfil (ej: --profile=Win10x64_19041).

  3. Análisis de procesos

    Listar todos los procesos con pslist y pstree. Comparar con psscan para detectar procesos ocultos (técnica de rootkit). Identificar procesos sospechosos por: nombre inusual, PID/PPID anómalo, timestamps fuera de rango, ubicación atípica del ejecutable.

  4. Análisis de red

    Identificar conexiones de red activas con netscan. Buscar conexiones a IPs externas sospechosas, puertos no estándar, y correlacionar con los procesos que las originaron.

  5. Detección de código inyectado

    Ejecutar malfind para identificar regiones de memoria con permisos de lectura+escritura+ejecución (RWX), indicativo de inyección de código. Extraer el código sospechoso para análisis posterior.

  6. Correlación y timeline

    Combinar todos los artefactos en un timeline cronológico para reconstruir la secuencia de eventos del incidente.


Caso práctico: detección de malware fileless en servidor empresarial

Nota: El siguiente caso es un ejemplo compuesto y anonimizado basado en tipologías reales de peritaje informático. No representa un caso específico real.

Contexto: Una empresa logística de Valencia detectó transferencias bancarias no autorizadas por 120.000 EUR durante el fin de semana. El servidor de facturación no mostraba signos de compromiso en el análisis de disco: ni malware en disco, ni archivos sospechosos, ni cambios en el registro. El antivirus no reportó detecciones.

Investigación forense con Volatility:

  1. Adquisición de memoria: Se capturó un volcado de 32 GB de la RAM del servidor Windows Server 2019 con FTK Imager antes de apagar la máquina
  2. Análisis de procesos (pslist + pstree): Se identificó un proceso svchost.exe con PID 7832 cuyo proceso padre (PPID) era powershell.exe en lugar de services.exe (comportamiento anómalo)
  3. Análisis de inyección (malfind): Se detectó código inyectado con permisos RWX en el espacio de memoria de svchost.exe. El código era un implante Cobalt Strike Beacon
  4. Conexiones de red (netscan): El proceso falso svchost.exe mantenía una conexión HTTPS activa a una IP de un servidor C2 alojado en Rusia
  5. Credenciales (hashdump + lsadump): Se extrajeron hashes NTLM que revelaron que el atacante había obtenido las credenciales del administrador de dominio
  6. Líneas de comando (cmdline): Se recuperaron los comandos PowerShell ejecutados por el atacante, incluyendo el script de transferencia bancaria

Resultado: Sin el análisis de memoria con Volatility, el ataque habría sido indetectable (el malware operaba exclusivamente en RAM). El informe pericial documentó todo el timeline del ataque, permitiendo al banco reversar las transferencias y a las fuerzas de seguridad rastrear la infraestructura C2.


Relevancia probatoria:

  • LECrim Art. 363: El juez puede acordar la obtención de muestras y datos que requieran intervención corporal o análisis técnicos. El volcado de memoria RAM se equipara a una adquisición forense digital
  • LECrim Art. 588 sexies: Registro de dispositivos informáticos. La adquisición de memoria RAM requiere autorización judicial cuando el equipo está en posesión de un investigado
  • Art. 326 LEC: Documentos privados en formato electrónico. Los resultados de Volatility, debidamente documentados con cadena de custodia, tienen valor probatorio como pericia informática

Estándares aplicables:

  • ISO/IEC 27037:2012: Directrices para la adquisición de evidencia digital volátil (la memoria RAM es evidencia volátil por definición)
  • RFC 3227: Guidelines for Evidence Collection and Archiving. Establece el “orden de volatilidad”: la memoria RAM debe capturarse antes que cualquier dato de disco
  • UNE 71506:2013: Metodología para análisis forense de evidencias electrónicas

RGPD y protección de datos:

  • Los volcados de memoria pueden contener datos personales (contraseñas, emails, documentos abiertos). Su tratamiento requiere base jurídica legítima (investigación penal, interés legítimo en auditoría interna)
  • El perito debe aplicar el principio de minimización, analizando solo los datos relevantes para la investigación
Evidencia volátil

La memoria RAM se pierde al apagar el equipo. Si se sospecha de un incidente de seguridad, la captura de memoria debe ser la PRIMERA acción forense, antes del análisis de disco, antes del apagado, y antes de cualquier modificación del sistema (RFC 3227).


Conceptos relacionados


Preguntas frecuentes

¿Volatility es gratuito?

Si. Volatility Framework es software libre y de código abierto bajo licencia GNU GPL v2. Puede descargarse gratuitamente desde el repositorio oficial de GitHub (volatilityfoundation/volatility3). No requiere licencia comercial ni suscripción, lo que lo convierte en herramienta accesible para cualquier perito informático.

¿Puede Volatility analizar la memoria de un teléfono móvil?

Volatility 3 tiene soporte experimental para Android (análisis de procesos Dalvik y paquetes instalados), pero la captura de memoria en dispositivos móviles es extremadamente compleja y generalmente requiere acceso root o herramientas hardware especializadas. Para forense móvil, es más común utilizar herramientas como Cellebrite UFED o MSAB XRY que incluyen capacidades de análisis de memoria.

¿Cómo se captura la memoria RAM de un servidor para analizarla con Volatility?

Depende del sistema operativo. En Windows, herramientas como FTK Imager, WinPmem o Belkasoft RAM Capturer pueden generar un volcado en formato raw o crash dump. En Linux, LiME (Linux Memory Extractor) crea módulos del kernel para captura. En entornos cloud (AWS/Azure), pueden utilizarse herramientas nativas como AVML. El volcado debe generarse en un medio externo, nunca en el propio disco del sistema investigado.

¿Los resultados de Volatility son admisibles en un tribunal español?

Si, siempre que se cumplan los estándares de cadena de custodia. El perito debe documentar: cómo y cuándo se adquirió el volcado de memoria, hash SHA-256 del fichero de volcado, versión de Volatility utilizada, plugins ejecutados y parámetros, y que el análisis se realizó sobre una copia del volcado original. La naturaleza open-source de Volatility refuerza la transparencia y reproducibilidad del análisis.


Artefactos de memoria más valiosos en investigaciones forenses

Artefactos recuperables exclusivamente de memoria RAM:

ArtefactoPlugin VolatilityValor forense
Procesos en ejecuciónpslist, pstreeIdentificar malware activo y procesos sospechosos
Procesos ocultospsscanDetectar rootkits que ocultan procesos del kernel
Conexiones de rednetscanIdentificar comunicaciones C2 y exfiltración
Código inyectadomalfindDetectar inyección de shellcode y DLL injection
Contraseñas en clarohashdump, lsadumpRecuperar credenciales usadas por el atacante
Historial de comandoscmdline, cmdscanReconstruir las acciones del atacante
Ficheros abiertosfilescanIdentificar documentos accedidos por el malware
Claves de cifradocustom pluginsRecuperar claves AES/RSA activas en RAM
ClipboardclipboardContenido copiado por el atacante
Sesiones RDPsessionsConexiones de escritorio remoto activas

Por qué la memoria RAM es irremplazable:

Muchos de estos artefactos no existen en ningún otro lugar. Un malware fileless que opera exclusivamente en memoria no deja rastro en el disco duro. Las contraseñas en texto plano almacenadas temporalmente en la memoria del proceso LSASS de Windows se borran al apagar el equipo. Las conexiones de red activas desaparecen. Por eso, en la respuesta a incidentes, la captura de memoria RAM es la operación forense más urgente.


Volatility en la práctica: scripts y automatización

Para peritajes que requieren análisis repetitivos, Volatility 3 ofrece una API de Python potente para automatización:

Ejemplo de script de triaje automático:

#!/usr/bin/env python3
"""
Script de triaje forense con Volatility 3.
Ejecuta los plugins más relevantes y genera informe.
"""
import subprocess
import hashlib
import datetime

DUMP = "memoria.raw"
OUTPUT = f"triaje_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}"

plugins = [
    "windows.pslist",
    "windows.psscan",
    "windows.netscan",
    "windows.malfind",
    "windows.cmdline",
    "windows.dlllist",
    "windows.svcscan",
]

for plugin in plugins:
    output_file = f"{OUTPUT}/{plugin}.txt"
    cmd = f"vol -f {DUMP} {plugin} > {output_file}"
    subprocess.run(cmd, shell=True)
    print(f"[OK] {plugin}")

Este tipo de automatización permite al perito realizar un triaje completo de un volcado de memoria en minutos, identificando rápidamente los artefactos que requieren análisis manual profundo.


Referencias y fuentes

  1. Volatility Foundation - “The Volatility Framework”, sitio oficial. volatilityfoundation.org

  2. CrowdStrike - “2025 Global Threat Report: 81% of intrusions are malware-free”. crowdstrike.com

  3. GitHub - “volatilityfoundation/volatility3”, repositorio oficial Volatility 3. github.com/volatilityfoundation/volatility3

  4. SANS Institute - “FOR508: Advanced Incident Response, Threat Hunting, and Digital Forensics”, curso que utiliza Volatility extensivamente. sans.org

  5. RFC 3227 - “Guidelines for Evidence Collection and Archiving”, orden de volatilidad. ietf.org/rfc/rfc3227

  6. ISO/IEC 27037:2012 - Directrices para identificación, recolección, adquisición y preservación de evidencia digital. iso.org

  7. NIST SP 800-86 - “Guide to Integrating Forensic Techniques into Incident Response”, National Institute of Standards and Technology. nist.gov

  8. Aaron Walters - “The Volatility Framework: Volatile memory artifact extraction utility”, publicación original. volatilityfoundation.org

  9. UNE 71506:2013 - Metodología para el análisis forense de evidencias electrónicas, AENOR. une.org

  10. Cyber Forensics Academy - “Best Free Digital Forensic Tools 2026 Updated List”. cyberforensicacademy.com

¿Necesitas un peritaje forense?

Si necesitas ayuda profesional con análisis forense digital, estoy aquí para ayudarte.

Solicitar Consulta Gratuita
Jonathan Izquierdo

Jonathan Izquierdo · Perito Forense

+15 años experiencia · AWS Certified

WhatsApp