Por que volcar la memoria RAM
En un analisis forense es de vital importancia conseguir una copia exacta del sistema a analizar, incluyendo la memoria RAM. La RAM tiene una importancia especial por su volatilidad: los datos se pierden en el instante en que el sistema pierde alimentacion electrica.
Por este motivo, capturar la memoria RAM es una de las primeras acciones en la recogida de evidencias. Una vez obtenido el volcado, podemos analizarlo sin alterar ningun dato del sistema original.
Comando de uso
# Desde la ruta donde este el .exe win64dd.exe /r /a /f dump.img # Equivalente para sistemas de 32 bits win32dd.exe /r /a /f dump.img
Descripcion de flags
| Flag | Descripcion |
|---|---|
| /r | Crea el archivo de volcado de memoria (raw dump) |
| /a | Responde "si" automaticamente a todas las preguntas del proceso |
| /f | Especifica el nombre del fichero de salida (destination file) |
Durante la ejecucion se muestra informacion sobre el sistema operativo, la capacidad total de la memoria y la cantidad disponible. Al finalizar:
Uso basico
# Ejecucion basica — genera dump en el directorio actual DumpIt.exe # Especificar nombre de fichero de salida DumpIt.exe /output volcado_ram.raw # Comprimir la imagen de salida DumpIt.exe /compress /output volcado.zip
Opciones avanzadas
| Opcion | Descripcion |
|---|---|
| /output <file> | Especifica el nombre del archivo de salida |
| /compress | Comprime la imagen de memoria para ahorrar espacio en disco |
| /info | Muestra informacion del SO y la RAM antes de la captura |
Proceso de volcado con FTK Imager
accessdata.com/product-downloadOtras Herramientas de Adquisicion
live.sysinternals.com.Herramientas de Analisis del Volcado
Un fichero RAW de salida no es legible con un editor de texto o un visor hexadecimal basico. Se necesitan herramientas especializadas en forense de memoria:
Con el volcado obtenido en Windows (guardado en USB u otro medio), lo analizamos desde Kali Linux usando Volatility. La sintaxis base es:
# Estructura base de todos los comandos Volatility vol <plugin> -f /ruta/volcado.img --profile=<perfil_SO>
Plugins de Volatility cubiertos
| Plugin | Comando | Uso |
|---|---|---|
| imageinfo | vol imageinfo -f volcado.img | Identificar el SO y perfil del volcado |
| hivelist | vol hivelist -f volcado.img --profile=X | Direcciones de memoria de los registros del sistema |
| pslist | vol pslist -f volcado.img --profile=X | Lista de procesos activos en el momento del dump |
| pstree | vol pstree -f volcado.img --profile=X | Arbol de procesos padre-hijo |
| svcscan | vol svcscan -f volcado.img --profile=X | Servicios de Windows en ejecucion |
| ldrmodules | vol ldrmodules -f volcado.img --profile=X | Detectar DLLs ocultas o inyectadas |
vol imageinfo -f /ruta/volcado.img
Devuelve informacion del SO instalado, version, arquitectura y el perfil recomendado para usar en los siguientes comandos.
Win7SP1x64, Win10x64_19041). Usa ese valor en el parametro --profile= de todos los comandos siguientes.vol hivelist -f /ruta/volcado.img --profile=Win7SP1x64
Muestra las direcciones de memoria virtuales y fisicas de cada hive del Registro de Windows cargado en memoria (SYSTEM, SOFTWARE, SAM, NTUSER.DAT, etc.).
printkey o hashdump para extraer claves del registro y hashes de contrasenas directamente desde la memoria.vol pslist -f /ruta/volcado.img --profile=Win7SP1x64
Muestra todos los procesos que estaban en ejecucion en el momento del dump: PID, PPID, nombre del proceso, fecha/hora de inicio y numero de threads.
svch0st.exe en vez de svchost.exe), ubicaciones inusuales o sin proceso padre reconocible son señales de alerta.vol pstree -f /ruta/volcado.img --profile=Win7SP1x64
Igual que pslist pero en formato de arbol jerarquico, mostrando que procesos son hijos de cuales. Esto facilita identificar procesos maliciosos que hayan sido inyectados o spawneados desde procesos legitimos.
cmd.exe iniciado como hijo de word.exe es una señal clasica de ejecucion de macros maliciosas. powershell.exe como hijo de svchost.exe tambien es sospechoso.vol svcscan -f /ruta/volcado.img --profile=Win7SP1x64
Escanea la memoria en busca de la estructura de Control SCM (Service Control Manager) para identificar todos los servicios registrados y su estado.
%TEMP% o AppData), o servicios con descripcion vacia.vol ldrmodules -f /ruta/volcado.img --profile=Win7SP1x64
Compara las listas de modulos cargados en memoria (InLoadOrderModuleList, InMemLoadOrderModuleList, InInitOrderModuleList) para detectar DLLs que solo aparecen en una lista — indicativo de DLL injection o rootkits que ocultan modulos.
False en alguna de las tres columnas (InLoad, InMem, InInit), puede indicar que esta siendo ocultada activamente por un rootkit o malware avanzado. Investiga su ruta y proceso asociado.Conclusion
El flujo completo de trabajo es:
imageinfo, luego usa pslist, pstree, svcscan y ldrmodules para extraer evidencias.