Como resolver Took The Byte (HTB)

René Silva Valdés
Challenges  HTB
Published in
3 min readDec 2, 2019

Guía para resolver el forensic challenge Took The Byte en Hack The Box.

El archivo descargado no tiene formato y al ver su contenido contiene caracteres ilegibles. Para resolver este problema utilizaremos la herramienta CyberChef. Con esta herramienta podemos hacer un análisis del archivo con funciones como Hexdump o Entropy.

CyberChef.

Cyberchef cuenta con una herramienta ‘‘Magic’’ (en la imagen), la cual intenta detectar propiedades de nuestro input y nos sugiere operadores que podrían ayudarnos a darle sentido. Al usar esta herramienta en modo intensivo, vemos que al aplicar el operador XOR con la llave “ff” obtenemos un archivo zip. A partir de esta operación, podemos descomprimir el archivo usando el mismo CyberChef (Unzip) y obtendremos un .txt con la flag.

Que sucede realmente?

Al parecer, el archivo que contiene la clave fue codificado usando XOR cipher de modo que sea ilegible. Debido a que la ofuscación de archivos puede hacerse de distintas formas, primero es necesario identificar que el cifrado aplicado corresponde a un XOR y luego determinar que llave fue utilizada para codificar. En el caso de este challenge, la llave es de largo 1, por lo que el cifrado es débil (por eso la herramienta magic logra resolverlo y por eso el challenge está catalogado como “fácil”). Al aplicar XOR con una llave de largo 1, lo que ocurrirá es que cada vez que se ejecute el XOR con el byte 0x00, el resultado será la llave del algoritmo, de modo que el cifrado puede romperse haciendo un análisis de frecuencia. A continuación podemos ver el Hexdump del archivo con la llave repetida muchas veces:

af b4 fc fb eb ff f7 ff f7 ff 28 63 aa b1 ff ff ff ff ff ff ff ff ff ff ff ff f3 ff ef ff 8f 9e 8c 8c 88 90 8d 9b d1 8b 87 8b aa a7 f3 ff 24 bb 90 a3 6a bb 90 a3 0a fe eb ff 0c f7 8e 55 c9 cd 88 33 8d 8c 36 d1 33 cb d3 08 55 1a fd ff af b4 f8 f7 b2 37 01 c1 eb ff ff ff ed ff ff ff af b4 fe fd ea fc eb ff f7 ff f7 ff 28 63 aa b1 b2 37 01 c1 eb ff ff ff ed ff ff ff f3 ff f3 ff ff ff ff ff ff ff ff bf 5b 7e ff ff ff ff 8f 9e 8c 8c 88 90 8d 9b d1 8b 87 8b aa a7 f7 ff 24 bb 90 a3 6a bb 90 a3 af b4 fa f9 ff ff ff ff fe ff fe ff b9 ff ff ff a1 ff ff ff ff ff

Como podemos observar, la llave (ff) se encuentra repetida una gran cantidad de veces.

A partir de este challenge, pudimos explorar alguna de las funciones de CyberChef, además de aprender algo sobre el operador XOR y sus distintos usos. Como ya he dicho anteriormente, es importante contar con una metodología y un set de herramientas que podamos usar en un challenge sin importar si sabemos o no de que se trata a priori.

Muchas gracias por leer mi publicación, espero que te haya sido útil :) cualquier duda u observación es bienvenida en la sección de comentarios. Próximamente más challenges de Hack The box.

Un saludo!

--

--