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}