Inicio Tryhackme - C4ptur3 th3 fl4g
Entrada
Cancelar

Tryhackme - C4ptur3 th3 fl4g

El última sala de Tryhackme que he realizado no es un CTF al uso, esos en los que se enciende una máquina y tienes que seguir unos pasos concretos para acceder a la máquina y posteriormente, escalar privilegios. En esta ocasión, traigo una entrada de lo que se conoce como un CTF “jeopardy”, una serie de retos más cortos en los que se puntúa por la resolución de cada uno.

En esta ocasión los retos son de la categoría criptografía y esteganografía. En todos ellos, se nos muestra una cadena que hay que descifrar o cambiar la codificación y obtener el flag.

Salvo los últimos retos de la sala, la mayoría pueden resolverse desde la navaja suiza cyberchef, ya que permite cambiar las codificaciones y cifrados de manera sencilla.


Al entrar a la sala, lo primero de lo que te informan es de que las respuestas diferencian entre mayúsculas y minúsculas, por lo que al introducir las flags se debe tener en cuenta este dato. Y sin más dilación, empecemos.

Además, para resolver toda la sala, se deben resolver cuatro secciones como son:

  • Traducción y cambio de formato.
  • Espectrogramas.
  • Esteganografía.
  • Seguridad a través de la oscuridad.

Siguiendo el orden, empezamos por el primero de todos.

Traducción y cambio de formato.

Leet

En el primer reto, nos presentan el string “c4n y0u c4p7u23 7h3 f149?” en el que se puede ver que han sustituido algunas letras por números, lo que se conoce como “leet”.

Se ve fácilmente qué números han sustituido a cada letra, pero se genera la receta sustituir los números por las letras correspondientes, siguiendo la entrada en Wikipedia, dando como resultado la flag “can you capture the flag?”.

leet

Binario.

En el reto número dos se presenta una cadena de 1 y 0, que rápidamente se identifica como binario.

1
01101100 01100101 01110100 01110011 00100000 01110100 01110010 01111001 00100000 01110011 01101111 01101101 01100101 00100000 01100010 01101001 01101110 01100001 01110010 01111001 00100000 01101111 01110101 01110100 00100001

Al introducir la cadena de texto en cyberchef y añadir la receta “From Binary” se obtiene la flag “lets try some binary out!

Binary

Base32

Cuando presentan una cadena como “MJQXGZJTGIQGS4ZAON2XAZLSEBRW63LNN5XCA2LOEBBVIRRHOM======” se sabe por los símbolos igual del final que se trata de alguna Base más alta de 16, pero ¿cual?

Sencillo, si la cadena tiene todas sus letras en mayúsculas, no dispone de los caracteres “/” ni “+” y además termina por más de 2 símbolos igual, probablemente sea Base32.

Además, las cadenas de Base32 suelen tener un número de caracteres divisible entre 8.

Como se puede ver en la captura, efectivamente, se trataba de la cadena “base32 is super common in CTF’s” codificada en Base32.

Base32

Base64.

Otra cadena que termina con símbolos iguales como es “RWFjaCBCYXNlNjQgZGlnaXQgcmVwcmVzZW50cyBleGFjdGx5IDYgYml0cyBvZiBkYXRhLg==” es el siguiente reto.

En esta ocasión se puede ver que la cadena sí que dispone de letras minúsculas, además de terminar en 2 iguales unicamente, que sumado a que los caracteres de la cadena es divisible entre 6, lo hacen un firme candidato a ser Base64.

La cadena que muestra la receta “From Base64” es “Each Base64 digit represents exactly 6 bits of data”.

Base64

Hexadecimal.

En este reto se muestra la siguiente cadena 68 65 78 61 64 65 63 69 6d 61 6c 20 6f 72 20 62 61 73 65 31 36 3f, entre la que destaca que hay sobre todo números, y la letra más alta del abecedario es la f, por lo que se puede intuir, que la cadena está en Base16 o lo que es lo mismo, hexadecimal.

Hexadecimal

Como se puede ver, al aplicar la receta de hexadecimal, la flag que aparece es hexadecimal or base16?

ROT13

Se muestra la cadena Ebgngr zr 13 cynprf! la cual se puede intuir que se ha cifrado con ROT13.

El tipo de cifrado ROT13 o Cesar, es conocido porque de una cadena, cada carácter es rotado un número de veces determinado de su posición en el abecedario, es decir, la letra A está en el abecedario en la posición 1. Si se quisiera usar el método Cesar con 13 posiciones, se debería sustituir por la letra N, y así sucesivamente con cada letra.

En la siguientre tabla, se pueden ver todas las letras.

ROT13_1

Aunque si se desea, se puede usar Cyberchef para rotar las letras de toda la cadena a la vez, pudiendo elegir incluso la cantidad de veces que se desea rotar, puesto que en algunos CTF, la rotación, no siempre es 13.

Si se usa la receta ROT13, se muestra la flag Rotate me 13 places!

ROT13_2

Si se mira en la entrada de la Wikipedia, se puede ver que existe un comando para sistemas UNIX que realiza el rotado de los caracteres.

1
tr A-Za-z N-ZA-Mn-za-m

ROT47

Como se comentaba en el punto anterior, existen otros algoritmos de rotado, por ejemplo ROT47, el cual, ya sí que reconoce los caracteres ASCII, como se puede ver en la siguiente tabla.

ROT47_1

Por lo que si se aplica la receta ROT47 al texto *@F DA:? >6 C:89E C@F?5 323J C:89E C@F?5 Wcf E:>6DX, se puede obtener la flag You spin me right round baby right round

ROT47_2

Morse

Cuando se obtiene una cadena que está generada unicamente con guiones y puntos, difícilmente puede estar codificado en otro lenguaje que no sea Morse.

La cadena en cuestión es la siguiente:

1
2
- . .-.. . -.-. --- -- -- ..- -. .. -.-. .- - .. --- -.
. -. -.-. --- -.. .. -. --.

También con Cyberchef se puede obtener la flag de este reto, usando la receta “From Morse Code”, obteniendo TELECOMMUNICATION ENCODING.

Morse

Decimal

En el reto número 9 se facilita la cadena 85 110 112 97 99 107 32 116 104 105 115 32 66 67 68 que si se verifica en esta tabla de la Wikipedia, se observa que se puede tratar de números decimales que referencian a los caracteres ASCII correspondientes.

Por lo que si se usa la receta “From Decimal” se obtiene la flag Unpack this BCD.

Decimal

Combinaciones de varias codificaciones.

El siguiente reto se complica, y es que facilitan la siguiente cadena:

1
LS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0KLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLS0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLi0tLS0KLS0tLS0gLi0tLS0gLi0tLS0gLS0tLS0gLS0tLS0gLi0tLS0gLS0tLS0gLi0tLS0=

Perfecto, vamos por partes. Como termina en un símbolo igual, se puede intuir que el primer paso es decodear el texto desde Base64.

Se obtiene una cadena llena de guiones y puntos, por lo que parece que el Morse vuelve a hacer acto de presencia.

Combinacion_1

Después de añadir la receta para decodificar el texto desde Morse, se obtiene un texto formado unicamente por unos y ceros.

Combinacion_2

Se añade la receta “From Binary” y se obtiene un texto extraño, que aparentemente parece algún tipo de rotado.

Combinacion_3

Descartando ROT13 puesto que éste no funciona con caracteres que no sean letras, se añade ROT47.

Combinacion_4

Para terminar la primera sección, se obtiene un texto unicamente formado por números separados por espacios, por lo que se intuye que son caracteres decimales.

Al añadir la receta pertinente se obtiene la flag Let’s make this a bit trickier…

Combinacion_5

Spectrograma

La segunda sección, como su nombre indica, se trata de obtener la información necesaria de un espectrograma. Bien, ¿qué es un espectrograma?

Como indica su entrada en la Wikipedia, un espectrograma es la obtención de manera visual de una señal analógica y representarla de forma gráfica.

En esta ocasión, se obtiene un fichero que al reproducirlo, se escucha un sonido ininteligible. Es por tanto, cuando a través de la herramienta https://academo.org/demos/spectrum-analyzer/ se obtiene la flag del reto.

Se introduce el fichero, y al reproducirlo muestra el siguiente espectro.

Espectrograma

Esteganografía.

Como indica el reto, la esteganografía es la práctica que oculta un fichero, a través de otro fichero, que se suele conocer como portador.

Dentro de Kali Linux existen varias herramientas que permiten obtener la información oculta de dichos ficheros portadores.

A mi, personalmente me gusta bastante steghide, ya que con el parámetro info arroja bastante información, y es bastante automática.

Se descarga el fichero, en el que se puede ver la extensión .jpg, por lo que se abre con un visor de imágenes, mostrando la siguiente imagen.

Esteganografía

Como comentaba antes, se obtiene información del fichero mediante el siguiente comando, obteniendo el mensaje sobre la existencia de un fichero llamado steganopayload2248.txt.

1
2
3
4
5
6
7
8
9
10
steghide info stegosteg.jpg     
"stegosteg.jpg":
  format: jpeg
  capacity: 2.5 KB
Try to get information about embedded data ? (y/n) y
Enter passphrase: 
  embedded file "steganopayload2248.txt":
    size: 13.0 Byte
    encrypted: rijndael-128, cbc
    compressed: yes

Mediante el comando siguiente se obtiene el fichero oculto, que aunque solicite contraseña, se presiona enter para no introducir ninguna, obteniéndolo satisfactoriamente.

1
2
3
steghide --extract -sf stegosteg.jpg
Enter passphrase: 
wrote extracted data to "steganopayload2248.txt".

Al mostrar el contenido del fichero obtenido, se obtiene la flag SpaghettiSteg

Seguridad a través de la oscuridad.

Se descarga la imagen llamada meme.jpg.

Seguridad a través de la oscuridad_1

En la última sección existen dos respuestas, que se obtienen rápidamente lanzando un comando strings.

Seguridad a través de la oscuridad_2

Pero como el principal motivo de realizar estos CTF es aprender, se decide hacer de otra manera.

Se ejecuta el comando binwalk a la imagen y se puede ver que contiene varios ficheros ocultos, entre ellos, una imagen llamada hackerchat.png en el offset 0x122EE.

Seguridad a través de la oscuridad_3

Al hacer strings, se ve la última flag, que es AHH_YOU_FOUND_ME!

Personalmente, para quitar muchas cadenas que no tienen sentido, empiezo a revisar los ficheros con cadenas superiores a ocho, y desde ahí voy reduciendo.

Seguridad a través de la oscuridad_4

Y con esto, que no es poco, se da por terminada la última sección y por tanto la sala.

Personalmente, creo que aunque sea una sala sencilla, se debe tener estos conocimientos para poder avanzar en otros retos y máquinas de CTF, puesto que, como se ha podido ver en posts anteriores, se utilizan bastante varias codificaciones, cifrados, e incluso la esteganografía.

Y con estas conclusiones, me despido, espero que os haya gustado, o ayudado.

Esta entrada está licenciada bajo CC BY 4.0 por el autor.