[convid CTF] Crimen writeup

Published on 14 June 2020 at 10:59PM, by Mataya

#convid, #forensics, #python, #mataya,#writeups

Esta es una de las posibles soluciones a reto crimen :)

Enunciado

No te enteraste? Mataron a la vieja el otro día!!! Perdon, probecita la señora, nadie merece pasar por tal cosa... Analizamos la escena del crimen y poco pudimos encontrar, lo mas destacable fue un papel hecho trizas por un triturador. Aqui te dejo todas las piecitas para ver si logras llegar a algo. Eso sí, algunas quedaron manchadas de sangre...
Hint 1: y-x Hint 2: El mensaje tiene una longitud de 8 caracteres, los cuales deben ser ingresados dentro del formato ( CL{mensaje} ).

Entendiendo el desafío

Luego de descargar el adjunto crimen.zip, notamos que en este, vienen 400 trozos de lo que parece ser una imagen, mmmm a editar, recurrimos a nuestra suite de edición de imágenes favorito (Python).

Procedimiento

Python y Pillow

Realizando un simple script, se puede automatizar el pegado de los trozos, el cual adjunto a continuación.
Pegar_papel.py
Luego de lo anterior se compone la siguiente imagen:
QR-SANGRE
Esto no es un papel, esto es, es, es, es, es un QR.

Estoy en problemas

Luego de muchos intentos intentando decodear el QR (imposible a primera instancia), no se logra extraer nada, puesto que la data esta corrupta, gracias a Samnez, que logro encontrar un viejo write-up, para reparar QR corruptos .

Idea

Se debe generar un archivo de texto, el cual los pixeles negros sean X, los blancos sean _ y los desconocidos o corruptos ?, en este caso los trozos con sangre.

Mi propio QrToTxt

QRtoTxt.py

Recuperando la Flag

Luego utilizando el script sqrd.py, decodificamos el mensaje.

$python2 sqrd.py qr.txt -v
qr3xp3rt

Flag

Flag

Por tanto, nuestra preciada flag es, CL{qr3xp3rt}.
Gracias por leer.

Mataya