viernes, 7 de diciembre de 2018

Criptografía (CXVII): Solución Reto Atenea "Really???"

En este post la solución al sexto reto de "Criptografía y Esteganografía" de la plataforma ATENEA del CCN-CERT con desafíos de seguridad.

En concreto, este sexto reto tiene el título de "Really???" y tras su resolución se obtienen 425 puntos (Dificultad: ).

Su enunciado dice lo siguiente:


Durante el estudio del disco duro del ordenador de un sospechoso se ha encontrado un fichero cifrado mediante PGP. Al no encontrarse ninguna clave privada dentro del equipo se sospecha que dicho fichero esté cifrado mediante cifrado simétrico.

Por otro lado, todas las contraseñas obtenidas de varias cuentas del sospechoso (a partir de la investigación de su equipo) tienen las siguientes características:

- Son de longitud 6 o 7.
- Sólo contienen letras minúsculas.
- Sólo se utilizan estas letras: qwertyiopnmjk.
- No se repite ninguna de las letras de la contraseña.
- Algunas de ellas contiene únicamente un número entre estos: 013.

Ninguna de esas contraseñas ha servido para descifrar el fichero, pero quizás haya sido cifrado con una contraseña con estas mismas características.

No sabemos si el contenido del fichero es relevante para la investigación, pero sólo hay una forma de averiguarlo...
Pista! La lengua materna del dueño del equipo es el inglés
Solución: Parece claro que lo primero que debemos hacer es crearnos un diccionario de contraseñas que cumplan las características indicadas en el enunciado. Además, la pista que se nos proporciona parece indicarnos que para ello deberíamos partir de algún diccionario de passwords en inglés. El más conocido de estos último es 'rockyou'.

Por tanto, para obtener el diccionario con el que realizar el ataque de fuerza bruta utilizamos 'Grep' (una utilidad que busca en uno o más archivos de entrada las líneas que contienen una coincidencia con un patrón específico), de la siguiente manera:
Lo siguiente que tenemos que hacer para 'crackear' la contraseña con la que descifrar el mensaje que contiene el archivo asociado al reto (message.asc) es obtener el hash correspondiente al mismo. Para ello utilizamos 'John the Ripper', de la siguiente manera:
A partir de los dos archivos así obtenidos (diccionario.txt y message.hash) ejecutamos john y, si tenemos suerte, obtendremos la contraseña:

john --wordlist=diccionario.txt message.hash
Bueno, parece que ha habido suerte y que la contraseña es "monkey3".

Una vez conseguida la contraseña desciframos el mensaje:
Y obtenemos un fichero de texto (message.txt).

A la vista del contenido de ese archivo, sospecho que tiene información oculta y que para ello se ha utilizado la herramienta de esteganografía 'SNOW'. Intentamos recuperar la información escondida:
Buscamos en 'Google' los ingredientes de la receta anterior a ver que obtenemos:
La bebida en cuestión es el grog, y, conforme al fichero txt que contiene la receta, la solución al reto es: groggrog (recordar que hay que introducirla con formato flag{md5}).

No hay comentarios:

Publicar un comentario