Aller au contenu
  1. Posts/

HackTheBox CyberApocalypse 2025 - Writeup

·312 mots·2 mins
Lacroix Raphaël (Chepycou)
Auteur
Lacroix Raphaël (Chepycou)
Bonjour, bienvenue sur mon blog. Je suis Raphaël LACROIX, je développe diverses applications pendant mon temps libre, allant du très inutile au parfois utile. Je fais aussi beaucoup de Capture The Flag et de défis de cybersécurité.
Sommaire

De quoi va-t’on parler ?
#

Ce week-end, j’ai passé une demi-journée sur le CTF HackTheBox CyberApocalypse. Voici les flags que j’ai obtenus dans la catégorie Web, même si j’aurais aimé y passer plus de temps, car les défis, l’histoire et les visuels étaient excellents !

Trial by Fire
#

Ce jeu en ligne semble fonctionner en local. Il est impossible de battre le dragon sans tricher (1300 points de vie contre 100, et nous infligeons le même nombre de dégâts)

alt text

En regardant le code, nous voyons un code konami - plutôt simpliste :

alt text

Cela ajoute un nouveau bouton :

alt text

Le “dispositif de capture” ne “semble pas suffisant” : ![alt text](image-3. png)

D’après le message, nous recherchons une SSTI :

alt text

Le champ du nom ne semble pas déclencher un SSTI au début dans la page “combat”, mais les choses changent dans l’écran du rapport de combat final et le 7*7 est effectivement calculé.

alt text

Notez que nous pourrions empoisonner l’écran du rapport de combat avec d’autres paramètres puisque les vérifications ne semblent être que du côté client :

alt text

Nous essayons d’exploiter le SSTI en utilisant la charge utile suivante :

{{url_for.__globals__.os.popen('ls').read()}}

Comme le front-end limite la longueur des caractères, nous pouvons rejouer la requête via Burp pour obtenir la réponse Set-Cookie :

alt text

Cela nous permet d’exécuter le code à distance :

alt text

Nous pouvons maintenant obtenir le cookie de session pour une commande cat :

alt text
alt text

HTB{Fl4m3_P34ks_Tr14l_Burn5_Br1ght_e992ef2db5dc4162967d210af654cecf}

Whispers of the Moonbeam
#

Nous sommes - chaleureusement - accueillis par un terminal avec un ensemble de commandes que nous pouvons utiliser (examine pour whoami, observe pour ps et gossip - 🤣 - pour ls), mais nous aurions besoin de cat.

On peut essayer des injections de commandes basiques comme ; ou &, et ça marche du premier coup (je ne sais pas pourquoi ce chall n’est pas mis en premier en termes de difficulté) :

alt text

HTB{Sh4d0w_3x3cut10n_1n_Th3_M00nb34m_T4v3rn_91bd11f988e6914e2565d5ac7457d3cf}