Plot#
Nothing like a bit of Corp on Corp action to warm up your hear. And your wallet.
Titan has tasked you to infiltrate YeetSat and collect information about their mission. You've gained access to the ground station, somewhere on their satellite the info you need is stored in flag.txt. Find it and bring it back for your reward.Résolution#
Après avoir déployé l’application, voici ce sur quoi on arrive :

Directement, on télécharge la Golden Image, puis on unzip le tout :

Première chose que je regarde : le fichier README.md. Celui-ci nous permet de récupérer des infos intéressantes :

Ainsi, on comprend que les fichiers contenus dans le zip Golden Image sont uploadés dans /opt, qui est le répertoire dans lequel se trouve flag.txt.


Deuxièmement, on comprend que le script status-generator.py produit des messages de statut qui sont des entiers compris entre 0 et 3.
On comprend également que, sous certaines conditions, la Golden Image est automatiquement restaurée.
L’une de ces conditions concerne la valeur affectée à l’EPS (Electrical Power System).
Continuons en regardant le code de status-generator.py :

On remarque directement les numéros des différents messages de statut.
Ce qu’on va faire, tout simplement, c’est remplacer les fichiers .txt par flag.txt (normalement, pas besoin du chemin absolu, car tout est dans /opt).
Ce qui nous donne :

On sauvegarde les changements et on zip le tout.

Ensuite, on upload la Golden Image sur l’application.

Pour que l’application restaure la Golden Image, on va modifier la valeur de EPS, comme expliqué précédemment.

Le maximum est fixé à 25. Essayons avec 100.

Suite à la modification de EPS et comme attendu, la Golden Image est bien restaurée.

Il ne nous reste plus qu’à récupérer le flag :

Et bingo !
