Análisis Forense a la Memoria de Windows XP con Volatility Framework

  • Posted on: 3 June 2014
  • By: ReYDeS

El análisis de la memoria física de un sistema Windows puede proporcionar información significativa y valiosa sobre el sistema operativo. Es una práctica recomendada capturar una imagen de la memoria durante una respuesta de incidentes. El análisis posterior puede ser realizado de manera básica utilizando herramientas que permitan extraer “cadenas” desde la imagen forense, o utilizar herramientas o framework más evolucionados como “The Volatility Framework”.

The Volatility Framework

The Volatility Framework es una colección de herramientas completamente open source implementadas en Python, para la extracción de artefactos digitales desde muestras de memoria (RAM) volátil. Las técnicas de extracción son realizadas de manera completamente independiente del sistema en investigación pero ofrece una visibilidad sin precedentes en el estado de funcionamiento del sistema. El framework pretende introducir a las personas en las técnicas y complejidades asociadas con la extracción de artefactos digitales desde muestras de memoria volátil y proporcionar una plataforma para seguir trabajando en esta excitante área de investigación.

Volatility soporta volcados de memoria desde las principales versiones de Windows de 32 y 64 bits además de services packs. Si el volcado de memoria es un formato “raw” o bruto, un volcado Microsoft de una caída, un archivo de hibernación, o una instantánea de una máquina virtual, Volatility es capaz de trabajar con estas. También tiene soporte para volcados de memoria en Linux en formatos “raw” en bruto o LiME. Y soporte para volcados de memoria de Mac OSX y teléfonos Android con procesadores ARM.

Para la siguiente práctica se utilizará una imagen de memoria capturada desde un Sistema Windows XP SP3.

Para obtener un resumen de alto nivel de la muestra de memoria en análisis, utilizar el comando “imgeinfo”.

$ sudo vol.py imageinfo -f MemoriaWindowsXPSP3.001

Para listar los procesos de un sistema, utilizar el comando “pslist”.

$ sudo vol.py pslist -f MemoriaWindowsXPSP3.001

Para visualizar las conexión TCP que estuvieron activas en el momento de la adquisición de la memoria, utilizar el comando “connections”.

$ sudo vol.py connections -f MemoriaWindowsXPSP3.001

Para encontrar las direcciones virtuales de las colmenas “hives” del registro en memoria, y las rutas completas al correspondiente “hive” o colmena en el disco, utilizar el comando “hivelist”

$ sudo vol.py hivelist -f MemoriaWindowsXPSP3.001

Volatility Framework tiene una amplia cantidad de “pluings” los cuales pueden se utilizados para realizar la identificación de la imagen, obtener información de los procesos y DLLs, información de los procesos de Memoria, Memoria del Kernel y Objetos, Redes, Registro, Volcados de caídas, Hibernación, y Conversión, Sistema de Archivos, y otros.

Fuentes:

http://www.forensicswiki.org/wiki/Windows_Memory_Analysis
https://code.google.com/p/volatility/
http://code.google.com/p/volatility/wiki/VolatilityIntroduction?tm=6
https://code.google.com/p/volatility/wiki/CommandReference23

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: @Alonso_ReYDeS
LinkedIn: pe.linkedin.com/in/alonsocaballeroquezada
Facebook: https://www.facebook.com/alonsoreydes
Youtube: http://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: http://www.reydes.com/d/?q=node/1