L’énnoncé nous apprend que le flag est dans un fichier qui a été supprimé. Il doit donc être dans l’unes des couches de l’image.
Je commande par récupérer l’image et la sauver dans une archive locale ainsi :
docker pull anssi/fcsc2024-forensics-layer-cake-3
docker save anssi/fcsc2024-forensics-layer-cake-3 -o fcsc2024-forensics-layer-cake-3.tar
Je décompresse ensuite l’archive :
mkdir fcsc2024-forensics-layer-cake-3
tar -xvf fcsc2024-forensics-layer-cake-3.tar -C fcsc2024-forensics-layer-cake-3
Je constate que mon image est composée d’une couche.
Je décompresse alors l’archive tar contenant les binaires de la couche en question et obtient un répertoire “nix”. En analysant le fichier json accompagnant l’archive tar j’observe q’une commande est exécuté sur l’un des élements du répertoire nix:
/nix/store/m8ww0n3iqndg8zaiwbsnij6rvmpmjbry-hello/bin/hello
Je décide donc de regarder ce que contient le répertoire /nix/store/m8ww0n3iqndg8zaiwbsnij6rvmpmjbry-hello/bin
. J’y trouve un script hello qui contient….le flag.