Challenge

フラグはどこでしょう? / Find a needle in a Dockerstack!

Solution

dockerイメージが渡されます(.tar)

レイヤーの途中でフラグが削除されるタイプの問題だろうということでdiveで解析します。

まずはload

# docker load -i output-image.tar
Loaded image: output-image:latest

解析 dive output-image:latest

sha256:7bb20cf5ef67526cb843d264145241ce4dde09a337b5be1be42ba464de9a672dflag.b64.txtを確認。

image.png

解凍し、レイヤーを探す

tar -xf output-image.tar
========================
.
└── sha256
    ├── 0531badbea1bbfd8db4244371c4c89e587f729a37c1dbf6dbc75a89bb09e003c
    ├── **265c6b6c91fb0cab080e43824b80565687c834631d570b43ba64196e8a6bb20b**
    ├── 471fc30039fcb37e84aa6eede49db36e835d6aceb1185dc58a0250ada68f669a
    ├── 7bb20cf5ef67526cb843d264145241ce4dde09a337b5be1be42ba464de9a672d
    ├── 8ead43c9e5e2607adbec457f4acb3f83f6bbd8412566f5878e47835e12694b15
    ├── 935c27cb58c708339646345ed7315a401c2cab8aa2733ba41aecb896c7e1566c
    ├── c57a625e7523f654b7256b33b17e43cf74c8650bd1a441884a70615d7327b85b
    ├── d4d3fcdccbfd98ebe464c41932cea2bcb0d67149e0375cd6fdd28fb56f7f9007
    ├── ddceb7aa914367258c7573c22a200ef88612608dfc3694102256cc1076b3fcbd
    └── eb5955df1e75829e5eeb5b71b724a1351cb08fb6b989c107c31dbc25856f2db9

レイヤーもtarなので解凍し、flag.b64.txtをbase64デコード

# file 265c6b6c91fb0cab080e43824b80565687c834631d570b43ba64196e8a6bb20b 
265c6b6c91fb0cab080e43824b80565687c834631d570b43ba64196e8a6bb20b: POSIX tar archive

# cat app/flag.b64.txt|base64 -d
{Docker_de_dokkan!}