Volatility + pagefile.sys: emparejándolos para forense de memoria completo
20/5/2026 · 5 min de lectura
Volatility (y su hermano más reciente
MemProcFS) son las herramientas
estándar para forense de memoria en Windows. La mayoría de analistas
las usan contra un dump de RAM en solitario. Lo que se les escapa es
que ambas pueden leer pagefile.sys si se lo das — y hacerlo
expande dramáticamente lo que puedes recuperar.
Por qué Volatility no puede usar el pagefile solo
El trabajo de Volatility es recorrer las estructuras de datos del
kernel de una imagen de memoria capturada: listas EPROCESS,
page-table entries (PTEs), pools del kernel, buffers de red. Todo eso
vive en RAM — nada de eso está en el pagefile.
El pagefile por sí solo es solo contenido: frames crudos de memoria de 4 KB sin atribución. Volatility no sabe qué slot pertenece a qué proceso, a qué dirección virtual, ni siquiera qué tipo de memoria es (heap, stack, archivo mapeado).
Por eso herramientas autónomas como este parser toman un enfoque de carving — mirando el contenido en solitario vía firmas de bytes mágicos. Ver el post de limitaciones para la explicación completa.
Qué cambia cuando tienes ambos
Cuando le das a Volatility un dump de RAM y el pagefile correspondiente, puede:
- Recorrer las PTEs en RAM para averiguar a qué proceso y dirección virtual mapea cada slot del pagefile.
- Leer páginas paginadas bajo demanda durante la ejecución del
plugin — así que un escaneo de procesos, un
pslist, uncmdline, unvadinfo, undumpfilesobtienen todos el contenido completo incluso para regiones de memoria que se han paginado. - Ejecutar plugins que antes fallaban o eran parciales:
pstree,cmdline,dlllist,handles,consoles,cmdscan— todos pasan a estar completos.
En la práctica, el pagefile se monta como almacenamiento de respaldo para la imagen de memoria.
Sintaxis de Volatility 3
# Sin pagefile (el contenido paginado se pierde)
vol -f memory.dmp windows.pslist
# Con pagefile (el contenido paginado se trae)
vol -f memory.dmp \
--layer "Stacker.layer0:PageFile=pagefile.sys" \
windows.pslist
La sintaxis --layer te permite apilar una PagefileLayer sobre la
capa de memoria física, y la traducción de Volatility caerá a ella
cuando una PTE tenga el bit Pagefile puesto.
Nota: la CLI exacta para apilar capas de pagefile ha ido evolucionando
entre versiones menores de Volatility 3; consulta vol --help y la
ayuda -h de windows.info en tu build.
Sintaxis de Volatility 2
Legado pero todavía muy usado:
vol.py -f memory.dmp --profile=Win10x64_19041 \
--pagefile pagefile.sys \
pslist
El flag --pagefile funciona con la mayoría de perfiles Win64 / Win10.
Para perfiles más antiguos, el flag puede no estar soportado.
Sintaxis de MemProcFS
MemProcFS expone la superficie de análisis como un sistema de archivos
virtual en el que puedes hacer cd:
MemProcFS.exe -device memory.dmp -pagefile0 pagefile.sys
El parámetro pagefile0 acepta una ruta; pagefile1, pagefile2, …
pueden usarse para pagefiles adicionales (servidores multi-volumen).
Una vez montado, rutas como:
M:\pid\1234\virt2phys.txt
M:\pid\1234\memory.vmem
M:\pid\1234\modules\…
…devuelven contenidos con los datos paginados rellenados desde el pagefile de forma transparente.
Cuándo usar cada herramienta
| Objetivo | Mejor herramienta |
|---|---|
| Recorrer procesos, módulos, handles, conexiones de red | Volatility 3 (con --layer PageFile=) |
| Montar memoria como sistema de archivos; triage interactivo | MemProcFS |
| Carvear contenido de un pagefile sin un dump de RAM | Este parser |
| Buscar cadenas + IOCs en pagefile sin dump de RAM | Este parser |
| Descifrar secretos de LSASS desde RAM | pypykatz / mimikatz / plugins de Volatility |
Un triage completo de IR suele implicar las tres: captura de RAM para análisis vivo, pagefile para contenido paginado y un barrido de cadenas para los IOCs rápidos.
Workflow práctico
Un flujo razonable de principio a fin en un host Windows:
- Adquiere RAM (DumpIt, WinPMem, Magnet RAM Capture).
- Adquiere pagefile.sys (ver el post dedicado).
- Adquiere hiberfil.sys si existe (por qué) — es una segunda imagen de memoria más rica.
- Apaga, imagina el disco.
- Primera pasada: suelta el pagefile en este parser para un barrido rápido de IOCs — URLs, IPs, líneas de comandos, credenciales. Esta es la vía más rápida para responder "¿hay algo obviamente malo aquí?".
- Segunda pasada: ejecuta MemProcFS con el dump de RAM + pagefile. Recorre procesos, vuelca LSASS, comprueba conexiones de red, examina drivers.
- Tercera pasada: plugins de Volatility 3 para cualquier cosa que MemProcFS no cubra (plugins personalizados, extractores específicos para familias de malware).
- Cross-referencia los hallazgos carveados contra logs EDR / Sysmon / EVTX para anclaje temporal.
¿Y si solo tienes el pagefile?
Habitual en casos donde la captura en vivo no fue posible (bloqueado, BitLocker sin clave de recuperación, el atacante ya había apagado, etc.):
- Volatility / MemProcFS son en gran medida inútiles sin una imagen de RAM correspondiente.
- Este parser es tu herramienta. Carving + cadenas + artefactos producirá la señal más fuerte alcanzable desde el pagefile solo.
- La calidad de recuperación es solo-contenido, no contexto — ver las limitaciones.
¿Y si solo tienes el dump de RAM?
Habitual en forense de nube / VM, donde el pagefile vive en el volumen del hipervisor anfitrión y no es fácilmente accesible:
- Volatility / MemProcFS funcionan, pero cualquier dirección paginada devuelve cero.
- Algunos plugins fallan parcialmente; otros no se ven afectados (cualquier cosa que solo toque pools no-paginados del kernel).
- El pagefile es el suplemento que convierte una imagen de memoria parcial en una completa.
Los crash dumps como híbrido
MEMORY.DMP de un crash de kernel es estructuralmente similar a un
dump de RAM y Volatility lo lee de forma nativa (--profile=… más el
archivo). No incluye contenido del pagefile. Empáralo con
pagefile.sys igual que harías con una captura en vivo.
Relacionado
- Cómo adquirir pagefile.sys — obtener el archivo, para empezar.
- pagefile.sys vs hiberfil.sys vs swapfile.sys — qué hay en cada uno, qué capturar y cuándo.
- Limitaciones del análisis de pagefile.sys — por qué pagefile-solo + Volatility-sola son cada una solo la mitad del cuadro.