Adquisicion de Memoria RAM: Herramientas y Mejores Practicas
Guia practica de adquisicion forense de memoria RAM con WinPmem, DumpIt, LiME, AVML y FTK Imager. Tecnicas de cold boot, formatos de volcado, verificacion de integridad y mejores practicas para preservar evidencia volatil en investigaciones DFIR.
Por que la adquisicion es el paso mas critico
Un analisis de memoria solo es tan bueno como el volcado sobre el que trabaja. Si la adquisicion se hace tarde, mal o con una herramienta inadecuada, la evidencia se corrompe irreversiblemente. No hay forma de "repetir" una captura de memoria: el estado del sistema en el momento T ya no existe en T+1.
Este articulo cubre las herramientas principales para adquirir memoria en Windows y Linux, los formatos de volcado, las tecnicas especiales como cold boot, y las mejores practicas forenses que garantizan que el dump sea admisible como evidencia.
Principios de adquisicion forense de memoria
Minima alteracion
Es imposible capturar la memoria sin modificar el sistema. Ejecutar la herramienta de adquisicion carga codigo en memoria, crea un proceso, abre handles y consume recursos. Lo que se puede y debe hacer es:
- Usar herramientas con footprint minimo (binarios pequenos, sin instalacion).
- Documentar exactamente que herramienta se uso, su version y su hash SHA256.
- Registrar la hora exacta de inicio y fin de la captura.
- No ejecutar otras operaciones en el sistema durante la adquisicion.
Velocidad
Cada segundo que pasa, el sistema operativo reutiliza paginas de memoria. Procesos terminan, nuevos se inician, buffers se sobrescriben. La adquisicion debe ser lo mas rapida posible. En un sistema con 16 GB de RAM, una herramienta eficiente completa el volcado en 2 a 5 minutos.
Integridad verificable
El dump debe tener un hash (SHA256 minimo) calculado inmediatamente despues de la captura. Este hash permite demostrar que el fichero no ha sido modificado despues de la adquisicion. En un contexto legal, la cadena de custodia del dump de memoria sigue las mismas reglas que cualquier otra evidencia digital.
Herramientas para Windows
WinPmem
WinPmem es la herramienta open source de referencia para adquisicion de memoria en Windows. Desarrollada originalmente por Michael Cohen (creador de Rekall), ahora mantenida por la comunidad forense.
Caracteristicas principales:
- Binario standalone, no requiere instalacion.
- Genera dumps en formato raw, compatible con Volatility, Rekall y la mayoria de herramientas.
- Soporta modo de lectura fisica directa del dispositivo de memoria.
- Disponible en versiones de 32 y 64 bits.
Uso basico desde linea de comandos con privilegios de administrador:
winpmem_mini_x64.exe output.raw
El comando produce un fichero raw cuyo tamano sera aproximadamente igual a la cantidad de RAM del sistema. Para un sistema con 16 GB de RAM, el fichero sera de unos 16 GB.
Para generar el hash de verificacion inmediatamente despues:
certutil -hashfile output.raw SHA256
Consideraciones: WinPmem necesita privilegios de administrador porque accede a la memoria fisica a traves de un driver del kernel. En sistemas con Secure Boot y HVCI (Hypervisor-protected Code Integrity), cargar drivers de terceros puede estar bloqueado. En esos casos, conviene tener WinPmem preautorizado en la imagen de despliegue corporativa.
DumpIt
DumpIt, ahora parte del portfolio de Magnet Forensics, es probablemente la herramienta mas usada en entornos corporativos de respuesta a incidentes.
Ventajas:
- Ejecucion con doble clic: no requiere parametros ni linea de comandos.
- Genera el dump en el mismo directorio donde se ejecuta.
- Footprint minimo en el sistema.
- Soporta formato raw y formato Microsoft crash dump (DMP).
- Versiones para linea de comandos disponibles para automatizacion.
Un responder puede llevar DumpIt en una unidad USB, conectarla al sistema comprometido, ejecutar el binario y obtener el volcado en minutos. La simplicidad es su ventaja principal en situaciones de estres donde la velocidad importa.
Desde la linea de comandos:
DumpIt.exe /O dump_output.raw /T RAW
Para formato crash dump de Windows:
DumpIt.exe /O dump_output.dmp /T DMP
FTK Imager
FTK Imager de Exterro (anteriormente AccessData) es una herramienta gratuita que combina adquisicion de discos con captura de memoria.
Para capturar memoria: File, Capture Memory. Se especifica la ruta de salida y opcionalmente se incluye el pagefile (pagefile.sys). Incluir el pagefile es recomendable porque contiene paginas de memoria que el sistema operativo escribio a disco.
El formato de salida es un fichero .mem que es compatible con Volatility tras renombrarlo a .raw.
Ventaja adicional: FTK Imager puede capturar simultaneamente memoria y crear una imagen forense del disco, lo que agiliza la adquisicion completa del sistema.
Comparativa rapida (Windows)
| Herramienta | Licencia | Formato | CLI | GUI | Tamano binario |
|---|---|---|---|---|---|
| WinPmem | Open source | Raw | Si | No | ~1 MB |
| DumpIt | Comercial (gratis para IR) | Raw, DMP | Si | Si (doble clic) | ~2 MB |
| FTK Imager | Gratuita | Raw (.mem) | Si (CLI version) | Si | ~25 MB |
Herramientas para Linux
LiME (Linux Memory Extractor)
LiME es un modulo del kernel de Linux (LKM) que permite volcados de memoria fisica. Al ser un modulo del kernel, accede directamente a la memoria fisica sin las restricciones del espacio de usuario.
El flujo de uso tiene dos fases: compilar el modulo para el kernel del sistema objetivo, y luego cargarlo.
Compilacion (requiere headers del kernel):
git clone https://github.com/504ensicsLabs/LiME.git
cd LiME/src
make
Esto produce un fichero lime-KERNELVERSION-ARCH.ko. Para cargarlo y generar el dump:
sudo insmod lime-6.1.0-amd64.ko "path=/tmp/memory.lime format=lime"
Formatos disponibles:
- lime: formato propio con metadatos de rangos de memoria. Recomendado para Volatility.
- padded: rellena los huecos en el mapa de memoria fisica con ceros. Compatible con mas herramientas pero genera ficheros mas grandes.
- raw: volcado lineal sin metadatos.
La ventaja principal de LiME es la captura via red, que evita escribir el dump en el disco del sistema comprometido:
sudo insmod lime.ko "path=tcp:4444 format=lime"
Desde el sistema de adquisicion:
nc TARGET_IP 4444 > memory.lime
El principal inconveniente es la necesidad de compilar el modulo para la version exacta del kernel del sistema objetivo. En entornos de respuesta a incidentes, esto requiere tener modulos precompilados para las versiones de kernel usadas en la organizacion, o acceso a un sistema identico para compilar.
AVML (Acquire Volatile Memory for Linux)
AVML fue desarrollado por Microsoft para adquisicion de memoria en maquinas virtuales de Azure, pero funciona en cualquier sistema Linux.
Ventaja clave: AVML es un binario estatico que no requiere compilar un modulo del kernel. Esto elimina el problema de compatibilidad de versiones de kernel que afecta a LiME.
Uso:
sudo ./avml memory.lime
AVML usa interfaces del kernel como /dev/crash y /proc/kcore para acceder a la memoria fisica. Soporta compresion con snappy y subida directa a Azure Blob Storage (util en entornos cloud).
Limitaciones: AVML depende de que el kernel exponga /proc/kcore o /dev/crash, lo que puede estar deshabilitado en configuraciones de seguridad estrictas.
Comparativa rapida (Linux)
| Herramienta | Requiere modulo kernel | Formato | Red | Binario estatico |
|---|---|---|---|---|
| LiME | Si | lime, padded, raw | Si (TCP) | No |
| AVML | No | lime, raw | No (Azure si) | Si |
Adquisicion en entornos virtualizados
Las maquinas virtuales simplifican enormemente la adquisicion de memoria porque los hipervisores ya tienen acceso a la RAM de la VM.
VMware
Un snapshot de VMware genera automaticamente un fichero .vmem que contiene la memoria completa de la VM. No hace falta ejecutar nada dentro de la VM. Volatility soporta ficheros VMEM directamente.
Ruta tipica del fichero:
/vmfs/volumes/datastore/vm-name/vm-name-Snapshot1.vmem
Hyper-V
Los checkpoints de Hyper-V generan ficheros .bin que contienen la memoria. Tambien se puede exportar la VM completa, lo que incluye el estado de memoria.
QEMU/KVM
Se puede generar un dump de memoria usando el monitor de QEMU:
virsh dump DOMAIN_NAME /tmp/memory.elf --memory-only
El formato es ELF core dump, soportado por Volatility y GDB.
Cloud (AWS, Azure, GCP)
En entornos cloud, la adquisicion depende del proveedor:
- AWS: No hay acceso directo a la memoria desde fuera de la instancia. Se necesita ejecutar LiME o AVML dentro de la instancia, o usar un snapshot de EBS que no incluye RAM.
- Azure: AVML fue disenado especificamente para este caso. Tambien se puede usar el mecanismo de diagnostico serial console.
- GCP: Similar a AWS, requiere ejecucion dentro de la instancia.
Tecnica especial: Cold Boot Attack
La tecnica de cold boot explota el hecho de que la RAM DRAM retiene su contenido durante segundos a minutos despues de perder alimentacion, especialmente a bajas temperaturas.
El procedimiento teorico:
- Enfriar los modulos de RAM (aire comprimido invertido, temperaturas bajo cero).
- Apagar el sistema abruptamente (cortar alimentacion).
- Reiniciar desde un medio externo con un bootloader minimo que copie la RAM antes de que se degrade.
- O extraer los modulos de RAM e insertarlos en otro sistema para volcarlos.
En la practica, esta tecnica tiene aplicaciones limitadas en investigaciones forenses modernas por varias razones: las memorias DDR4 y DDR5 degradan su contenido mucho mas rapido que DDR3 y anteriores, el cifrado de memoria (AMD SME/SEV, Intel TME) protege contra este vector, y la mayoria de escenarios DFIR tienen acceso al sistema encendido.
Sin embargo, el cold boot attack sigue siendo relevante conceptualmente porque demuestra que "apagar" un equipo no destruye instantaneamente toda la evidencia volatil.
Fichero de hibernacion y pagefile
hiberfil.sys
Cuando Windows hiberna, escribe el contenido de la RAM a disco en hiberfil.sys. Este fichero puede procesarse con Volatility (plugin windows.hibernation) para extraer una imagen de memoria del ultimo estado de hibernacion.
Es relevante en investigaciones porque:
- Puede contener evidencia de actividad maliciosa anterior al inicio de la investigacion.
- Sobrevive a reinicios.
- Puede estar presente incluso si el usuario no hiberna manualmente (Windows Fast Startup usa hibernacion parcial por defecto).
pagefile.sys
El fichero de paginacion contiene paginas de memoria que fueron movidas a disco por el gestor de memoria virtual. No es un volcado de memoria completo, pero puede contener fragmentos de procesos, strings, credenciales y otros artefactos.
Para un analisis completo, conviene capturar tanto la RAM como el pagefile. FTK Imager ofrece esta opcion integrada.
Mejores practicas de adquisicion
Antes de la adquisicion
-
Preparar el kit de herramientas. Tener una unidad USB o recurso de red con las herramientas de adquisicion, sus hashes y documentacion. Las herramientas deben estar actualizadas y probadas.
-
Documentar el estado inicial. Fotografiar la pantalla del sistema, anotar procesos visibles, conexiones de red y cualquier anomalia observable antes de intervenir.
-
Decidir el destino del dump. Preferiblemente un dispositivo externo (USB, recurso de red) para no escribir en el disco del sistema comprometido. Si el disco es la unica opcion, documentar que el dump se escribio alli.
-
Verificar espacio disponible. El dump sera tan grande como la RAM del sistema. Un sistema con 64 GB de RAM necesita 64 GB de espacio libre en el destino.
Durante la adquisicion
-
No ejecutar otras operaciones. No abrir programas, no navegar, no hacer login de otros usuarios. Cada accion sobrescribe memoria.
-
Ejecutar como administrador/root. Las herramientas necesitan acceso a la memoria fisica.
-
Registrar la hora de inicio y fin. Usar NTP o un reloj sincronizado.
-
Monitorizar el progreso. Asegurar que la herramienta no se detiene a mitad del volcado por falta de espacio o errores de acceso.
Despues de la adquisicion
- Calcular hash inmediatamente. SHA256 del fichero generado.
sha256sum memory.raw > memory.raw.sha256
-
Verificar el tamano. Debe ser coherente con la cantidad de RAM del sistema.
-
Documentar la cadena de custodia. Quien capturo el dump, con que herramienta (version y hash del binario), en que sistema (hostname, IP, OS version), a que hora, y donde se almaceno.
-
Almacenar en medio de solo lectura. Si es posible, transferir el dump a un medio WORM o un almacenamiento con controles de integridad.
-
Trabajar sobre copias. Nunca analizar el dump original. Hacer una copia y trabajar sobre ella. Si la copia se corrompe durante el analisis, siempre se puede generar otra desde el original.
Problemas comunes y soluciones
Driver bloqueado por Secure Boot. En sistemas con Secure Boot y HVCI, WinPmem puede fallar al cargar su driver. Solucion: usar DumpIt (que tiene drivers firmados) o desactivar temporalmente HVCI si la politica de seguridad lo permite y se documenta.
LiME no compila por headers faltantes. El sistema objetivo no tiene instalados los headers del kernel. Solucion: compilar el modulo en un sistema identico (mismo kernel) y transferir solo el .ko. O usar AVML como alternativa sin modulo.
Dump incompleto o corrupto. El sistema se reinicio durante la adquisicion, o hubo un error de escritura. Solucion: verificar el tamano del dump vs la RAM esperada. Volatility informara de errores si el dump esta truncado. En general, un dump parcial sigue siendo util: se pierde lo que no se capturo, pero lo capturado es valido.
Sistema con mas de 64 GB de RAM. Los dumps son ficheros enormes. Solucion: usar compresion durante la captura (AVML soporta snappy), o enviar via red a un sistema con almacenamiento suficiente. Considerar que el analisis posterior tambien necesitara RAM proporcional.
Proximo paso
Con el dump de memoria adquirido y verificado, el siguiente paso es analizarlo. En el proximo articulo instalamos y configuramos Volatility 3, ejecutamos los primeros plugins y aprendemos a navegar las estructuras del sistema operativo dentro del volcado.
Preguntas frecuentes
Libros recomendados
Artículos relacionados
Que es Memory Forensics y Por Que es Esencial en DFIR
Volatility 3: Instalacion, Configuracion y Primeros Pasos
Cadena de Custodia Digital: Preservacion de Evidencia Electronica
Adquisicion de Imagen Forense de Disco: dd, dc3dd, FTK Imager y Formato E01
Browser Forensics: Analisis Forense de Chrome y Firefox
Cloud Forensics: Investigacion en AWS, Azure y GCP
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.