Dans un premier temps, nous pouvons pull l’image docker avec la commande suivante :
$ docker pull anssi/fcsc2024-forensics-layer-cake-1
L’énoncé nous dit que notre ami utilise une variable d’environnement déclaré au moment du build. Il s’agit donc d’un layer utilisé lors du build de l’image !
Voyons donc notre layers :
$ docker history anssi/fcsc2024-forensics-layer-cake-1
IMAGE CREATED CREATED BY SIZE COMMENT
0faa62781dd1 2 months ago CMD ["/bin/sh"] 0B buildkit.dockerfile.v0
<missing> 2 months ago USER guest 0B buildkit.dockerfile.v0
<missing> 2 months ago ARG FIRST_FLAG=FCSC{a1240d90ebeed7c6c422969e… 0B buildkit.dockerfile.v0
<missing> 2 months ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B
<missing> 2 months ago /bin/sh -c #(nop) ADD file:37a76ec18f9887751… 7.37MB
Le problème étant que l’on ne voit pas complètement le flag dans le layer concerné.
Pour voir l’output de la commande ci-dessus, nous pouvons utiliser l’option --no-trunc
:
$ docker history --no-trunc anssi/fcsc2024-forensics-layer-cake-1
IMAGE CREATED CREATED BY SIZE COMMENT
sha256:0faa62781dd1db0ebb6cd83836bb4ba24f8b58b0cd761ac0cbae426bccc7666f 2 months ago CMD ["/bin/sh"] 0B buildkit.dockerfile.v0
<missing> 2 months ago USER guest 0B buildkit.dockerfile.v0
<missing> 2 months ago ARG FIRST_FLAG=FCSC{a1240d90ebeed7c6c422969ee529cc3e1046a3cf337efe51432e49b1a27c6ad2} 0B buildkit.dockerfile.v0
<missing> 2 months ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B
<missing> 2 months ago /bin/sh -c #(nop) ADD file:37a76ec18f9887751cd8473744917d08b7431fc4085097bb6a09d81b41775473 in / 7.37MB
On obtient donc le flag !
FCSC{a1240d90ebeed7c6c422969ee529cc3e1046a3cf337efe51432e49b1a27c6ad2}