CTF for BBA

ゲーム時々CTFやるBBAの日常。

CSCML2020 writeup

530点90位。あんまり時間とれなかったな…
2問だけです。


Censored (misc)

fileコマンドで見たらpngだったので、拡張子を直して開くと、

f:id:boxwolf:20200702190555p:plain

隠されている文字部分の16進数表示は丸見えなので、読むだけ。

flag: CSCML2020{I_know_you_think_you_understand_what_you_thought_I_said_but_I_am_not_sure_you_realize_that_what_you_heard_is_not_what_I meant}

Thanos

ページが消されちゃった!系なので.gitだろうと思ったらやはりあったので、下記のrip-gitで拾った。

GitHub - kost/dvcs-ripper: Rip web accessible (distributed) version control systems: SVN/GIT/HG...

$ cat logs/HEAD                                                     
0000000000000000000000000000000000000000 4f2a3c6a15811216659cc48d89ee71f5f68605e4 Nick Fury <nickfury@shield> 1591194165 +0300    commit (initial): STARK INDUSTRIED: first commit
4f2a3c6a15811216659cc48d89ee71f5f68605e4 af7c13b2c9c38110e33b088962d5816a9c8df10c Nick Fury <nickfury@shield> 1591194796 +0300    commit: BACKUP THE STONES
af7c13b2c9c38110e33b088962d5816a9c8df10c 35945ec04d838604a15afefc0e37cfcd5838f5b3 Nick Fury <nickfury@shield> 1591194905 +0300    commit: THANOS: lol
4f2a3c6a15811216659cc48d89ee71f5f68605e4 0af3d4209a28a24e18d422bb770e995f91725f15 Nick Fury <nickfury@shield> 1591195087 +0300    commit: THANOS HACK: lollll
0af3d4209a28a24e18d422bb770e995f91725f15 af7c13b2c9c38110e33b088962d5816a9c8df10c Nick Fury <nickfury@shield> 1591195507 +0300    checkout: moving from master to af7c13b2c9c38110e33b088962d5816a9c8df10c
af7c13b2c9c38110e33b088962d5816a9c8df10c 0af3d4209a28a24e18d422bb770e995f91725f15 Nick Fury <nickfury@shield> 1591195677 +0300    checkout: moving from af7c13b2c9c38110e33b088962d5816a9c8df10c to master

$ git cat-file -p af7c13b2c9c38110e33b088962d5816a9c8df10c          
tree be18391dfb040b52faf0c58462a23b8b6d8cfee2
parent 4f2a3c6a15811216659cc48d89ee71f5f68605e4
author Nick Fury <nickfury@shield> 1591194796 +0300
committer Nick Fury <nickfury@shield> 1591194796 +0300

BACKUP THE STONES

$ git cat-file -p be18391dfb040b52faf0c58462a23b8b6d8cfee2
100644 blob a820376bd0934adc1fc578c1f8f8889181d6c20b    index.html
100644 blob 6385461a0ca69d95218cb29474b42f0ad05d3a88    mind
100644 blob 461bea50945d85f33acbdb4876bd180662863cad    power
100644 blob 1700f1d5e7cfa11eef54f3f5edef19dc96a4a4a5    reality
100644 blob 9758730c9189e6f3d8954a6e6b294f21ca6b6c22    soul
100644 blob e885c9e2814eb21f779c362d41debbbb9ca92494    space
100644 blob 3700ce260322b68b2da8f412f135fe2ebc521d95    time

$ git cat-file 6385461a0ca69d95218cb29474b42f0ad05d3a88 > mind

BACKUP THE STONESというコミットがあるので見てみると、6つのファイルがアップロードされていた。
それぞれファイルを復元して見てみると、mindだけサイズが小さくzipの終端が含まれ、powerがzipファイル形式で始まっていることがわかった。

$ file power 
power: Zip archive data, at least v2.0 to extract

$ binwalk mind 
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
88878         0x15B2E         End of Zip archive, footer length: 22

$ binwalk power
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
82            0x52            PNG image, 1920 x 1080, 8-bit/color RGB, non-interlaced
618           0x26A           Zlib compressed data, best compression

$ exiftool mind 
ExifTool Version Number         : 10.13
File Name                       : mind
Directory                       : .
File Size                       : 87 kB
File Modification Date/Time     : 2020:07:03 00:27:25+09:00
File Access Date/Time           : 2020:07:03 00:30:17+09:00
File Inode Change Date/Time     : 2020:07:03 00:27:25+09:00
File Permissions                : rw-r--r--
Error                           : Unknown file type

$ exiftool power
ExifTool Version Number         : 10.13
File Name                       : power
Directory                       : .
File Size                       : 439 kB
File Modification Date/Time     : 2020:07:03 00:27:43+09:00
File Access Date/Time           : 2020:07:03 00:29:16+09:00
File Inode Change Date/Time     : 2020:07:03 00:27:43+09:00
File Permissions                : rw-r--r--
Warning                         : Format error reading ZIP file
File Type                       : ZIP
File Type Extension             : zip
MIME Type                       : application/zip
Zip Required Version            : 20
Zip Bit Flag                    : 0
Zip Compression                 : Deflated
Zip Modify Date                 : 2020:06:03 16:27:00
Zip CRC                         : 0x6b11af79
Zip Compressed Size             : 2338712
Zip Uncompressed Size           : 2341680
Zip File Name                   : infinity-stones.png

Zip Compressed Sizeが6ファイルのサイズ合計と概ね一致するので、powerを最初、mindを最後として6つのファイルを結合してzipファイルにすれば正しく解凍できるようになると考えた。
あとは総当たりでファイルを作り、解凍できる順列を探したところ、power、space、reality、soul、time、mindの順で結合したものでできた(記憶違いだったらすみません)。

f:id:boxwolf:20200703095440p:plain


flag: CSCML2020{I_L0v3_Y0u_ThAn0s}
前も書いたけどアベンジャーズは好きなんだけど、あまり詳しくない…(サノスは知ってる)