Incident Response, Security and Forensics"

.

viernes, 22 de mayo de 2009

Mapas de memoria

Hola lectores,

Hace tiempo en este post hable de como parsear la memoria y poder obtener datos de ella, en ese post finalizaba indicando que es posible tracear la memoria y obtener un mapa-dibujo detallado para seguimiento de esta.

Hoy quiero compartir otra de las utilidades que nos puede venir estupendo para poder 'dibujar' esos procesos de una forma cómoda.

PTFINDER

Las PTFinder son un conjunto de utilidades en perl desarrolladas por Andreas Schuster y que como dije anteriormente permite obtener los procesos de memoria y convertirlos o 'dibujarlos' a un fichero con formato JPG o GIF

Esta herramienta permite obtener y dibujar:

  • PID del proceso.
  • Nombre del ejecutable.
  • Offset dentro del fichero.
  • Fecha y hora de fin de ejecución del proceso

Antes de explicar su funcionamiento deberemos de disponer las siguientes herramientas:

Primero deberemos de disponer un volcado de memoria en formato dd, dmp o vmram (vmware). En mi caso dispongo del fichero '2K3FURootkit.dmp' y que pódeis descargar desde aquí para vuestro disfrute.

Este fichero contiene la imagen de la memoria RAM de un Windows 2003 con el rootkit FU corriendo y creando procesos en la memoria.

Segundo, deberemos de tener instalado Graphviz.

Graphviz es una aplicación que es capaz de representar información estructural como diagramas y gráficos de resumen redes.

Tercero, deberemos de disponer de las herramientas PTFinder disponibles desde aquí y un interprete en PERL como el de ActiveState para Windows

¿Como funciona?

El proceso es muy sencillo, como primer ejemplo vamos a ver como obtener los procesos de memoria, para ello pondremos el siguiente comando:

c:\Perl\bin\perl c:\forensics\ptfinder_w2003.pl --nothreads c:\forensics\2K3FURootkit.DMP

El cual nos mostrará la siguiente pantalla:


Procesos que había iniciados en el sistema operativo

En segundo paso vamos a 'pintar' estos procesos con el siguiente comando:

c:\forensics\ptfinder_w2003.plptfinder_w2003.pl --nothreads --dotfile Mifichero.dot 2K3FURootkit.DMP

(mifichero.dot es creado por ptfinder con el parámetro --dotfile. Este fichero .DOT contiene los parámetros de imagen, entre ellos la posición, altura, textos y dimensiones de las imágenes)


En tercer paso vamos a cargar el fichero 'Mifichero.dot' en la aplicación Graphwiz para convertirlo en una imagen con extensión JPG.



Una vez ejecutado este es el resultado:




Pantalla ampliada

Como se puede apreciar en la gráfica se hace un seguimiento de la ejecución de los procesos.

Conclusiones.

las PTFinder son un buen conjunto de herramientas que si bien dejan el análisis y la investigación a decisión del analista, permiten ayudar de una forma gráfica a ver los vínculos entre procesos y aplicaciones e inclusive permite de una forma sencilla analizar intrusiones, exploits y malware.

Referencias:

Paper
Presentación
Neoforensics

El paper y la presentación son publicados por Andreas Schuster