09 febrero, 2014

Analizando la carpeta Prefetch de Windows [ficheros .pf]

La carpeta Prefetch de Windows ubicada en el path C:\Windows\Prefetch, según Microsoft Windows, define esta carpeta de la sigiente manera.
"Cada vez que se enciende el equipo, Windows realiza un seguimiento de la forma en que se inicia el equipo y los programas que se abren habitualmente. Windows guarda esta información en una serie de pequeños archivos (de extensión .pf) en la carpeta Prefetch. La próxima vez que encienda el equipo, Windows recurrirá a estos archivos para acelerar el proceso de inicio."

Es decir, que es como un almacenamiento de "cachés" en las que almacenan datos en general, librerías utilizadas por los programas más recurrentes, etc.

Los ficheros .pf entre otras cosas almacenan información relevante a los dispositivos de almacenamientoya sea discos duros internos, externos, dispositivos de almacenamiento USB, etc. Estos registran datos como la fecha/hora, paths, aplicaciones, librerías dependientes de esas aplicaciones, procesos .exe, etc. instaladas en nuestro sistema. De modo que para análisis forenses estos registros de sucesos pueden resultar muy útiles.

Esto es gracias al funcionamiento del servicio "Programador de tareas" (que se ejecuta bajo el proceso 'svchost') el cual entre otras cosas graba en páginas de memoria que son utilizadas con frecuencia por las aplicaciones. Esta es monitorizada por el File caching (Windows Cache Manager) y después de esa información recogida por cada aplicación utilizada de forma habitual se genera el archivo .pf.

Los ficheros .pf se crean con el nombre del tipo: "IEXPLORE.EXE-4B6C9213.pf". En el que la primera parte del nombre es el proceso ejecutable en cuestión de la aplicación y seguido de un Hash de 32bits representado en hexadecimal, el cual se construye a partir de la ruta completa de la aplicación.

Ahora bien, como vemos la información de estos ficheros .pf ??
Si nos vamos a la ruta donde esta esta carpeta vemos todos los ficheros .pf y también veremos un archivo de inicialización llamado: "Layout.ini".
Este fichero contiene en texto plano registros realizados/cambios con aplicaciones en nuestro ya sean instalaciones, desinstalaciones o actualizaciones, con referencia a los ficheros .pf creados.

Figura 1: Fichero 'Layout.ini' con información de los ficheros .pf alamacenados.

Para poder profundizar un poco más en lo que ahora almacena realmente cada fichero .pf, fecha/hora, paths, procesos, dependencias de librerías, etc.
Podemos hacer uso de una herramienta externa desarrollada por Nirsoft la cual es WinPrefetchView.

WinPrefetchView nos permite visualizar de modo legible la información de estos ficheros .pf y que nos sea de utilidad en un análisis forense en busca de evidencias o para controlar si se instaló determinada aplicación en un equipo corporativo. Incluso es muy útil para detectar intrusiones de algún tipo de fichero ejecutable malicioso (malware) haciéndose pasar por otro.

Figura 2: WinPrefetchView mostrando la información de ficheros .pf

Para más información sobre el funcionamiento de esta tecnología dejo dos enlaces de utilidad.
http://www.forensicswiki.org/wiki/Windows_Prefetch_File_Format
https://googledrive.com/host/0B3fBvzttpiiSbl9XZGZzQ05hZkU/Windows%20Prefetch%20File%20(PF)%20format.pdf

Saludos!

No hay comentarios:

Publicar un comentario

Entradas Relacionadas