Nuevamente os traigo un writeup de una prueba que han hecho los conejos, en este caso viene de la mano de @belane.
Nos vamos a http://challenge.followthewhiterabbit.es:2345/ y nos encontramos con esto:
Vale, tenemos 6 imagenes, ¿estego quizás? Veamos el source:
Vale, parece que hay otra imagen comentada. Vamos a descargarlas todas a ver si hay algo interesante:
for i in $(curl -s http://challenge.followthewhiterabbit.es:2345/ | egrep -o "<img src=[^>]*>" | sed 's/<img src=\"\([^"]*\).*/\1/g'); do wget http://challenge.followthewhiterabbit.es:2345/$i; done
Como todas están en png vamos a ver primero si hay algo raro en alguna de ellas, para ello utilizaremos pngcheck, una utilidad que comprueba que los png no tengan errores:
pngcheck *.png
Nos encontramos con esto:
Parece que solo una ha fallado, veamos que nos dice binwalk:
binwalk mr_2617.png
Interesante, tenemos un archivo zip, vamos a extraerlo utilizando dd (podríamos sacarlo con binwalk pasándole -e pero vamos a aprender un poco):
dd if=mr_2617.png of=output.zip bs=1 skip=1818192
Le decimos a dd que utilice como medida un byte y que se salte los 1818192 primeros bytes para que empiece a leer desde donde binwalk nos dice que empieza el zip. En caso de que hubiera mas información después del zip podríamos utilizar la opción count para extraer un número de bytes determinado (la diferencia entre el byte donde termina el zip y el byte donde comienza).
Intentamos descomprimir el archivo:
unzip output.zip o 7z x output.zip
Yo suelo preferir la opción de 7z ya que reconoce el tipo de compresión y te sirve para descomprimir diversos tipos de fichero con una sola herramienta.
El archivo tiene contraseña, mmm, ¿donde estará?. Vamos a empezar con exiftool y la imagen que contenía el zip a ver que nos dice:
Espera, ¿es eso binario? Vamos a probar a decodificarlo en http://www.asciitohex.com/:
Pues tiene toda la pinta, utilizamos «P4ssw0Rd_F1le.HL» como password y obtenemos el archivo que antes estaba comprimido, lo leemos y obtenemos la flag:
fwhibbit{rabbit-flag-1201dc1f15046f6e62f3eb338c92a}
Como nota final decir que esta solución no era la esperada y fue debido a un pequeño olvido ya que la password no debería de aparecer en plano sino que tendríamos que leerla de la imágen directamente.
Aquí podéis leer el writeup de David donde la resuelve de la forma en que la prueba estaba realmente diseñada.
Espero os haya gustado, como siempre, gracias por vuestra visita, saludos!