Satellisation
Catégorie: Divers - Difficulté: Difficile
Description:

Solution:
Pour ce challenge, le but est de s'échapper du container Docker dans lequel nous sommes afin d'accéder à la machine hôte et de récupérer le fichier /root/flag.txt.
Pour ce faire, nous passons par plusieurs étapes cruciales :
Lors de la connexion en SSH, nous arrivons sur le Docker avec un compte root
Nous voyons ce qu'il se passe au démarrage :

Nous avons également le script container.c à analyser, avec une info cruciale à prendre en compte :

Les hauts privilèges du container Docker sont désactivés, sauf celle qui nous intéresse :
CAP_SYS_CHROOT. Cette fonction permets d'utiliser l'appel système chroot() afin d'échapper du Docker :
Python est utilisable sur le Docker
Avec tout cela, nous allons pouvoir faire quelques tests et surtout un script python afin d'automatiser la sortie du Docker.
Passons directement aux choses sérieuses, avec un petit peu de reconnaissance et le fameux script Python :

Nous voyons ici que nous n'avons pas de fichier flag.txt, ce qui est un peu ennuyeux quand on doit retrouver le contenu de ce fameux fichier ^^.
Maintenant pour le script Python, voici ce qui fonctionne parfaitement :
Voici ce qu'il se passe quand nous lançons le script :

Nous avons enfin notre précieux fichier flag.txt. Alors allons le lire :

Il ne faut parfois pas être trop pressé, car sans droits, nous ne pouvons pas lire les fichiers ^^
Last updated
Was this helpful?