PDF de programación - Solución a las pruebas 11 y 12 del reto Secutel 2009

Imágen de pdf Solución a las pruebas 11 y 12 del reto Secutel 2009

Solución a las pruebas 11 y 12 del reto Secutel 2009gráfica de visualizaciones

Actualizado el 6 de Mayo del 2018 (Publicado el 12 de Noviembre del 2017)
708 visualizaciones desde el 12 de Noviembre del 2017
235,8 KB
9 paginas
Creado hace 15a (01/05/2009)
Solución a las pruebas 11 y 12 del reto Secutel 2009

Mayo 2009 © Daniel Kachakil


Introducción

Este documento describe una solución a las dos últimas pruebas del reto de
criptografía Secutel 2009 de la IEEEsb-UPV, publicado el 30 de abril de 2009 en la
siguiente dirección web:





http://www.ieee.upv.es/cripto/concurso.php






El reto constaba de 12 pruebas de criptografía y esteganografía, todas ellas
independientes y cada una con una puntuación acorde a su nivel de dificultad. Tras la
finalización del tiempo oficial asignado para poder puntuar en el mismo (las soluciones
debían enviarse antes del 09/05/2009), quedaron dos pruebas sin resolver por parte de
ninguno de los participantes, que son precisamente las que se solucionan aquí.


Cuando supe de la existencia del reto, el plazo oficial ya había finalizado, los
premios habían sido repartidos e incluso se habían publicado las soluciones oficiales al
resto de las pruebas (disponibles aquí y aquí).


Pistas y documentación

En la misma página donde estaban publicadas las pruebas, había un espacio
reservado para que los organizadores fueran dejando pistas cuando lo consideraran
oportuno. Ya que en nuestro caso o no había o no resultaron de gran ayuda, usaremos
como principal fuente de información la propia presentación de la conferencia Secutel
2009 en la que se dio a conocer el reto, cuyos ponentes (Amine Taouirsa y Javi Moreno)
son también los organizadores de estas pruebas.


El resto de soluciones publicadas también nos podrían servir para hacernos una
idea de cómo estaban planteadas las otras pruebas y tal vez para poder descartar algún
algoritmo de cifrado o técnica que ya hubiera sido usada previamente (aunque
evidentemente nadie garantiza que las fases no se puedan repetir).



1

Solución a las pruebas 11 y 12 del Reto Secutel 2009



© Daniel Kachakil

Prueba 11 (Matrioska: get the password!)

Partimos de un fichero de imagen en formato JPEG (qrcode.jpg), que contiene
un código de puntos bidimensional en un cuadrado de 1000 píxeles de lado. A simple
vista (incluso sin habernos fijado en el propio nombre del fichero), podemos intuir que
se trata del formato QR-Code, puesto que se aprecian en él todas las características
típicas de este formato (marcadores de posición, sincronización, etc).


Para poder decodificarlo podemos usar cualquier escáner que soporte este
formato o algún teléfono móvil con cámara y software adecuado (hoy en día muchos
vienen ya con este tipo de aplicaciones preinstaladas), pero si no tenemos a mano uno
de estos dispositivos y tampoco queremos complicarnos la vida instalando programas
desconocidos, simplemente buscaremos alguna aplicación web que lo haga.


Por ejemplo, podemos usar esta aplicación, en la que no tenemos más que
adjuntar y enviar el fichero, obteniendo el contenido decodificado de forma instantánea.


TEXTO DECODIFICADO:

el cifrado verdadero se abre con la
contraseña elbigbangesunyoyo



jhead -st miniatura.jpg qrcode.jpg


Si nos guiamos una parte del título de la prueba (get the password), podemos

pensar que ya tenemos la contraseña que estábamos buscando, pero si tenemos en
cuenta su nivel, podemos estar seguros de que nos hemos dejado algo por el camino...


Para no entretenernos demasiado analizando el contenido del fichero con un
editor hexadecimal, podemos utilizar la herramienta jhead, que nos mostrará toda la
metainformación incrustada en el fichero JPG:



Como se puede apreciar de un simple vistazo, la miniatura que contiene el

fichero no se corresponde con la imagen original, sino que contiene un texto (en
formato gráfico) con la siguiente frase: “El password del stegoculta es arpanet”


Además de revelarnos otra contraseña (que tampoco es la definitiva), este texto
nos indica que hay una parte de esteganografía (información oculta en la imagen) y que
además la aplicación de esta técnica está combinada con algún tipo de cifrado.


Si nos remitimos a la diapositiva 64 de la presentación, encontramos un listado
de algunas de las herramientas de esteganografía más conocidas. Entre ellas,
destacamos las que utilizan el formato JPEG como portador de información. Por tanto,
si utilizamos la herramienta steghide con la contraseña indicada, obtendremos un
fichero oculto que contiene el siguiente texto: “para seguir bajate el archivo
http://www.ieee.upv.es/cripto/pruebas/11/cifradoverdadero”



2

Solución a las pruebas 11 y 12 del Reto Secutel 2009



© Daniel Kachakil



Tras proceder a la descarga del fichero indicado en esa URL, observamos que se
trata de un fichero de 409.600 bytes, sin ningún tipo de extensión ni de cabecera que
indique de qué formato se trata. Por la primera pista, asumiremos que está cifrado con la
contraseña “elbigbangesunyoyo”, pero desconocemos con qué algoritmo está cifrado.


Podemos utilizar la herramienta CrypTool para analizar e intentar descifrar el
fichero con los diferentes algoritmos que tiene implementados. Lo primero que se
observa es que el fichero tiene un grado de dispersión y de aleatoriedad muy elevado, lo
que suele ser un indicador de algún tipo de cifrado moderno. Habiendo descartado el
cifrado XOR y el de desplazamiento de bytes, nos quedan unos cuantos algoritmos por
probar (IDEA, RC2, RC4, DES, AES, etc.), los cuales usan diferentes longitudes de
clave, pero ninguno de ellas es de 17 bytes (136 bits). Podríamos intentar recortar o
rellenar con ceros la clave hasta que cuadre con las longitudes, pero no lograríamos
nada. Tampoco logramos descifrar nada usando como clave diferentes hashes de la
contraseña (por ejemplo, MD4, MD5, SHA-1, SHA-256, SHA-512, etc.)



Análisis del fichero cifradoverdadero con CrypTool







Si tenemos en cuenta el propio nombre de la prueba (matrioska, como las
famosas muñecas rusas), podríamos deducir que se trata de un cifrado múltiple, a base
de aplicar varias veces el mismo algoritmo, o incluso diferentes algoritmos, lo cual
aumentaría bastante la dificultad de la prueba. Si tenemos en cuenta que la contraseña es
de 17 caracteres (número primo) y que el único algoritmo (de los implementados en
CrypTool) que admite una clave de un byte es el RC4, cabría la posibilidad de que esté
cifrada 17 veces con este algoritmo, pero resulta que tampoco es así...


Nos encontramos en uno de los puntos más desesperantes de la prueba, porque
para poder avanzar necesitamos alguna idea feliz. Si repasamos minuciosamente todas
las diapositivas de la presentación, veremos que la última de ellas nos habla de cifrado
de volúmenes con TrueCrypt (¿no suena esto a “cifrado verdadero”?), así que



3

Solución a las pruebas 11 y 12 del Reto Secutel 2009



© Daniel Kachakil

procedemos a la descarga de esta aplicación y abrimos nuestro fichero con ella. Al
hacerlo, el programa nos pide una contraseña y si le introducimos la que tenemos en
nuestro poder lograremos montar una unidad virtual de disco que contiene un fichero
(cuyo nombre es “ = ”, sin ninguna extensión).


Si le echamos un vistazo al contenido del fichero, enseguida nos damos cuenta
de que la cabecera es de tipo ID3, un estándar muy utilizado para incluir metadatos en
ficheros MP3, lo que nos lleva a abrir el fichero con algún reproductor de audio para ver
si podemos escuchar alguna grabación (¿con la contraseña final?), pero no es así. Parece
que esto no ha llegado a su fin, porque escuchamos una serie de tonos intermitentes, que
tendremos que decodificar, pero antes de ello deberemos averiguar a qué algoritmo de
codificación corresponden.


Para ello contamos con una pista que podíamos leer en la misma cabecera del
fichero (“El código de los mares”), la cual unida con las propias características de la
señal audible, nos lleva a deducir que se trata del famoso código Morse. Dependiendo
de nuestras habilidades, podemos intentar ralentizar la velocidad de reproducción del
audio y entretenernos decodificando el mensaje de forma manual, o bien podemos optar
por alguna herramienta que lo haga por nosotros, como MultiPSK, vinculando la línea
de entrada a de la salida de audio y seleccionando la opción CW (Morse). Mientras se
reproduce el fichero, iremos obteniendo poco a poco su contenido legible.







Estaba convencido de haber obtenido la última de las contraseñas, puesto que ya
no teníamos más elementos con los que hacer nada más, así que envié mi solución. Sin
embargo, al día siguiente recibí como respuesta un mensaje inesperado, indicándome
que la prueba no acaba ahí. ¿Aún hay más? Parece que algo se nos ha pasado por alto...


Al igual que en la primera fase obtuvimos un mensaje oculto en la imagen JPEG,
no sería de extrañar que también se podrían haber aplicado técnicas de esteganografía
en el fichero MP3, así que probamos con MP3Stego (herramienta que también aparece
en las diapositivas de la charla). La propia contraseña podría haber sido una pista,
puesto que el efecto Doppler trata precisamente de ondas como las del sonido. Sin
embargo, esta opción tampoco nos llevará a ningún sitio.


Tras repasar uno por uno todos los elementos de la prueba, vemos que tal vez la
apuesta más segura sea la del disco virtual, puesto que su tamaño es de 126 KB, de los
que solamente tiene ocupados 68 KB. Intentamos recuperar ficheros borrados con
alguna herramienta, pero tampoco encontramos nada, así que volcamos la imagen
completa del disco (p. ej., usando ADRC recovery tools) para poder analizarla a fondo.



4

Solución a las
  • Links de descarga
http://lwp-l.com/pdf7469

Comentarios de: Solución a las pruebas 11 y 12 del reto Secutel 2009 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad