Para un analisis de memoria RAM, como recoger evidencias

En sistemas informáticos el análisis forense recopila mucha información para su posterior convenio. Entre ellos podemos contar:

  • Análisis de aplicaciones
  • Análisis de BBDD
  • Análisis de ficheros
  • Análisis de red
  • Análisis de memoria RAM
  • Análisis de SWAP, paginación
  • Análisis de discos físicos
  • Análisis Mobile
  • Análisis de impresoras
  • etc…

En accesos a disco nos podemos encontrar con muchísima información, como pueden ser documentos, información relevante al usuario en aspectos de navegación, passwords, logs de aplicaciones, logs de seguimiento, etc…

Pero en análisis forenses se echan de menos los datos que pudiesen contener la memoria RAM. En todo análisis forense se sigue un orden a la hora de recoger información, siempre atendiendo el orden de volatilidad. Un ejemplo de ello lo tenéis en el RFC 3227 de buenas prácticas a la hora de recoger información.

No voy a entrar en el debate sobre si es complicado o no la recogida de este tipo de información (RAM y derivados), y sobre si es admisible o no en un juicio. Eso se lo vamos a dejar a uno de los monstruos en esto. Juan Luis García (MVP Security) lo explica muy bien en su blog.

Lo que si veremos es qué podemos encontrarnos en RAM, y como podremos identificar, por ejemplo, aplicaciones maliciosas como rootkits inyectados directamente en memoria, restos de troyanos, direcciones IP, conexiones TCP/UDP registradas en máquina, passwords, etc…, junto con las herramientas que hoy día disponemos.

Puede que a lo mejor no se incluyan este tipo de pruebas en un juicio, pero de seguro nos ayudarán a entender mejor qué había en la máquina, y eso ya de por sí es un adelanto.

En sucesivos post comentaremos las formas de recogida de información de RAM y las posibilidades de cada una de ellas, tanto en su forma como en contenido.

Me voy a centrar básicamente en la recogida de información en base a adquisición de evidencias por software, que aunque menos seguro, la recogida es mucho más fácil y disponible para los usuarios.

Así que empecemos por el principio!

Método I. Realizar un volcado de la RAM accediendo directamente al objeto de la memoria \Device\PhysicalMemory

Para acceder a la memoria física hay algunas aplicaciones que utilizan este objeto, en nuestro caso es igual, se necesita de una herramienta que nos permita ingresar al objeto para efectuar un volcado de la misma. Una herramienta importante para estos volcados es la dd. Como estos artículos se refieren a Windows y su analisis de memoria del mismo, empleare una versiòn de esta herramienta compilada para sistemas Windows y compilada para ser utilizadas en escenarios forense. Un buen conjunto de herramientas forense para la adquisición de evidencias lo tenemos en la página de George Garner, y su nombre es el siguiente.. Forensics Acquisition Utilities.

Aunque la imagen resultante podemos extraerla a otro disco duro, lo más correcto sería pasarla a través de la red, a otra ubicación que estuviese aislada de la zona 0.

Si queréis o necesitáis ver los objetos que tiene un sistema operativo Windows, podéis utilizar la herramienta WinObj de Sysinternals.

La herramienta dd la podemos combinar con NetCat o Crypcat (en su formato cifrado) para pasar la información a través de la red. Las opciones más comunes que se utilizan con la herramienta dd y en su versión para forense son las siguientes:

  • md5sum.- Calcula la firma digital para dar fe de la integridad de los datos
  • Log.- Por si queremos guardar un Log de la extracción
  • verifymd5.- Verificar la integridad de la imagen con el md5 obtenido

Para efectuar esta clase de capturas existen ya aplicaciones que en forma automatica recogen esta clase de información. Un ejemplo de ésta herramienta es Helix. Esta basada Knoppix y customizada para su utilizaciòn en análisis forense, viene esta herramienta con una suite bastante amplia de herramientas para el tratamiento y análisis de información, lo que ayuda y mucho a las labores de toma de información. El análisis y tratado de éstos, es otra historia aparte

A partir de la versión Windows 2003 SP1, el acceso en modo usuario a este objeto del sistema, ya no es permitido, por lo que este tipo de herramientas ya no nos servirán para realizar volcados de memoria. Si necesitamos realizar un volcado de memoria en sistemas Windows después de la versión 2003 SP1 en adelante (Incluyento a Windows Vista y Windows Server 2008), tendremos que utilizar herramientas comerciales como las KntTools, de GMG Systems, o esperar a la próxima release del LiveCD Helix.

En esta primera parte hemos visto los pasos necesarios para realizar un volcado de la RAM a través de los objetos de Windows. En artículos posteriores veremos otras situaciones que se nos pueden dar y sus posibilidades.

Enlaces:

Device/PhysicalMemory Object

Forensic RAM Dumping

Subir