Estaba un día revisando blogs y tal cuando me tope que justo acababan de publicar el reto 6 en el blog de S21sec.
Para empezar en el texto del reto no estaba el reto...ya estamos. Lo primero fue ver el código fuente, "seguro que hay alguna pista" y efectivamente, allí hay una frase muy rara:
<!-- Hola, sí, el reto está aquí: Venga, 3,1,2, a ello!!!!: +>>+++++++++++++++++++++++++++++++++[+++< .....
Eso me sonaba a un lenguaje de programación que había visto en alguna parte, buscando por "lenguajes de programación raros" encontré que se llamaba brainfuck y en la wikipedia había un enlace a un compilador/debugger, perfecto.
Seguro que es compilar y listo....NO. Eso no funcionaba, se quedaba pillado :( Así que toco entender un poco brainfuck y ver como había muchísimos bucles sin sentido, cabrones ¿y ahora que? Ganas de matar en aumento.
Un descanso, una ducha y recuerdo eso de "venga 3, 1, 2 a ello", eso era muy raro. ¿Se conmutarán cada 3 instrucciones?
Eran 18.087 instrucciones, umm justo divisible por 3. Así que fui al final y miré las últimas 3. .]< habrá que ordenarlas de modo que hagan algo con sentido, y lo mas lógico es que el programa acabe imprimiendo una letra con el ., así que lo normal es que acabara así: <].
Realice esa conmutación sobre todos los grupos de 3 instrucciones. Ejecute el programa y devolvió una horrenda salida:
Huk pawf, qv tq ohjgpdmmg sd xaiax rwd bmzga. Dsjs wntm hwjuwma rokw vwwee rwkusmgmflw wd nisiawflz fuqzwjg, yex emw qs yiedgfwk ga ocfljsnezws vw vzsowxjsvj. hmqzwlwoebshmfljpgblgtsmrmpsjjsrwidmflgnvqwflamioesuhmfooocetsjmapskusjbaepsjjsmefckwakbuucftsbjggwgftseorokwljzsbiflgrdp Niwfs kpedhw
Ganas de matar ++
Lo ojee un poco traté de aplicar cesar y nada. Además esas líneas intermedias sin espacios entre los caracteres daban bastante miedo.
Tras estar a punto de mandarlo a tomar vientos, me fijo en que seguro que lo último que dice es "Buena suerte"´. Y que si así fuera coincide que el 3 y el 11 carácter que corresponden a la letra w serian la e de Buena suerte. Umm además a una distancia de 8 caracteres, ¿será la clave de longitud 8?
Tras sacar los desplazamientos y pasarlo a caracteres se me queda la clave FAOMIIII y el texto se descifra, bieeeeen.
Muy bien, ya te aproximas al final del juego. Para esta tercera fase debes des- cargarte el siguiente fichero, del que ya dispones la contrasenia de descifrado. hachetetepepuntopuntobarrabarrawwwpuntosveintiunosecpuntocombarradescargasbarra- retoseisguionbajoguionbajofasetrespuntozip Buena suerte.
A descargar el fichero zip, voy a descomprimirle, pongo la clave de descifrado de antes y ZAS password incorrecto. Ganas de matar aumentando mas y mas.
Tras repostar un rato y pensarlo mas detalladamente recordé que vigenere lo había aplicado al revés. Ya que en la aplicación web que use puse el texto cifrado como plano y la clave FAOMIIII, pero debería haberlo hecho al revés!! Y efectivamente la clave real era VAMOSSSS. Fichero descomprimido.
Pero el juego sigue mas y mas, no se cansan!! Abro el fichero y la cabecera dice que es un GIF, pero no lo reconoce ningún programa. Leo un poco el RFC y veo que la longitud es absurda, 10 de alto por ~10000 de ancho. Cree un gif de ese tamaño para comparar la estructura y nada tenia sentido, el gif mío ocupaba muchísimo menos. Hay un hola y adios desconcertantes. Mikel da unas pistas de lo mas extrañas de vivaldi, mozart, bach. Nada tiene sentido.
Las ganas de matar llegan a su limite y abandono hasta nueva idea feliz que nunca llegó.
Hace unos días han publicado la solución en ella, Dani Kachakill y Dreyer & Uri han puesto el solucionarío del reto completo siguiendo unos procedimientos muy correctos y bien explicados.
Lo que me falto fue identificar que ese último fichero no era un GIF sino un archivo WAV :S Nunca lo habría logrado.
Muerte a los retos.