jueves, 16 de abril de 2020

De todo se aprende


Recientemente ha tenido lugar un CTF de C0r0n4con, de hecho aún sigue, por lo que intentaré un hacer demasiado spoiler.

Durante los primeros días del CTF, tuve un momento para conectarme y realizar un reto de esteganografía, de hecho, uno que te daba 100 puntitos.

El reto consistía en dada un imagen, obtener la flag… nada fuera de lo normal, aunque personalmente terminé aprendiendo algo nuevo

El archivo descargado consistía en un archivo “pdf”, que cuando lo abras veras dos páginas, en la segunda de ellas podrás ver el siguiente icono


Si haces doble click sobre el icono, aparecerá un mensaje de texto que nos dará varias opciones, entre ellas estará aquella que nos permitirá ver el contenido del archivo.

El contenido se trata nada más y nada menos que de un hash en base64



Si decodificamos su contenido de manera online, vemos que lo que tenemos es un archivo en formato PNG (imagen)


Ahora se nos plantea un problema, como trasladar esta información a un archivo que tras ser interpretado nos muestre la imagen. Puedes pensar que con un simple corta y pega se resuelve pero me temo que no, ya que lo que estas copiando son caracteres ASCII y por ahí no van los tiros.

¡Pruébalo si no me crees!

En este punto, puedes hacer dos cosas: buscar alguna web online que nos haga lo que necesitamos, que existen o utilizar algún tipo de lenguaje de programación para realizar la tarea.

Yo tomé el primer camino, pero me prometí abordar el segundo… ¡y aquí estoy!… para ello ¡te escojo a ti, PYTHON!

Y aquí tenéis el código resultante:


Y nuestro archivo PNG, contiene la siguiente imagen:


Bien, hemos conseguido un código de barras.

Ahora toca, transformar dicho código de barras a caracteres ASCII.

En este punto podemos hacer dos cosas: buscar alguna web online que nos haga lo que necesitamos, que existen o utilizar algún tipo de lenguaje de programación para realizar la tarea.

Yo tomé el primer camino, pero me prometí abordar el segundo… ¡y aquí estoy!… para ello ¡te escojo a ti, PYTHON!

Pero antes necesitamos instalar la siguiente librería de Python: pyzbar, pero es fácil. Con un simple: apt-get install libzbar0, lo tenemos.
Y aquí tenéis el código resultante:


Y nuestro código de barras se corresponde con la cadena:


Estos códigos y alguno más lo dejo en mi github, por si os sirven de algo.

En cualquier caso…

Lo que hagas con la información es cosa tuya, no mía... pero ten conciencia.