Pages - Menu

sábado, 14 de julio de 2018

Writeup Reto 12 CTF #H4F: Emma-ne-de-fur-fur?


Nuevo reto "especial verano" de la mano de @Hackers4Fun (#H4F) donde se ha interceptado un fragmento de código en un email remitido por Tim a Flint "Loco" (El prota de "Lluvia de albóndigas") y deberemos de encontrar lo que esconde.


Manos a la obra

Descargamos y descomprimos con WinRAR el archivo "R3t0_12_H4f.gz" que contiene el siguiente enlace: https://drive.google.com/file/d/1iG_lNnMSU05-kjvbhk9Sk_GMCGnbO-Y1

Nos encontramos con lo que parece un archivo PDF, si lo ejecutamos nos encontraremos con el siguiente texto:


Observamos que es código HTML con una imagen codificada en base64, simplemente seleccionamos todo el código y lo colocamos en cualquier editor de texto (I love you sublime text) y guardamos en .html

Ejecutamos el archivo .html y vemos la siguiente imagen.bmp:


Nos la descargamos y la analizamos con diferentes herramientas (exiftool,binwalk y stegsolve) pero sin ninguna pista que me sirviera de ayuda.

Después de unos minutos de bloqueo, me cambié las gafas "3D" por las lentes graduadas (simplemente limpié los cristales xD) me tropecé con unos extraños pixels que no venían "a cuento" con la imagen. 

Hice zoom y encontré esto:


Es un mensaje en morse! Si tiramos de Photoshop (también sirve Gimp o Fireworks) y jugamos con los niveles podemos conseguir una imagen mas clara, mas o menos lo dejé así:


Con el código mas visible, usamos la tool online y nos dará el siguiente mensaje:


Nos da lo que parece un tipo de "hash" por lo que habrá que hacerle un reversing para continuar con el juego. 

Primero identifiquemos el tipo de hash que hemos obtenido:


Al parecer se trata de un MD5, probamos con MD5decrypt y md5hashing y sin éxito, si ponemos en google "Reverse md5" nos aparece una web llamada GROMWEB y nos proporciona el siguiente mensaje:


Tenemos nuevas pistas! Sabemos que la imagen contiene un archivo oculto, que estará protegido con contraseña y que para extraerlo no podemos usar "Steghide". Por lo que tendremos que usar otras herramientas similares a esta.

Tras probar 4 herramientas diferente, encuentro OpenStego y vemos que nos pide la contraseña y nos exporta un nuevo archivo (level up!)


Hacemos un "cat" y vemos que ahora tenemos un archivo codificado en binario:


Son mas de 300 líneas de binario sin sentido alguno, pruebo abrirlo con bloc de notas y observamos que contiene una especie de "ASCII Art":


Necesitamos alejar el "zoom" para poder llegar a leerlo con mas claridad, el paso siguiente es abrirlo WordPad:


¡Es un código QR! (momento en el que me doy cuenta de la pista en el nombre del archivo..."Fl4g_Qr" xD)

Tras los fallidos intentos de leerlo con lectores online y con mi móvil, nos leemos la wiki de cómo funciona un QR


Sabemos que la base es que se distingan los pixels negro y blanco, por lo que se me ocurre hacer sustitución de caracteres.

Edito el archivo y modifico los "0" que hacen de fondo por un espacio en "blanco" (tecla space):


Y el resultado es este:


Hago otra prueba con el lector de mi móvil y aún es incapaz de leerlo, por lo que se me ocurre repasar "a mano" los pixels en negro con un editor de imágenes (yo utilicé Fireworks).

Sé que si lograba editar al menos la mitad del código QR y conseguir un buen contraste (blanco y negro) podría leer la información que oculta.

Unos minutos después....

Le apuntamos con nuestro móvil (en mi caso, iPhone):


¡Y voilà! La flag es: H4F{H4pPy_H0l1D4Ys}


Ciberconsejos: 

- Un .bmp puede tener mas de un secreto oculto.

- "Aunque los retos de hacking, como en la vida son complicados, pensad que mas complicado es ver a un "chino" echando gasolina". (Asiáticos! Es una cariñosa broma) 

Agradecer al equipo de Hackers4Fun por entretenernos con sus retos y HackPlayers por la mención en su blog.

Hasta la próxima hackers!