HackTheBox - Comment s'inscrire ?

Une inscription sur hackthebox.eu ? Le challenge démarre avant même d'être membre !

Tout d'abord, qu'est que Hack The Box ?

Il s'agit d'une plateforme permettant de tester et améliorer ses compétences en test d'intrusion.

La plateforme contient de nombreux challenges plus ou moins difficiles et régulièrement mis à jour.

Toutes les rooms proposées reposent sur le principe du CTF (capture the flag -> capturer le drapeau en français). Sur chaque room, vous ne serez pas guidé, à vous de mettre vos compétences de votre coté pour trouver les drapeaux.

Pour vous mettre tout de suite dans l'ambiance, le challenge démarre avant même d'être inscrit. En effet, pour vous inscrire, il vous est demandé de saisir un code. Mais quel est ce code ?

Quoi de mieux que de commencer à tester vos compétences en ethical hacking ?

Attention, nous allons ici détailler la procédure complète permettant de s'inscrire sur Hack The Box. Avant de la lire, essayez de résoudre le challenge par vous même. Notez également qu'il existe des variantes...

Pour commencer, sachez que j'utilise principalement macOS et/ou une machine virtuelle Kali Linux habituellement.

Dans le cadre de cet article, nous aurons simplement besoin d' un navigateur récent (Safari pour ma part) et d'un terminal. Si vous êtes sur windows, je vous invite à vous renseigner avant sur Google pour installer les outils qui pourraient vous aider.

A présent démarrons !

  1. Rendez-vous sur https://www.hackthebox.eu/invite pour rejoindre la page qui nous intéresse.
  2. L'objectif est donc de Hacker votre propre code pour vous connecter
  3. Si vous le souhaitez vous pouvez aussi cliquez sur l'indice : Notre premier indice est indiqué sur la page : You could check the console ...

Résolvons le problème !

En lisant l'indice, la première chose que l'on va vouloir vérifier, c'est le code source. Le code source peut laisser de nombreuses informations intéressantes, tel que des notes ou des commentaires des developpeurs ...

Ouvrez donc les outils développeur de votre browser. (Alt + cmd + I sur Safari)

Ouvrez la console.

Vous tombez sur ce message :‌

Le message nous souffle que nous devrions regarder s'il n'y a pas un fichier javascript qui pourrait être intéressant.

Allons dans l'onglet Sources et regardons les .js du dossier /js.

Parmi ces 4 fichiers, il y en a un qui semble effectivement intéréssant de par son nom : inviteapi.min.js

Cliquez dessus pour en voir le contenu.

Le code suivant apparait :

A la fin de ce code, notez le mot que j'ai mis en surbrillance, il ressemble clairement au nom d'une fonction makeInviteCode

Retournez sur la console et testez voir s'il s'agit bien d'une fonction en tapant makeInviteCode() :

Hourra ! nous obtenons une réponse avec un indice supplémentaire nous indiquant que les données sont cryptées et que nous devrions probablement identifier comment est-ce encodé pour les décrypter.

Le bloc data est assez clair 😀 :

{
data: "Va beqre gb trarengr gur vaivgr pbqr, znxr n CBFG erdhrfg gb /ncv/vaivgr/trarengr", 
enctype: "ROT13"
}

L'attribut enctype nous indique que la chaîne semble encodée avec une indication ROT13, une rotation?, comme dans le code César ?

Vérifions, en ligne si un outil nous permettrait d'identifier le cryptage utilisé.
Je vous propose de tester sur dcode.fr.

Copiez/collez la chaîne de caractère contenu dans "data" puis collez là dans la zone "Message chiffré par code césar" :

En dessous renseignez 13 comme valeur de décalage (on déduit cela de l'enctype ROT13) puis cliquez sur le bouton DECHIFFRER LE CODE CESAR :

Le résultat apparaît alors à gauche :

Génial ! une fois décoder on obtient les indications de la prochaine étape. Nous devons effectuer un POST sur l'url /api/invite/generate.

Encore une fois, utilisons le terminal avec la commande curl cette fois-ci :

julien@leskifsdejuju ~ % curl https://www.hackthebox.eu/api/invite/generate -X POST
{"success":1,"data":{"code":"VkZaUEgtRE1GSFItWEFXTVItRUVIRVItWExFTEc=","format":"encoded"},"0":200}

Nous obtenons un nouveau code VkZaUEgtRE1GSFItWEFXTVItRUVIRVItWExFTEc= mais cette fois ci sans indication du type d'encodage. Pas bien grave cependant...

Même si nous avons une petite idée de l'encodage utilisé, tentons d'utiliser un outil en ligne pour nous aider dans notre quête.

Je vous propose https://md5hashing.net/hash_type_checker.

Copiez la chaîne VkZaUEgtRE1GSFItWEFXTVItRUVIRVItWExFTEc= et cliquez sur le bouton "Check"

L'outil nous indique qu'il s'agit probablement d'une chaîne encodée en base64.

Comme vu récemment, réutilisons notre outil base64 du terminal pour vérifier :

julienl@leskifsdejuju ~ % base64 -D <<< VkZaUEgtRE1GSFItWEFXTVItRUVIRVItWExFTEc= 
VFZPH-DMFHR-XAWMR-EEHER-XLELG

Cette fois-ci nous obtenons une chaîne, qui ressemble à une clé ou un code : ‌‌VFZPH-DMFHR-XAWMR-EEHER-XLELG

Retournons sur Hack The Box et tentons de saisir ce code en tant que code d'invitation :

Bingo !

Vous pouvez désormais vous inscrire !