CTF Mugardos 2015 Writeup – Forensic

Enunciado:

Esta maldita imagen 100 points

Se que la he dejado en algún sitio, pero dónde..

Fichero para la prueba: https://mega.nz/#!YcBw2A4K!jUqgKnf5YZhmjZtpNEH7jM3h2rQ4KyvrOiBaLYmdWys

Formato de la clave
– SHA256 de la clave
– Sin espacios
– Mayúsculas, minúsculas, números y caracteres especiales tal y como aparece en el fichero de la prueba

Solución:

En esta prueba se nos pide descargarnos un archivo tar.gz que contiene el archivo image.raw.

File nos devuelve la siguiente información:

forensic1

Parece ser que es una imagen de un disco, el siguiente paso será ver que dice fdisk al respecto:

forensic2

Parece que casi todo es swap y tenemos una particion de 500Mb en formato ZFS. El problema es que ZFS no permite file I/O así que no podemos montarla directamente, primero, debemos utilizar losetup para montarla y que zfs la pueda reconocer.

Para poder hacer esto tenemos que calcular el offset de dicha partición, sabiendo que los bloques son de 512 bytes y que la partición comienza en 4194432:

512 * 4194432 = 2147549184

Una vez conocido el offset ejecutaremos losetup de la siguiente manera:

forensic3

Para realizar los siguientes pasos necesitareis tener instalador y cargados los modulos de ZFS. En mi caso tuve ciertos problemas de versiones ya que la utilizada para la prueba era más nueva que la de los repositorios con lo cual tuve que compilar los módulos desde los sources.

Utilizamos zpool para importar la pool de ZFS:

forensic4

Zpool nos avisa de que la pool fue usada en otro sistema previamente con lo cual tenemos que forzar con la opcion -f la importación y además utilizar el nombre de la misma (Mugar2x3); y confirmamos con zfs que la pool esta importada:

forensic5

Con esto la partición ya debería de estar montada en el root de nuestro sistema bajo la carpeta Mugar2x3. En caso de que no fuera así se podría montar utilizando el siguiente comando:

zfs mount Mugar2x3

Veremos que esta solo contiene varias subcarpetas y un monton de archivos con el famoso “Lorem ipsum”, pero ninguna imágen que es lo que nos piden en el reto.

ZFS tiene la capacidad de generar spanpshots para poder recuperar estados pasados del sistema de archivos, echamos un vistazo y efectivamente comprobamos que existen varios de los mismos:

forensic6

Los snapshots aparecen ordenados de más antiguo a más nuevo, en caso de que nos pasemos debemos destruir e importar la pool de nuevo.

En este caso la que parecia la mejor opción para comenzar era el snapshot 3 por el tamaño, así que procedemos a hacer rollback al mismo:

forensic7

Como seguimos teniendo un montón de archivos de por medio utilice el comando file para localizar   la imagen:

forensic8

Abrimos el archivo y voila:

forensic9

Calculamos el SHA256 y ya tenemos la prueba superada.

Esta entrada fue publicada en ctf, writeups. Guarda el enlace permanente.

Deja un comentario