
Dado que mi bebé todavía no ha nacido (…qué poquito me queda…) y que además disfruto de la jornada intensiva, tengo tiempo y por qué no, ¡vamos a intentarlo!
Primero descargamos el código y le echamos un vistazo. Es fácil pensar que probablemente el código esté codificado en Base64, así que procedemos a intentar decodificarlo. Para ello utilizamos un decoder online, introducimos el texto y salvamos el binario:

El siguiente paso es ver qué es exactamente el binario descargado. Para ello abrimos el fichero con un editor hexadecimal y en seguida observamos en la cabecera que se trata de un formato JFIF (JPEG File Interchange Format):

¡Es una imagen! Renombramos el fichero y vemos la siguiente viñeta:

Después de leer la tira (bastante buena por cierto), llama la atención la URL http://xkcd.com/538/. Se trata de un sitio de webcomics de donde han obtenido la imagen.
De lo que no hay duda es que el reto no acaba aquí, no puede tratarse tan sólo un tonta decodificación en Base64, así que la imagen debe contener algo oculto
He de reconocer que en este punto me atasqué bastante, ya que me rompí la cabeza con los datos EXIF, analizando la imágen y haciendo un montón de pruebas con Exiftool y JPEGSnoop.
Sin embargo ahora seguiremos por el buen camino y descargaremos la imagen original de la web para compararla con la imagen del reto.
Al abrir ambas en seguida nos damos cuenta: la imagen del reto contiene un sospechoso borde que la diferencia de la original.
Aumentamos el zoom para observarlo detenidamente:

Nos acercamos un poquito más…

Y ya está, de repente se ve claro: dos líneas de píxeles, negro o blanco, 1 o 0, es decir, tenemos un código binario.
Empezamos con lo más lógico, asociamos el píxel en blanco a 0 y el negro a 1:

Así con todas las líneas en sentido de las agujas del reloj: arriba, derecha, abajo e izquierda, hasta obtener el siguiente código:
010000110111100101110010011011100110011001110010001000000111001101100010011110010111100101100010011010100010000001100111011101010111011001100110001000000111100101110110011000010111100000111010001000000010000000100000001000000010000000100000011101010110011101100111011000110110011000111010001011110010111101110000011011000110111101110010011001010110011001110010011100000110100001100101011101100110011101101100011100000111010101101110011110010111100101110010011000010111010001110010001011100110001001100101011101000010111001101000011110000010111100111000001100110011010001110111011001110110001100101110011101010110011101111010011110010010000001110101011001110110011101100011011001100011101000101111001011110111000001101100011011110111001001100101011001100111001001110000011010000110010101110110011001110110110001110000011101010110111001111001011110010111001001100001011101000111001000101110011000100110010101110100001011100110100001111000001011110011100000110011001101000111011101100111011000110010111001110101011001110111101001111001000000
Y lo convertimos a ASCII:
Cyrnfr sbyybj guvf yvax: uggcf://plorefrphevglpunyyratr.bet.hx/834wgc.ugzy uggcf://plorefrphevglpunyyratr.bet.hx/834wgc.ugzy
Esto ya tiene muy buena pinta. Sin duda alguna el ASCII parece contener varias URLs codificadas y, tal y como vemos por el órden de los caracteres y la sintaxis, parece tratarse de un cifrado de rotación, en concreto 13 posiciones. Si, es nada más y nada menos que ROT13 y procedemos también a decodificarlo con alguna utilidad online:

Ya tenemos el mensaje:
Please follow this link: https://cybersecuritychallenge.org.uk/834jtp.html https://cybersecuritychallenge.org.uk/834jtp.html
Bien, como véis parece que esto no termina aquí. Pinchamos el nuevo enlace y obtenemos un nuevo código:
68edcdec4e2c8eae8d2c8e2dedcd6e04d2042fedae52ceac04ccedaecd8c042ccd8c046cedad0e8dac8eac8c048e0dac044aa82889046c0d2c8d8daccdecacc5042bedae4e04ee2dcd046ced8cac042d6e04046c2f4c664ea76e666cae4e268e2f456c0d088d8d66cdecac6546c6a506e6a546062606c504a141a1410a8dac2c6eac04acad2c2d8d048e0d2d6e046ced8cac048eed04edae4e048eac2cad042c8e04adac8c2d2c086c2f4cac4e6eac6cae4e2d8e2f6c0d2c8d8daccdecacc5ed4eecc5ae6dc50429cc042fedae524eac048e0dac04cc2d4e6e8e040eac4e6eedcd048eed048ced046eed85042ccd8c046c2ccd040e4eedceac042fedae04adacac8e048e0dac04ac8d2dec2d4c2d8d2d8e2f046c4e2d8eac4e2d2c0405484e2d8e2d6e0d046c2d8e2d4faccd046cae4e4eaccd8e8d2f044eac6e2d8caccd8e042dcd048e0dac04aa692504eeac04ee2d8d8d044cac042dcd048eedae6c0d048eed042c8cce2d6eac040dedee048eed046c8d2c2dad042fedae4e040e4e2d4facc504eaac8d8d048cedcdac042ccd8c04eceded8c048dae6c6d042dcd048e0dac04682f4cac4e046aac6cae4e2d8e2f04680d2c8d8daccdecac046cedad0eac8e2d8e2dedcd6e048e2c6d2dcdec040e8d2c6cac048e0d4eedaeec0dedae8e048e0dac044eac6e8e04edcc048e0dac042fac2c4ec5
¡Comienza la segunda parte del reto!
Comentarios
Publicar un comentario