viernes, 28 de enero de 2011

El retorno: "Reto ncn_2010 Parte1"

Como verán hace un par o dos pares de meses que no ando por aquí. Básicamente es por mi PÉSIMA administración del tiempo, no soy lo que se dice la persona mas ocupada del mundo, pero siempre me las arreglo para que el tiempo no me sea suficiente xD.

Llevo alrededor de 6 meses ya en mi pasantía en el centro de redes de la Universidad Nacional de Córdoba, y debo decir que es increíble todo lo que se aprende en el campo de batalla. Definitivamente era lo que me hacía falta, práctica.

Pero como esto NO es un diario, o por lo menos ahora no lo es, les traigo la primera parte de mi interpretación del reto http://noconname.org/concursos/NcN_2010_Reto_Forense.pdf , aquí la imagen del dispositivo a analizar http://noconname.org/concursos/okin.dd.bz2 .

En primera instancia cabe aclarar que este no es un reto como los demás, aquí no hay mas consigna que: Todo lo que encuentres y puedas justificar vale.

""Obras a la Mano":
Una vez descargado el archivo lo descomprimimos y utilizamos el famoso file para ver de qué se trata okin.dd.

root@moon:/home/juan/ForensicTests/NcNForense# file okin.dd
okin.dd: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=42006dd3-3ea3-42dd-aa42-e86c3376ea31
root@moon:/home/juan/ForensicTests/NcNForense#

Como nos comenta el pdf se trata del dd (copia cruda, hablando mal y pronto) de una partición de tipo ext2.
Para asegurarnos de que tenemos el archivo correcto procesamos okin.dd con md5sum y lo comparamos con el valor que dice el pdf:

root@moon:/home/juan/ForensicTests/NcNForense# md5sum -b okin.dd
9c9a5e0d25dd57db10c99e84d9b03d48 *okin.dd
root@moon:/home/juan/ForensicTests/NcNForense#

Si no coincidiera estamos en problemas, habría que volver a descargar el archivo o probar descomprimiendo nuevamente okin.dd.bz2.

Entonces tenemos una partición en un archivo, en principio no podemos ver su contenido (archivos y directorios) porque se trata simplemente de un archivo mas en nuestro disco.
Pero al tener la certeza de que se trata de una partición, solo necesitamos decirle al sistema operativo que la trate como un dispositivo de bloques como cualquier otro. Para lograr esto usamos losetup, que nos permite asociar a un dispositivo de loop un archivo o un dispositivo de bloque, que en nuestro caso significa: nos permite emular un dispositivo de bloque a partir de nuestro archivo okin.dd.

juan@moon:~/ForensicTests/NcNForense$ losetup --all

Antes de crear un dispositivo hay que ver cuál de los loop devices no está en uso, e mi caso losetup --all no devuelve nada y por lo tanto puedo utilizar cualquiera de los loop.

juan@moon:~/ForensicTests/NcNForense$ ls /dev/loo*
loop0  loop1  loop2  loop3  loop4  loop5  loop6  loop7

Entonces utilzio loop1, y como se trata de evidencia forense, le indicamos a losetup que configure el loop device como SOLO lectura.

root@moon:/home/juan/ForensicTests/NcNForense# losetup -r /dev/loop1 okin.dd

Listamos nuevamente los dispositivos loop en uso y vemos ahora que loop1 está en uso con nuestro archivo.

root@moon:/home/juan/ForensicTests/NcNForense# losetup -a
/dev/loop1: [0801]:692806 (/home/juan/ForensicTests/NcNForense/okin.dd)

Podemos ver nuestro dispositivo con fdisk:

root@moon:/home/juan/ForensicTests/NcNForense# fdisk -l /dev/loop1

Disco /dev/loop1: 123 MB, 123379200 bytes
255 cabezas, 63 sectores/pista, 15 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x00000000

El disco /dev/loop1 no contiene una tabla de particiones válida

No tiene particiones válidas porque no se trata de un disco particionado, sino simplemente de una partición.
Ahora creamos un directorio donde montaremos nuestra partición para por fin poder ver qué contiene.

root@moon:/home/juan/ForensicTests/NcNForense# mkdir analisis

root@moon:/home/juan/ForensicTests/NcNForense# mount -o ro /dev/loop1 analisis/

Lo montamos como cualquier otro dispositivo de bloques, expecificando la opción de solo lectura, no es necesario especificar el tipo de partición ya que lo detecta automáticamente (aunque no estaría mal hacerlo).
Podemos ver que se montó correctamente mediante:

root@moon:/home/juan/ForensicTests/NcNForense# mount | grep loop1
/dev/loop1 on /home/juan/ForensicTests/NcNForense/analisis type ext2 (ro)
root@moon:/home/juan/ForensicTests/NcNForense#

Eso es todo por ahora, de aca en mas ya se puede recorrer la partición como lo hacemos normalmente. Para la próxima veremos el contenido, los archivos, sus fechas, etc, y ver cuánta información se puede obtener.