CTF de FAQin

En el día de hoy vamos a adentrarnos en el divertido mundo de los CTFs. Y nos iniciamos con uno que ha debido llevar bastante trabajo a los creadores, el CTF que permitía la asistencia al FAQin Congress, un congreso de seguridad underground. Desde aquí quiero dar la enhorabuena a los organizadores por un CTF muy currado y muy entretenido (a la par que desesperante en muchas ocasiones).

Empezamos en la web donde nada mas registrarnos recibimos un token como este:

De momento lo dejaremos aparcado ya que no podemos hacer mucho. Generalmente estos tokens se usan para comprobar que has sido tu el que has resuelto el CTF.

Tras logarnos en la web se nos presenta una falsa consola de unix hecha en javascript. Dicha consola tan solo respondía al comando cat el que nos mostraba el siguiente mensaje:

A simple vista me pareció un base64 por lo que me pongo manos a la obra:

Vaya, otro mensaje cifrado. Este me suena a hexadecimal. Muchos os preguntareis “¿Cómo sabes que es hexadecimal o base64 a simple vista?”. Supongo que es la practica, no os queda otra que entrenar y entrenar. Bueno, seguimos, pasamos el hexadecimal a ascii y obtenemos esto:

Vale, ¿y ahora?. Este fue el punto clave del CTF. Estuve hablando con varios compañeros y todos nos quedamos en el mismo sitio y a todos nos mosqueaba los mismo. Para empezar, si os fijáis, en el primer texto descifrado aparecían numerosas combinaciones de PI así, en mayúsculas cuando no correspondía. Ademas, al final de la frase aparecía un “>” que no tenía ningún sentido ahí. Pese a estar muy cerca de la respuesta, tras 24 horas del incio del CTF tan solo 2 personas lo habían resuelto. Todos estábamos detrás del PI, calculando cosenos y senos, mirando las letras del mensaje que correspondían a la posición del numero pi… Vamos, probando de todo.

En este momento la organización soltó una pista que, en definitiva, nos indicaba que debíamos hacer un XOR de algo. De modo que hice una XOR con lo que no cuadraba “PI” xor ” >” . El resultado es pw . ¿pw?, ¿que es pw?, ¿password?.

Aquí entró en juego mi otra sospecha. La frase “you can obtain your private key from the zone faqin. >” me causaba también dudas y lo de zona faqin me sonaba a dns. ¿Zona faqin.pw?:

Vaya, existe. Je je …

¿Y habrá algún TXT?

Pues si, y me dice que tengo un TXT para mi solo. Aquí tiene que entrar el token en juego:

Bueno bueno, otro mensajito. Aquí cometí un “fallo”. No un fallo como tal, pero no lo hice correctamente. Identifiqué el mensaje como un simple base64. Así que lo cogí, quité comillas y espacios, y lo pase por el base 64

Bueno, me pareció raro, pero ahí tenía como acceder a mi entrada para el congreso.

Días después, la organización envió otro mail con un archivo ctf_letter.pgp adjunto. Tenía el siguiente contenido

Mensaje cifrado con pgp. Y de donde saco la clave? No estaba ya terminado el CTF?. Aquí es donde se me apareció mi “fallo”. Interprete el mensaje del registro DNS como un mensaje base64 simple cuando se trataba de una clave. De modo que cree un archivo con la clave:

Y ahora descifro el mensaje:

Y eso es todo, mandamos nuestro ACK y estamos dentro.

Aunque aquí, así explicado parece sencillo la verdad es que me costó muchísimo, sobre todo la $#%^&* XOR.

Espero que os haya gustado y os animéis a este tipo de retos que son muy entretenidos y se aprende muchísimo.

Nos vemos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.