Les nuages menaçants 1/3
Last updated
Last updated
Catégorie: Cloud - Difficulté: Moyen
Description:
SSH : ssh 404ctf@challenges.404ctf.fr -p 30905
/ Mdp : 4GqWrNkNuN
Solution:
Pour ce challenge, nous avons accès à une machine virtuelle avec un service cloud qui tourne dessus. Etant donné que dans le chall de cloud précédent, nous avons utilisé Kubernetes, je me dis qu'il s'agit du même service cloud utilisé ici.
Pour commencer nous allons vérifier l'historique bash pour voir s'il n'y a pas quelque chose qui peut nous mettre sur une piste plus précise :
Bon bah pas cette fois finalement... Donc nous allons devoir faire davantage de recherches sur Kubernetes pour pouvoir trouver quelque chose d'intéressant. Mais étant donné que nous sommes en CTF, nous n'allons pas nous perdre dans des docs trop longues. Nous allons donc directement chercher sur HackTricks pour trouver ce qu'il y a d'intéressant :
Rien que le deuxième résultat a l'air très intéressant. Nous pouvons aller voir ce qu'il propose.
Bon je ne vais pas tout détailler ici sur ce que nous pouvons trouver car c'est très long mais simplement les étapes utiles pour la suite.
En parcourant la page, j'ai donc trouvé des choses intéressantes. Par exemple nous pouvons lister le nom des namespaces existants pour ensuite en extraire les secrets et récupérer éventuellement des infos intéressantes.
Passons à la pratique :
Ah... Bon alors ici nous avions le choix entre l'option kubectl et API :
Et l'option kubectl ne fonctionne pas. Alors il faut donc passer à l'option API :
Mais pour faire fonctionner cette option, il faut remonter plus haut sur la page pour définir $APISERVER
, kurl
et d'autres infos nécessaires :
Avec ces commandes, nous allons pouvoir déclarer toutes variables d'environnement nécessaires pour la suite et créer l'alias kurl
.
Maintenant que nous avons tout définis, nous allons pouvoir récupérer tout ce que nous voulions précédemment. Ici nous listons les namespaces existants :
Nous voyons qu'à la fin un namespace 404ctf est bien présent. Nous allons donc continuer à investiguer sur ce dernier et lister ses secrets :
En regardant les résultats, nous voyons un élément flag en b64 : NDA0Q1RGe0F0dGVudGlvbl9hdXhfc2VjcmV0cyF9
ce qui donne le flag entier avec cet outil.
Nous pourrions nous arrêter ici, mais un peu plus loin, nous trouvons des credentials qui peuvent être intéressantes pour la suite :
Les credentials sont également en b64 :
User : cHJvdXN0
<=> proust
Password : bGVzX251YWdlcw==
<=> les_nuages
Gardons-les de côté, ils nous serviront forcément à un moment.