Principe:
Retrouver, dans les "étages" d'une image Docker, un repo Git (endommagé) et trouver le flag dans un des objets git
Infos (cf menu latéral):
🚩 Flaggué! +100 points gagnés —
💾 Téléchargez les fichiers du challenge
404CTF{492f3f38d6b5d3ca859514e250e25ba65935bcdd9f4f40c124b773fe536fee7d}
Le challenge
Tarball Docker
En pratique, chacun de ces fichiers est un "étage" d'une image docker, qui sont construites par différentiels successifs. Ainsi, si on vous donne un jour une image Docker à analyser, sachez que vous aurez plusieurs… "niveaux" successifs à investiguer.
grep pour trouver le flag (une recherche sur 404CTF n'avait rien donné)
.env)Chercher le SECRET
SECRET un peu partout, on ne trouve rien d'intéressant
l'env
.env cela fait référence non pas au contenu de l'image, mais plutôt à sa construction, donc, cherchons dans le fichier associéL'image docker est en effet composé de tarball successive, représentant les "couches" de construction, et d'un fichier "d'assemblage" de ces couches, qui nous intéresse donc ici.
ls… lahR!
.env je fais un ls -lahR sur les fichiers, et boom, je repère un fichier caché!
git, qu'on trouve mais impossible de le parcourir classiquementDépôt Git
git "cassé"
zlib_decode de PHP (ou d'autres méthodes, mais j'aime bien PHP 🤣)
data-git dans l'archive du challenge)
grep sur ces fichiers extraits et bingo!
zlib puisqu'ils sont en clairBonus: Image PNG
Le tail permet ici de se passer du début de l'objet extrait, qui contient blob 3131 par exemple (la taille du document il me semble)
Flag: 404CTF{492f3f38d6b5d3ca859514e250e25ba65935bcdd9f4f40c124b773fe536fee7d}