sábado, 23 de junio de 2007

Adquisición de un sistema Windows sobre la red utilizando DD y Netcat

Para realizar este trabajo, vamos a utilizar las versiones de DD y Netcat que se encuentran dentro del FAU "Forensic Acquisition Utilities". El FAU, es un kit de herramientas que corren sobre Windows para analistas forenses, con versiones más especializadas de algunos comandos como DD y Netcat, y con otros muy útiles como Wipe, para borrar archivos de forma segura, fmdata, para obtener los metadatos y verificar los hashes de un archivo, y volume_dump, para visualizar información del disco y sus volumenes.

En Microsoft Windows se referencian los discos con la sintaxis "\\.\PhysicalDrive0", donde el 0 corresponde al número de disco, y si tuviéramos más discos serían 1, 2, 3, etc. Cuando usamos DD, le debemos indicar el parámetro de entrada "if=", que en este caso sería el disco "\\.\PhysicalDrive0" que queremos copiar, y el parámetro de salida "of=", que es la imagen hecha por DD de ese disco, y que en el siguiente ejemplo la vamos a guardar en otro disco local de nuestra computadora que posee la unidad "G:\".

dd.exe if=\\.\PhysicalDrive0 of=G:\DiscoLocal0.img

Hay que tener en cuenta que este tipo de imagenes no van a incluir áreas protegidas como HPA o DCO de los discos ATA. Por otro lado, si quisiéramos realizar solamente la imagen de un volumen del disco, como el "C:\", podríamos utilizar la siguiente sintaxis "\\.\C" en DD.

Cuando usamos Netcat, en primer lugar vamos a dejarlo escuchando en un puerto de nuestra computadora, direccionando todo lo que llegue a este a un archivo, como vemos a continuación:

nc.exe -l 9000 > WinXPvolumeC.img

En segundo lugar vamos a reemplazar la salida del comando DD "of=", por un direccionamiento de Netcat hacia la dirección IP y puerto de nuestra computadora en la red:

dd.exe if=\\.\C | nc.exe 10.1.1.22 9000

Otra cosa muy interesante con valor forense es realizar la imagen de la memoria del sistema, que en Windows se referencia con la siguiente sintaxis "if=\\.\PhysicalMemory", y que podríamos copiarla de la misma foma que en el ejemplo anterior:

dd.exe if=\\.\PhysicalMemory | nc.exe 10.1.1.22 9000

Por ultimo, también podríamos usar DD para realizar un hash MD5 de los datos que estamos copiando, esto es muy útil si queremos verificar que los datos no han sido alterados:

dd.exe if=\\.\C: of=G:\volC.img --md5sum --verifymd5 --md5out=G:\volC.md5

5 comentarios:

Anónimo dijo...

Que tal Leonardo, en la actual version de FAU no está la opción de adquisición de memoria. ¿tienes una versión anterior que soporte esta opción? Gracias. Buen Blog. Francisco Mejia

KungFooSion dijo...

Hola Francisco!

A que te referis con que no esta la opcion ?

En Windows referencias la memoria con "\\.\PhysicalMemory", esto es una sintaxis de Windows no de FAU, osea que si pones eso en la opcion "if=" del Netcat deberia funcionar sin problemas.

Contame un poco mejor por si entendi mal tu pregunta.

Saludos!
Leonardo

Anónimo dijo...

De la pagina web de FAU:

"11. The versions of DD distributed with this release does not support the \\.\PhysicalMemory pseudo-device as input."

KungFooSion dijo...

Anonimo, a mi me funciono igual, vos lo probaste ?

Dicho sea de paso, si pones of= y la IP no hace falta usar Netcat.

Saludos

Anónimo dijo...

quiero ejecutar el siguiente comando:
dd.exe if=\\.\PhysicalDrive0 of=d:\memoria.img

y me sale acceso denegado que puedo hacer

LinkWithin