Entrada

In Plain Sight - 1337UP LIVE CTF2024

Reto de Esteganografía basado en recuperar datos incrustados de diferentes archivos.

In Plain Sight - 1337UP LIVE CTF2024

Autor del reto: CryptoCat

Dificultad: Fácil

Enunciado

“Barely hidden tbh..”

Archivos

En este reto, solo nos dan el siguiente archivo.

  • meow.jpg : Fichero de imagen.

Archivos utilizados aquí.

Analizando la imagen

El archivo que nos dan se corresponde con la imagen de un gato.

Gato

Aparentemente tenemos que encontrar algo de información en esta imagen, para ello iremos jugando con distintas herramientas como exiftool, binwalk, zsteg, stegseek, stegsnow, strings, file para tratar de recuperar datos incrustados en dicha imagen.

Solución

El primer paso que deberemos de hacer es ejecutar la herramienta binwalk la cual nos mostrará la siguiente información.

1
2
3
4
5
6
7
8
┌──(kesero㉿kali)-[~]
└─$ binwalk meow.jpg


DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
2144878       0x20BA6E        Zip archive data, encrypted at least v2.0 to extract, compressed size: 1938, uncompressed size: 3446, name: flag.png
2146976       0x20C2A0        End of Zip archive, footer length: 22

Como podemos ver, dicha imagen contiene un archivo .zip con información en su interior, para extraer dicho fichero.zip utilizaremos el parámetro -e.

1
2
3
4
5
6
┌──(kesero㉿kali)-[~]
└─$ binwalk -e meow.jpg

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
2144878       0x20BA6E        Zip archive data, encrypted at least v2.0 to extract, compressed size: 1938, uncompressed size: 3446, name: flag.png

Una vez extraído dicho fichero, se nos creará una carpeta llamada _meow.jpg.extracted donde estará dicho fichero zip.

Al intentar descomprimir dicho fichero zip, nos piden una contraseña para poder hacerlo, es por ello que en este punto tendremos que seguir probando con herramientas e ir jugando un poco con ellas.

En este caso la contraseña se encontraba dentro de la imagen meow.jpg, simplemente lanzando un string a la imagen, podemos ver la contraseña.

1
YoullNeverGetThis719482

Una vez tenemos la contraseña, descomprimimos el fichero .zip y obtenemos un archivo llamado flag.png el cual se corresponde con la siguiente imagen.

1
2
3
4
5
┌──(kesero㉿kali)-[~]
└─$ unzip -P YoullNeverGetThis719482 20BA6E.zip

Archive:  20BA6E.zip
inflating: flag.png 

flag.png

Podemos observar lanzando un file, que efectivamente se corresponde con el formato de una imagen .png la cual contiene información en su interior. Es por ello que nuevamente deberemos de seguir jugando con las distintas herramientas esteganográficas.

Por último, el siguiente paso que hay que dar viene dado por observar las distintas capas que contiene dicha imagen con herramientas como Gimp, Photoshop, las cuales permiten obtener una descomposición en sus capas mostrando información contenida en ellas. A su vez, podemos jugar con el brillo y el contraste para observar posibles cambios en la imagen.

En mi caso, yo utilicé la herramienta convert la cual extrae la posible información existente en las capas de una imagen aparentemente oculta. Es por ello que ejecuté el siguiente comando.

1
2
┌──(kesero㉿kali)-[~]
└─$ convert flag.png -auto-level output.png

Abrimos la imagen y efectivamente, encontramos la flag.

output.png

NOTA

Mirando otros Writeups, hay gente que lanza busquedas de Estego online mediante el siguiente enlace: https://georgeom.net/StegOnline/image

Flag

INTIGRITI{w4rmup_fl46z}

Esta entrada está licenciada bajo CC BY 4.0 por el autor.