Harpagon et le magot

CatÊgorie: Cloud - DifficultÊ: Moyen

Description:

SSH : ssh 404ctf@challenges.404ctf.fr -p 31284 / Mdp : T8h2UKEstg

Solution:

Pour ce challenge, nous ne savons pas vraiment ce que nous devons chercher... Il va donc falloir investiguer un peu pour voir ce que cette machine fait.

Dans un premier temps, regardons si nous pouvons connaitre les anciennes commandes exÊcutÊes

Voilà, avec ça nous allons pouvoir comprendre un peu plus ce qu'il s'est passÊ plus tôt. Avec cela nous comprenons qu'il crÊÊ un espace avec kubectl et qu'il installe puis modifie Bitwarden à l'aide de helm.

Il faut donc que nous nous intÊressions à l'utilisation de helm afin de voir ce qui a ÊtÊ crÊÊ. Pour ce faire, j'ai utilisÊ la documentation du site car je ne connaissais pas du tout cette techno.

En regardant les commandes de bases, nous pouvons voir que la commande helm list --all permets de lister tous les projets en cours d'exÊcution sur la machine :

Nous pouvons donc voir qu'il y a un projet nommÊ "cassette" qui tourne depuis le 13/05/2023. Maintenant nous allons passer à l'analyse du fichier qui ont servi à l'initalisation du projet : values.yaml. En regardant son contenu nous pouvons voir quelque chose d'intÊressant :

Nous avons le token de l'utilisateur admin. Mais il faut bien faire attention au commentaire juste à côtÊ qui nous alerte sur le fait qu'il ne se trouve plus ici. Il va donc falloir trouver un moyen de le retrouver.

Si nous revenons sur ce qu'il y a juste avant la date avec la commande helm list --all, nous voyons le mot "REVISION" qui à pour valeur 2. Cela signifie, que c'est la 2e version du projet. Cela indique donc que le fameux token Êtait prÊsent dans la version n°1 et donc avant la modification du fichier values.yaml (vu dans l'historique des commandes).

Alors retournons dans la doc de helm pour trouver la commande qui nous permettra de retrouver la version initiale. Très rapidement nous trouvons la commande suivante helm rollback cassette 1 :

Nous voyons ici que tout a bien fonctionnÊ car les valeurs de "REVISION" et de date ont changÊe. C'est parfait tout ça, nous allons donc pouvoir continuer.

Seulement tout à l'heure nous avons avons fait un cat values.yaml. Mais avec le changement de version du projet helm, le contenu du fichier n'a pas changÊ lui... Il va donc falloir trouver une mÊthode pour rÊcupÊrer toutes les donnÊes disponibles dans le projet cassette. Pour ça, la commande helm get values cassette --all est parfaite et permet de rÊcupÊrer l'intÊgralitÊ des paramètres/valeurs du projet :

Et là, que voyons-nous ? Un token qui ressemble fortement à un flag 😆 La dernière Êtape va ÃĒtre d'inverser le sens du texte pour avoir le flag dans le bon sens :

🚩 FLAG
404CTF{l@v4r1c3_3s7_1_fl3@u_d0n7_1l_3s7_vict1me}

Last updated