Banner 1

Análisis memoria RAM. Búsqueda de procesos I

Análisis memoria RAM. Búsqueda de procesos I

En todo análisis forense, se debe atender a un orden de volatilidad. Los datos contenidos en la memoria RAM y el archivo de paginación están en los primeros puestos de este orden. Por esto mismo, es por lo que muchas empresas que se dedican al forense informático, en muchas de sus variantes, deciden prescindir de investigar lo que hay en RAM, para dedicarse a otra información menos volátil, como por ejemplo el contenido del disco duro. El problema viene cuando sólo tenemos como pruebas un volcado de memoria (DUMP) o un archivo de paginación (pagefile.sys).

En este artículo y en el siguiente, haré mención a las herramientas que tenemos a día de hoy para analizar un volcado de memoria RAM (DUMP).

A día de hoy, pienso que la memoria RAM es de vital importancia en una investigación, ya que entre otras cosas, podremos encontrarnos con lo siguiente:

  • Procesos en ejecución
  • Procesos en fase de terminación
  • Conexiones activas (TCP-UDP)
  • Ficheros mapeados (Drivers, Ejecutables, Ficheros)
  • Objetos en caché (HTML,JavaScript,Passwords)
  • Elementos ocultos (Rootkits)

Como en toda investigación, la información que podamos recopilar depende de muchos factores, tales como el sistema operativo, el TimeLive de la máquina y lógicamente, el tamaño de la memoria RAM. Pongamos como ejemplo a Windows Vista y Windows XP. Windows Vista maneja de forma diferente los datos en memoria RAM. Utiliza mucho el acceso a RAM, para no cargar tanto al disco duro, ya que el acceso a memoria RAM es mucho más rápido que el acceso a disco. Windows XP no carga tanto la RAM, y en cambio utiliza mucho más el archivo de paginación.

Dependiendo del sistema operativo tendremos más o menos herramientas para realizar búsquedas. En este artículo mostraré una para Windows 2000, y que se llama memparser.

Memparser es una herramienta creada a raíz de un reto forense y desarrollada por Chris Betz. Antes de desarrollar la herramienta en cuestión, tuvo que debuggear un kernel de un Windows 2000 SP4 para buscar similitudes, identificar estructuras, y analizar el código resultante del debugging.

Cada proceso en Windows 2000 es representado por un bloque ejecutivo de proceso (Executive Process). Cada bloque representa a un proceso y contiene estructuras y datos relacionados con ese objeto. En la memoria también residen los hilos que crean estos procesos (ETHREAD), tokens de acceso, Kernel Process (KPROCESS), el cual tiene información sobre el tanto por ciento del kernel utilizado por cada proceso, etc…

La herramienta en cuestión busca lo siguiente:

  • EPROCESS
  • Objetos de Kernel
  • Drivers
  • Contenido de memoria

De todas las herramientas que hay, esta es la más completa de todas, ya que podremos desde listar los procesos que hay en un volcado de memoria, hasta por ejemplo sacar el contenido de la memoria del ejecutable, y con el que podremos, por ejemplo, buscar posibles restos de malware.

En sucesivos artículos, repasaremos las diferentes opciones que tenemos para otros sistemas operativos.

Enlaces

Memparser (SourceForge)

Inside Microsoft Windows 2000 Third Edition

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay