Saltar al contenido principal

5 min
[Espacio publicitario — AdSense]

Volatility: Guía Completa de Análisis Forense de Memoria RAM

Por qué la memoria volátil es la evidencia más valiosa

Cuando un atacante compromete un sistema, deja rastros. Pero muchos de esos rastros están en la memoria RAM, no en el disco. El malware fileless, los rootkits y las inyecciones de código viven exclusivamente en memoria volátil. Si apagas la máquina, esa evidencia desaparece para siempre.

Volatility es el framework de código abierto más utilizado por investigadores forenses, equipos de respuesta a incidentes (IR) y analistas de SOC para extraer esa evidencia antes de que se pierda.

Qué puedes encontrar en la memoria

Tipo de evidencia Plugins de Volatility Caso de uso
Procesos activos y ocultos windows.pslist, windows.psscan Rootkits que ocultan procesos
Conexiones de red windows.netscan, windows.netstat Comunicaciones C2 activas
Código inyectado windows.malfind Malware fileless, process hollowing
Credenciales windows.hashdump, windows.lsadump Pass-the-hash, lateral movement
Comandos ejecutados windows.cmdline Investigación de actividades del atacante
Archivos en memoria windows.filescan, windows.dumpfiles Evidencia borrada del disco
Artefactos de persistencia windows.registry.printkey Keys de inicio, tareas programadas

Instalación rápida

# Volatility 3 (Python 3, última versión estable)
git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3
pip install -r requirements.txt

# Verificar
python vol.py --help

Flujo de análisis forense

1. Identificar el sistema operativo

python vol.py -f imagen.raw windows.info

Esto determina la versión exacta de Windows y los offsets de memoria necesarios para todos los análisis posteriores.

2. Listado de procesos

# Procesos normales (desde EPROCESS)
python vol.py -f imagen.raw windows.pslist

# Procesos ocultos (búsqueda en memoria cruda)
python vol.py -f imagen.raw windows.psscan

# Diferencias = posibles rootkits
diff pslist.txt psscan.txt

Señales de alerta:

  • Proceso que aparece en psscan pero no en pslist (oculto)
  • Proceso sin nombre o con nombre genérico inusual
  • Proceso padre inesperado (e.g., word.exe ejecuta cmd.exe)

3. Conexiones de red

# Conexiones activas
python vol.py -f imagen.raw windows.netscan

# Filtrar conexiones sospechosas
python vol.py -f imagen.raw windows.netscan | grep "ESTABLISHED" | grep -v "127.0.0.1"

4. Detección de malware con malfind

# Buscar código inyectado en procesos
python vol.py -f imagen.raw windows.malfind

# Extraer memoria del proceso sospechoso
python vol.py -f imagen.raw windows.memmap --pid 1234 --dump-dir ./evidence/

malfind busca regiones de memoria con permisos de ejecución que contienen código sospechoso. Es el plugin más importante para detectar amenazas fileless.

5. Recuperación de credenciales

# Hashes de contraseñas
python vol.py -f imagen.raw windows.hashdump

# LSA secrets
python vol.py -f imagen.raw windows.lsadump

6. Comandos ejecutados

python vol.py -f imagen.raw windows.cmdline

Busca comandos con certutil, bitsadmin, powershell o cmd que indiquen descargas de malware o ejecución remota.

Detectando rootkits

La comparación entre pslist y psscan es la técnica más efectiva:

# Listado normal
python vol.py -f imagen.raw windows.pslist > pslist.txt

# Búsqueda profunda en memoria
python vol.py -f imagen.raw windows.psscan > psscan.txt

# Procesos ocultos
comm -23 <(sort pslist.txt) <(sort psscan.txt)

Los rootkits eliminan sus procesos del listado normal pero no pueden borrar las entradas de la memoria física que psscan analiza.

Script de automatización

#!/bin/bash
# Script de análisis forense automatizado
IMAGE="$1"
OUTPUT_DIR="./forensic_report_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$OUTPUT_DIR"

# Hash de integridad
sha256sum "$IMAGE" > "$OUTPUT_DIR/hash_original.txt"

# Análisis completo
python vol.py -f "$IMAGE" windows.info > "$OUTPUT_DIR/system_info.txt"
python vol.py -f "$IMAGE" windows.pslist > "$OUTPUT_DIR/processes.txt"
python vol.py -f "$IMAGE" windows.netscan > "$OUTPUT_DIR/network.txt"
python vol.py -f "$IMAGE" windows.cmdline > "$OUTPUT_DIR/commands.txt"
python vol.py -f "$IMAGE" windows.malfind > "$OUTPUT_DIR/malware.txt"
python vol.py -f "$IMAGE" windows.hashdump > "$OUTPUT_DIR/credentials.txt"

echo "Análisis completado: $OUTPUT_DIR/"

Cadena de custodia

En investigación forense, la integridad de la evidencia es sagrada:

  1. Documentar quién, cuándo y cómo se adquirió la imagen
  2. Calcular hash (MD5/SHA256) de la imagen original
  3. Analizar con herramientas validadas
  4. Documentar cada paso y hallazgo
  5. Almacenar evidencia de forma segura

Nunca trabajes sobre la imagen original. Siempre usa copias.

Volatility vs otras herramientas

Herramienta Uso principal Diferencia con Volatility
Rekall Análisis de memoria Fork de Volatility 2, menos activo
LiME Adquisición de memoria (Linux) Solo captura, no análisis
WinPmem Adquisición de memoria (Windows) Solo captura, no análisis
FTK Imager Adquisición forense Más enfocado en disco que en RAM

Certificaciones que evalúan Volatility

  • GCFE (GIAC Certified Forensics Examiner): Análisis forense de Windows, incluyendo memoria volátil
  • GCIH (GIAC Certified Incident Handler): Respuesta a incidentes con análisis de memoria
  • GCFA (GIAC Certified Forensic Analyst): Análisis forense avanzado
  • CHFI (Computer Hacking Forensic Investigator): Investigación forense de hacking

Conclusión

El análisis forense de memoria es una de las habilidades más demandadas en ciberseguridad. Volatility es la herramienta que necesitas dominar para detectar amenazas que evaden todos los controles tradicionales.

La clave: captura la memoria ANTES de apagar la máquina. Una vez apagada, esa evidencia se pierde para siempre.


Herramientas relacionadas: Nmap (reconocimiento), Wireshark (análisis de red), TCPDump (captura de tráfico)

Artículos relacionados:

Aviso legal: Este contenido es estrictamente educativo. CyberFlows no apoya actividades ilegales. Úsalo solo en entornos autorizados.

[Espacio publicitario — AdSense]

Artículos Relacionados

Newsletter de Ciberseguridad

Resumen semanal con los mejores artículos, CVEs críticos y tendencias del mercado. Sin spam.

🔒 Tu email no se compartirá. Puedes darte de baja en cualquier momento.