Auditoría y CTFEsteganografía

Reto Ninja – Qurtuba CTF

1
Hola a todos! Soy Álvaro (@alvarodh5), aunque mi nick es Blackdrake. Ante todo quería dar las gracias a fwhibbit por permitirme escribir en este fantástico blog.
En esta entrada, explicaré como realizar el reto ninja del CTF de Qurtuba, aprovecho para felicitar una vez a toda la organización, pues hicieron un trabajo excelente.
Llegamos al reto ninja, teóricamente el más difícil pues era el que más puntuación otorgaba, comenzamos con un comprimido con contraseña, la descripción es clara: «Visita Is it a game or is it real? para continuar con el reto».
2
Obviamente no me la iba a perder por nada en el mundo, pero la pista, hizo que estuviera más atento a los pequeños detalles.
Comienza la ponencia y nos encontramos con un vídeo de 10 unido a un temazo hardcore con el que sorprendió a toda la sala a mí incluido, justo después, apareció en una de las diapositivas un personaje bastante conocido:
3
 
¿Qué hace charizard en una diapositiva? ¿Será nuestra contraseña?
 
4
 
BINGO! Archivo descomprimido y nos  encontramos con los siguientes ficheros:
5
Nos dirigimos a visualizar el contenido del fichero PassWords.odt:
6
Aparentemente un documento vacío en el que lo único que hay es la siguiente cadena:
WARGAMES ENDING
Sin perder tiempo, comencé a traducirlo:
W w    A a   R r   G g   A a   M m  E e  S s     (espacio)
E e  N n   D d  I i  N n   G g
wargames ending
 
En ese momento y entre carcajadas apareció Fran (el creador del reto) que les enseñó su pc a otros miembros de la organización que compartieron con él las risas. En ese instante supe que el documento escondía más de lo que parecía, aprovecho para darle gracias a Justo que me dijo que mirase bien todo el documento entre risas.
7
BA-GOSHI TSAH-AS-ZIH TOISH-JEH AH-NAH DAH-NES-TSA BA-GOSHI BE-LA-SANA NA-AS-TSO-SI
CLA-GI-AIH A-CHI A-CHIN TLA-GIN YEH-HES NA-HASH-CHID DZEH
Cuya traducción al castellano es: cybercampincibe
8
Llegados a este punto, contamos con 3 contraseñas (o eso parece), en este momento nos dirigimos a comprobar que contiene el audio llamado Mr.Robot 1×09.ape.
 
Al ejecutarlo, nos encontramos con otra canción hardcore… pero el nombre no cuadraba, algo debe esconder. Después de googlear y porque no, de ver el capítulo, llegamos a la conclusión de que se utiliza DeepSound, una herramienta de steganografía exclusiva para Windows, aunque, se puede utilizar con wine. (http://jpinsoft.net/DeepSound/)
Abrimos DeepSound y le pasamos nuestro audio, y como era de esperar, nos solicita una de nuestras contraseñas:
9
En este caso, h0n3yst4t10n
Y encontramos estos ficheros ocultos:
10
Ambos comprimidos con contraseña, en un primer momento, pensé que no habría problema, pues aún contamos con dos contraseñas sin usar, por desgracia, ninguna era válida. Qurtuba había finalizado, así que, me puse en contacto con Fran para preguntarle al respecto, le pasé las contraseñas y su respuesta fue la siguiente:
“Ha habido un error, es en mayúsculas, la otra, no es una contraseña, OSINT”
 
Perfecto, ahora todo tenía lógica, y aunque Qurtuba ya había finalizado y me había proclamado vencedor junto con Diego y Juan, quise acabar este reto.
Por tanto, probamos CYBERCAMPINCIBE y listo! Tenemos el fichero xab descomprimido:

11

Aparentemente un apk que descomprimiría más tarde, ahora el objetivo era conseguir la otra contraseña, en cuanto comencé a buscar sobre “wargames ending” supe cuál era la contraseña (además, Fran también mencionó unos mapas), recordaba que cuando grabé parte de su ponencia para poder volver a verla de nuevo, me fijé en un código que apareció en el medio de unas pantallas. Por tanto, busqué dicha imagen. Unos minutos más tarde, la tenía y con ella, el contenido del fichero xaa:
12
13
Era momento de decompilar el apk para comprobar si escondía algún secreto:
14
¿Un apk que no se puede decompilar ni descomprimir? Algo falla, para asegurarme, intenté instalarla en un emulador y obviamente, dió error. Por tanto, no era un apk.
Utilicé binwalk para comprobar si de verdad había algo oculto y lo encontré:
15
¿Un fichero que se llamaba igual que el comprimido? Sospechoso. No pude obtener nada útil de este fichero (ni strings, ni cabeceras etc…).
Era turno del fichero xaa, si antes parecía un apk y no lo era, esta vez, ¿qué tipo de archivo será?
16
El editor hexadecimal nos confirma que es un RIFF (o al menos, que contiene esa cabecera), me propuse escucharlo y en efecto, solo se escuchaban sonidos y ruidos.
Analicé el audio por si había de nuevo steganografía, pero sin éxito. Así que, se lo comenté a Fran, que me pasó un vídeo en youtube (Cargando un juego de Amstrad): https://www.youtube.com/watch?v=4S9qTfdUWbc.
También me preguntó sobre los nombres de los ficheros xaa y xab, le dije que tenían pinta de ser el resultado de un Split, respuesta a la que dió su visto bueno.
En este momento lo tenía claro, había que unir ambos ficheros y ejecutar el juego:
17
Me volví loco, intenté ejecutar el juego con todo tipo de emuladores sin éxito, así que, investigué sobre las caratulas, intentando generar una, después de haber probado varias herramientas desistí.
En un acto desesperado de Fran que quería ver su reto ninja resuelto, envío este enlace: http://www.rtl-sdr.com/the-international-space-station-is-transmitting-sstv-images/enseguida encontré un fragmento de texto que llamó mucho mi atención:
 
“To decode the images it is recommended to use SDR# and pipe the audio into MMSSTV, a freeware SSTV decoding software program”
Instalé el programa y le pasé el archivo generado de la unión de xaa y xab:
18
Ahí estaba la flag, reto ninja resuelto por fin!
Comencé a entender, que el vídeo de youtube era una pista sobre convertir el audio en imagen y no tenía nada que ver con Amstrad.
Sin más darle las gracias a Fran, que consiguió tenerme enganchado durante unos días para poder resolverlo.
Espero que os haya gustado!
Un saludo, Blackdrake.