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.
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ística | Volatility 2 | Volatility 3 |
|---|---|---|
| Lenguaje | Python 2 (deprecated) | Python 3 |
| Perfiles | Perfil manual obligatorio | Autodetección por símbolos |
| Rendimiento | Lento en dumps grandes | Significativamente más rápido |
| Estado | Deprecado (dic 2025) | Versión activa |
| Plugins | Extenso catálogo | Paridad 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 4892Red 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.netstatDetecció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.ssdtCredenciales 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.hivelistFilesystem 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.clipboardFlujo de trabajo forense con Volatility
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
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).Análisis de procesos
Listar todos los procesos con
pslistypstree. Comparar conpsscanpara 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.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.Detección de código inyectado
Ejecutar
malfindpara 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.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:
- 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
- Análisis de procesos (
pslist+pstree): Se identificó un procesosvchost.execon PID 7832 cuyo proceso padre (PPID) erapowershell.exeen lugar deservices.exe(comportamiento anómalo) - Análisis de inyección (
malfind): Se detectó código inyectado con permisos RWX en el espacio de memoria desvchost.exe. El código era un implante Cobalt Strike Beacon - Conexiones de red (
netscan): El proceso falsosvchost.exemantenía una conexión HTTPS activa a una IP de un servidor C2 alojado en Rusia - Credenciales (
hashdump+lsadump): Se extrajeron hashes NTLM que revelaron que el atacante había obtenido las credenciales del administrador de dominio - 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.
Marco legal en España
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
- Memoria RAM forense - Fundamentos teóricos del análisis de memoria volátil
- Volatilidad y memoria forense - Concepto de orden de volatilidad en evidencia digital
- Análisis de malware - Volatility es herramienta esencial para análisis de malware fileless
- YARA Rules - Reglas de detección que Volatility puede ejecutar sobre memoria
- Timeline forense - Volatility contribuye artefactos temporales al timeline global
- KAPE - Herramienta complementaria para triage de disco y memoria
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:
| Artefacto | Plugin Volatility | Valor forense |
|---|---|---|
| Procesos en ejecución | pslist, pstree | Identificar malware activo y procesos sospechosos |
| Procesos ocultos | psscan | Detectar rootkits que ocultan procesos del kernel |
| Conexiones de red | netscan | Identificar comunicaciones C2 y exfiltración |
| Código inyectado | malfind | Detectar inyección de shellcode y DLL injection |
| Contraseñas en claro | hashdump, lsadump | Recuperar credenciales usadas por el atacante |
| Historial de comandos | cmdline, cmdscan | Reconstruir las acciones del atacante |
| Ficheros abiertos | filescan | Identificar documentos accedidos por el malware |
| Claves de cifrado | custom plugins | Recuperar claves AES/RSA activas en RAM |
| Clipboard | clipboard | Contenido copiado por el atacante |
| Sesiones RDP | sessions | Conexiones 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
Volatility Foundation - “The Volatility Framework”, sitio oficial. volatilityfoundation.org
CrowdStrike - “2025 Global Threat Report: 81% of intrusions are malware-free”. crowdstrike.com
GitHub - “volatilityfoundation/volatility3”, repositorio oficial Volatility 3. github.com/volatilityfoundation/volatility3
SANS Institute - “FOR508: Advanced Incident Response, Threat Hunting, and Digital Forensics”, curso que utiliza Volatility extensivamente. sans.org
RFC 3227 - “Guidelines for Evidence Collection and Archiving”, orden de volatilidad. ietf.org/rfc/rfc3227
ISO/IEC 27037:2012 - Directrices para identificación, recolección, adquisición y preservación de evidencia digital. iso.org
NIST SP 800-86 - “Guide to Integrating Forensic Techniques into Incident Response”, National Institute of Standards and Technology. nist.gov
Aaron Walters - “The Volatility Framework: Volatile memory artifact extraction utility”, publicación original. volatilityfoundation.org
UNE 71506:2013 - Metodología para el análisis forense de evidencias electrónicas, AENOR. une.org
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
