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.