Solución del reto "Who is Mr Robot?"

2 comments
Hola de nuevo. En esta entrada os traigo la resolución del reto Who Is Mr Robot de este blog. Muy a mi pesar no he conseguido terminarla del todo, me quedé justo en el último paso al igual que mucha gente que ha intentado este reto.



El reto lo podéis encontrar aquí por si queréis intentarlo antes de leer la resolución.

Para comenzar, se nos presentan dos mensajes:

Mensaje 1
Gv xjiomvnzñv kvmv jwozizm zg ozsoj zi xgvmj zn: ZqdgXjmk

Mensaje 2
xzvpocj tp iwxdfv  n pv lttstrmjv og ai gswwe, no tdrozlusñr tw rpzkgdgvjjzv!


El primero está cifrado con Cifrado César, y para obtenerlo habría que aplicar o bien un desplazamiento hacia adelante de 5 o un desplazamiento hacia atrás de 21. Obtenemos “La contraseña para obtener el texto en claro es: EvilCorp”. El siguiente mensaje está cifrado con Cifrado Vigenère, y como hemos obtenido anteriormente, la clave es “EvilCorp”. Obtenemos “tenemos el nombre  y la direccion de mr robot, la contraseña es whoismrrobot!”

Justo debajo de esos mensajes tenemos un enlace para descargar un .rar con contraseña, lo abrimos con la contraseña obtenida anteriormente “whoismrrobot!” y nos encontramos dos archivos. Uno de ellos no tiene extensión, así que lo abrimos con un editor hexadecimal y observamos que se trata de un .rar por su cabecera.


Extraemos y observamos que obtenemos un archivo pero además nos muestra un error. Volvemos de nuevo al editor hexadecimal y observamos que hay un archivo que no se ha extraído.



Buscamos 30 bytes antes del nombre del archivo y vemos que el byte de cabecera de dicho archivo (que debería tener un valor de 0x74) tiene el valor 0x00. Lo cambiamos por el valor 0x74 y extraemos de nuevo obteniendo ya dos archivos: un .exe y un .png. El .png no se ve por tanto volvemos a analizarlo con el editor hexadecimal y observamos que se trata realmente de un .jpeg. Cambiamos la extensión y lo abrimos, y podemos observar en la parte inferior derecha que hay parte de la imagen con ruido.


Usamos el comando “strings” y le pasamos la imagen, y vemos que al final del todo aparece un mensaje un tanto extraño “Pass:ot”.

Nos vamos al otro archivo que dice ser un .exe pero ya por costumbre directamente usamos “strings” para ver si hay algún mensaje oculto, y efectivamente observamos casi al principio “Password:Elliot”. Dejamos de lado estos archivos pero teniendo en cuenta las dos contraseñas obtenidas.

Pasamos ahora al otro archivo .p7z que hemos obtenido al principio y lo extraemos, obteniendo un archivo .wav. Lo primero que se me ocurrió al ver ese archivo fue usar Deepsound, ya que el reto tiene como fuente la serie Mr Robot, y esta es una herramienta que se usa en ella para ocultar archivos en audio. Intentamos obtener algo con la primera contraseña obtenida “ot” pero no obtenemos nada, pero por el contrario con la segunda “Elliot” obtenemos un .txt con un mensaje, aparentemente en base64.

 

Hasta aquí llegué yo, y tras muchos intentos de descifrar el mensaje con la contraseña “ot” anterior (que finalmente no servía para nada), usar cifrado César, separar mayúsculas y minúsculas y volver a probar lo anterior con ambas partes… No fui capaz de obtener nada de dicho mensaje. Finalmente Snifer me dijo cómo se terminaba el reto, y aquí os lo dejo. Para obtener el texto en claro del mensaje había que emplear la herramienta stegb64 elaborada por Hecky, que oculta texto en una cadena que aparenta estar en base64. Empleamos entonces la herramienta, y obtenemos finalmente el mensaje de final del reto: “MrRobotEresTuEvilCorpYaLoSabe”.


Podéis dejar si queréis en comentarios hasta dónde llegásteis del reto, o cualquier duda sobre la resolución.

Un saludo y hasta la próxima.

AlDr0id

2 comentarios

  1. Hola, tengo una duda, ¿cómo dedujiste que el cifrado es César? ¿a base de prueba y error o hay algo que te permita deducir el tipo de cifrado utitlizado?

    Gracias por el post!!

    ResponderEliminar
    Respuestas
    1. Hola! Pues yo personalmente no tengo ninguna forma determinada de saberlo, lo que hice fue observar las palabras de dos letras ("Gv" "zg" "zi" "zn") y probar con palabras de dos letras en español que encajaran, probé "Gv" y me encajó "La". Otra opción es coger el texto entero y probar distintos desplazamientos a ver si alguno produce alguno coherente. Yo usé http://www.brianur.info/cifrado-caesar/ y si no sale ninguno coherente pues no es cifrado César

      Eliminar