miércoles, 28 de septiembre de 2011

Módulo prefetchtool de Metasploit


Para aquellos que no lo sepáis, cada vez que se ejecuta un programa en Windows se guarda en un fichero .pf información relativa al mismo, uso de las aplicaciones, librerías y ficheros que utilizan, etc, toda esta información se guarda con la finalidad de optimizar los tiempos de carga al arrancar el Sistema Operativo.

Son archivos muy útiles a la hora de realizar un análisis forense en un equipo ya que permiten saber los últimos programas que se han ejecutado, así como trazar un “patrón de uso” realizando las mediciones de uso de cada programa.

Desde el punto de vista del atacante, nos puede ser muy útil a la hora de saber para qué se suele utilizar la máquina comprometida, basándonos claro está en la frecuencia de uso de los programas, así como la posibilidad de descargar los ficheros de prefetching (alojados en %%windir%%\Prefetch) y “parsearlos” en busca de cadenas de texto útiles (por ejemplo, con el binario “strings” de Linux) como puedan ser los últimos ficheros abiertos por el Word o el Excel, etc, etc.

Para obtener información de un rápido vistazo a partir de la carpeta de prefetching, Metasploit cuenta con un módulo de meterpreter para ello.

Ayuda del módulo prefetchtool

Tal y como vemos en la ayuda, disponemos distintas opciones:
  • Parsear todos los ficheros de prefetching buscando en Internet el nombre del software (-i) – Para ello utiliza http://www.liutilities.com/products/wintaskspro/processlibrary/ y http://www.processlibrary.com/
  • Descargar un log del análisis de la carpeta de prefetching (-l)
  • Listar los programas instalados (-p) – Si vemos el código veremos que lo obtiene de la entrada del registro “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall”
  • Listar los X programas más utilizados (-x)
 
Lo primero que hará el módulo será descargar la última versión de la herramienta para Windows “prefetch-tool”, aunque aquí os dará un error debido a la forma en la que parsea el checksum de la web para comprobar si tenemos la última versión. El cambio que hay que hacer en el código es realmente simple y lo he enviado para que lo apliquen al SVN (al momento de acabar esta entrada ya ha sido aplicado :) ). Una vez realizado dicho cambio el módulo funcionará perfectamente.

Si nosotros ejecutamos el módulo sin ningún tipo de comando nos analizará la carpeta de prefetching entera:

Descarga de la herramienta desde Internet
 
Como vemos, primero descarga la última versión que exista de la herramienta y la sube al equipo comprometido, después muestra toda la información obtenida.

Análisis de la carpeta de prefetching

 
Por ejemplo, si le decimos que nos muestre el TOP 5 de programas más utilizados, obtendremos algo parecido a lo siguiente:

meterpreter > run prefetchtool -x 5

Top de programas utilizados

Una vez que hayamos visto la lista de software instalado, y las frecuencias de uso de cada programa, podremos hacernos una idea de la utilidad de la máquina, etc.
En este caso, los programas más utilizados son cmd.exe, minishare.exe, ipconfig.exe, python.exe y vulnserver.exe, se trata de una de las máquinas que utilizo para trastear temas de exploiting...

Por último, y antes de cerrar el post, comentar que existe una herramienta para Windows llamada WinPrefetchView que nos permite visualizar los ficheros de prefetching, por defecto utilizará la carpeta %%windir%%\Prefetch, pero le podemos indicar otra ruta (por ejemplo, en la que tengamos los ficheros de prefetching descargados ;) )

Vista de prefetching con WinPrefethView


Un saludo a todos y nos vemos en el siguiente post!





No hay comentarios:

Publicar un comentario