domingo, 9 de agosto de 2009

RegRipper + XP Restore Points = ripXP

Para luchar con el calor no hay nada como ponerse delante del ordenador (modo irónico), pero como que también es una forma de distraerse y todavía no estoy de vacaciones, con la consecuente promesa de "lo más cerca de un PC 30 mts", pues allá que me he puesto.

Surgida después de una charla entre Rob Lee (el que tuvo la idea) y Harlan Carvey (el que la llevó a la práctica) nació esta potente herramienta. Se trata de explotar la capacidad cronologica que ofrecen los puntos de restauracion de XP para, de esta forma, obtener una línea de tiempo donde los hechos se corresponderán con las modificaciones ocurridas en un sistema, utilizando como fuente los ficheros del registro de Windows.

En el fondo regripper y ripxp son muy parecidos, tanto, que el segundo utiliza los plugins que incorpora el primero. Pero lo mejor es que la probemos, así que vamos al lío.

Descargamos la última versión disponible y la extraemos junto con RegRipper, la cual descargaremos también si es que no lo hemos hecho antes. En mi caso están las dos juntas aquí:

C:\rr>dir

El volumen de la unidad C es SYSTEM
El número de serie del volumen es: B00D-25C9
 
Directorio de C:\rr
 
06/08/2009 21:12 <DIR> .
06/08/2009 21:12 <DIR> ..
25/05/2008 08:49 290 auditpol.bat
25/05/2008 08:42 2.666 faq
09/04/2008 07:28 556 license.txt
28/01/2008 12:21 365.568 p2x588.dll
06/08/2009 21:12 <DIR> plugins
25/05/2008 08:44 90.588 regripper.pdf
09/09/2008 13:37 679.149 rip.exe
31/08/2008 07:53 7.578 rip.pl
12/11/2008 11:02 696.826 ripxp.exe
05/11/2008 22:01 10.688 ripxp.pl
10/07/2009 16:25 1.101 ripxp_instructions.txt
12/05/2008 12:54 1.526.589 rr.exe
12/05/2008 12:54 10.947 rr.pl
26/05/2008 07:06 318 ua.bat
13 archivos 3.392.864 bytes
3 dirs 14.309.167.104 bytes libres

Recomendado un vistazo rápido a ripxp_instructions.txt, que junto con los flags aceptados por la aplicación, nos permitirá ir entrando en materia:
C:\rr>ripxp

RipXP v.20081001 - CLI RegRipper tool
RipXP [-r Reg hive file] [-p plugin module][-d RP dir][-lgh]
Parse Windows Registry files, using either a single module from the plugins folder.
Then parse all corresponding hive files from the XP Restore Points (extracted from
image) using the same plugin.
 
-r Reg hive file...Registry hive file to parse
-g ................Guess the hive file (experimental)
-d RP directory....Path to the Restore Point directory
-p plugin module...use only this module
-l ................list all plugins
-h.................Help (print this information)
 
Ex: C:\>rip -g
C:\>rip -r d:\cases\ntuser.dat -d d:\cases\svi -p userassist
 
All output goes to STDOUT; use redirection (ie, > or >>) to output to a file.
 
copyright 2008 H. Carvey

Ficheros para el análisis

Necesitamos "evidencias", las cuales yo he optado por extraer de una máquina virtual que tengo para hacer mis pruebas. Voy a utilizar FTK Imager, que frente a montar el fichero vmdk con vmware-mount, simplificará mucho las cosas, además de que resulta más profesional.

Una vez lanzada, menú 'Archivo', 'Agregar elemento de evidencia...' y seleccionamos 'Archivo de imagen' como tipo para la evidencia de origen, localizando a continuación el fichero correspondiente al disco de la máquina virtual.

Un inciso, vamos a crear la estructura de directorios para las pruebas, por ejemplo en la raíz del sistema (%SystemDrive% utilizando la correspondiente variable de entorno):
C:\>mkdir caso01\restore caso01\config caso01\hashes

Seguimos. Ya tenemos el fichero de evidencia abierto en FTK, asi que navegaremos hasta la ubicación de los puntos de restauración del sistema, que siempre y cuando no se hayan deshabilitado, lo cual no es la opción por defecto, encontraremos en System Volume Information, dentro del directorio raíz de cada uno de los discos en los que se encuentre habilitada la opción "Restaurar sistema".


Como en la imagen, botón derecho sobre la carpeta adecuada, 'Exportar archivos...', y lo guardamos en C:\caso01\restore. De paso también guardaremos los hashes, 'Exportar lista hash de archivos...', en un fichero CSV dentro de C:\caso01\hashes, con los valores tanto para MD5 como para SHA1.

Ahora los ficheros que componen el registro de Windows. Para las ramas comunes a todos los usuarios del sistema buscaremos en C:\WINDOWS\system32\config, los seleccionamos todos, botón derecho, 'Exportar archivos...' y los guardamos en C:\caso01\config.


Lo mismo para el fichero NTUSER.DAT del, en mi caso, único usuario del sistema. La ruta concreta dentro del fichero de imagen será Documents and Settings\Administrador, y los destinos C:\caso01\config y C:\caso01\hashes para NTUSER.DAT y el hash, respectivamente. Ya lo tenemos todo, así que cerraremos FTK Imager.

En el principio creó la línea de comandos

Continuamos con nuestras pruebas, ahora utilizando %COMSPEC%, o lo que es lo mismo, el binario cmd.exe. Vamos a probar el plugin 'samparse', el cual nos mostrará la información referente a los usuarios y grupos del sistema, así como sus relaciones, entendiendo por tales la pertenencia de los primeros a los segundos. Como disponemos de diferentes "snapshots" constituidos por los puntos de restauración del sistema analizado, mediante el uso de ripxp obtendremos un registro cronológico del proceso de creación, eliminación y modificación de cuentas de usuarios y grupos:
C:\>cd rr

C:\rr>ripxp -r ..\caso01\config\SAM -d "..\caso01\restore\_restore{5BCD77F5-6BBD
-4879-B1A8-5F08526BCAF6}" -p samparse > ..\caso01\analisis.sam.txt

La salida la hemos redirigido a un fichero para poder analizarla con más calma. Si observamos los resultados encontramos, en primer lugar, la información extraída de la clave SAM del sistema (obviamente la salida ha sido recortada):
RipXP v.20081001

Launched Wed Aug 5 20:47:08 2009 Z
 
..\caso01\config\SAM
...

Y si seguimos buscando, la información asociada a cada punto de restauración precedida por una cabecera con un resumen del mismo:
----------------------------------------

Restore Point Info
Description : Punto de control del sistema
Type : System Checkpoint
Creation Time : Thu May 14 20:29:04 2009
...

Queda patente la potencia de ripXP para la generación de una auténtica timeline de las modificaciones en el registro de Windows. Las limitaciones las ponemos nosotros, los medios, el señor Harlan Carvey.

Lecturas relacionadas

Análisis de la funcionalidad "Restaurar sistema".

RegRipper.

El registro de Windows.

Y esto ha sido todo de momento, en breve más, y mejor, espero.

3 comentarios:

Pedro Sánchez dijo...

Bravo, muy bueno...como siempre

ShadowChild dijo...

Excelente! Vivan las tardes y noches calurosas de verano frente al ordenador! :)

Yago

hmontoliu dijo...

Muy interesante :-)