Incident Response, Security and Forensics"

.

martes, 23 de diciembre de 2008

Perdidos en el espacio

En anteriores post hemos visto como obtener información sobre la memoria con diversas utilidades, todas ellas muy practicas para las evidencias.

Cuando nos encontramos con un incidente en un equipo, nos queda la cuestión de decidir sobre que hacer con el, ¿lo apagamos?, ¿lo dejamos encendido?. Ante tales casos hay que intentar obtener la mayor prueba de evidencias.

Si lo dejamos encendido tenemos que obtener datos del sistema y de la memoria. Si lo tenemos que apagar, lo mejor ( o así opino yo) es 'tirar del enchufe' de alimentación de corriente, dado que si apagamos de forma ordenada perderemos evidencias de la memoria física y la memoria de paginación.

Hoy vamos a ver como obtener datos de la memoria de paginación o lo que es lo mismo del fichero:

PAGEFILE.SYS
NO ME PIRATEES ES PROPIEDAD INTELECTUAL
El archivo de paginación (Pagefile.sys) es un archivo oculto situado en el disco duro del equipo que Windows utiliza como si fuera memoria RAM. El archivo de paginación y la memoria física conforman la memoria virtual. De manera predeterminada, Windows almacena el archivo de paginación en la partición de inicio, que es la partición que contiene el sistema operativo. El tamaño predeterminado del archivo de paginación es 1,5 veces la cantidad total de memoria RAM.

Bien, ante esta situación es predecible que se pueda obtener datos de la memoria RAM sobre el fichero. Para ello nos ponemos manos a la obra.

Primero montamos el disco 'clonado' (en nuestro ejemplo: windows2003.img) con la utilidad que más os guste. Bien para Windows con 'Mount Image Pro' o 'filedisk' , o en Linux con 'loop', por ejemplo:

mount -o loop windows2003.img loop/


Ejemplo de montaje en Linux

Una vez montado el disco virtual, copio el fichero 'pagefile.sys' a nuestro disco 'C:' y a continuación extraigo del fichero 'pagefile.sys' los datos de texto a un formato más humano, para ello utilizo el siguiente comando:

strings pagefile.sys > pagefile.txt

NOTA: En windows, utilizamos el comando Strings de sysinternals y disponible desde aquí


Una vez que obtengo el fichero 'pagefile.txt' voy a realizar la siguiente consulta a este nuevo fichero, por ejemplo voy a consultar por la palabra '.DOC'

Para ello escribo (en Linux):

cat pagefile.txt | grep ".doc" y nos mostrara en pantalla las rutas de los ficheros DOC

Si esto mismo lo hago en Windows se utilizará el comando 'findstr' (disponible en todas sus versiones) y sería de la siguiente manera:

findstr ".xls" pagefile.txt


Ejemplo de busqueda de ficheros XLS

Vamos a ver otros ejemplos de forma gráfica, los comandos están al principio de cada ventana:

Buscando contraseñas:


Buscando ficheros con datos de navegación


Buscando conexiones al equipo:


Mirando la configuración del equipo:


Conclusiones:

El fichero de paginación es un arma muy potente para poder buscar información que a simple vista no se encuentra, ademas de proporcionar información muy valiosa en el momento que se produjo la incidencia en el equipo.

NOTA: El fichero 'windows2003.img' es un fichero de imágen descargado del reto forense organizado en 2006 por RedIris y UNAM-CERT de México

0 comentarios: