zer0pts CTF 2020 Writeup

この大会は2020/3/7 9:00(JST)~2020/3/9 9:00(JST)に開催されました。
今回もチームで参戦。結果は 911点で432チーム中73位でした。
自分で解けた問題をWriteupとして書いておきます。

Welcome (others)

Discordに入り、#announcementチャネルのメッセージを見ると、フラグが書いてあった。

zer0pts{r_u_r34dy_f0r_zer0pts_CTF?}

Locked KitKat (forensics)

Androidのディスクイメージが添付されている。問題文にあるURLのページはパターンロックの画面なので、解除したらフラグが表示されるということらしい。
まず[root]-[system]-[gesture.key]をエクスポートする。先頭の20バイトだけ切り出し、後続の\x00埋めされたデータは削除したものをgesture_fix.keyとして保存する。
以下のURLのページにあるAndroid Pattern Crack Toolを使う。

https://github.com/MGF15/P-Decode/blob/master/P-Decode.py
$ python P-Decode.py -f gesture_fix.key

        |~)  |~\ _ _ _  _| _
        |~ ~~|_/}_(_(_)(_|}_ v0.5

             [ {41}ndr0id Pa77ern Cr4ck t00l. ]

[*] Pattern SHA1 Hash   : 179E58178A7C5195110E0A26D91C71926AF01349

[+] Pattern Length      : 6

[+] Pattern             : 321564

[+] Pattern SVG         : 321564.svg

[*] Time                : 0.12 sec

すると、svgファイルとして解析したパターンが出力される。出力された画面イメージは以下の通り。
f:id:satou-y:20200314054920p:plain
この通りにパターンを入力すると、フラグが表示された。
f:id:satou-y:20200314054955p:plain

zer0pts{n0th1ng_1s_m0r3_pr4ct1c4l_th4n_brut3_f0rc1ng}

Survey (others)

アンケートに答えたら、フラグが表示された。

zer0pts{w3_h0p3_u_3nj0y3d_0ur_CTF!}