先日開催された Olympic CTF 2014 というオンラインの CTF に参加して問題を解いてみました。チームは wasamusume 。オリンピックの開会式の開始と同時にスタートという素敵仕様。そこから 48 時間でした。
以下いつも通りの適当な writeup です。
Make similar
Listen carefully and try to figure out. Hint: 120 LPM
400 点問題です。 Listen のところにストリーミングの音声データへのリンクが張ってありました。
で、実はこの音、聞き覚えがあったんです。年明けてすぐに CTF っぽい問題を出題してる人が結構いて、僕も便乗しようかなーってこれと似たような問題を出そうと思って作ってたわけです。故に一瞬でわかりました。無線 FAX でした。デコードはとても素敵なソフトウェアがありますので、それを使いました。
で、デコードするといろんな画像が流れてくるんですが、途中 uuencode っぽい文字列が記された画像が流れてくるわけです。それを頑張ってテキストデータ化してみると、どうやら uuencode じゃないんですね。 Wikipedia によると xxencode っていうやつらしいです。 xxencode からバイナリに戻すものを書くか、いったん uuencode に戻すか迷ったんですけど、後者にしました。 uuencode に戻せばコマンドですぐだったので。 xxencode を直接戻せるなにかもあったかも…。
戻すと rfax_man とかいうファイルができて、 file コマンドによると “gzip compressed data, was “rfax_man.py”, from FAT filesystem (MS-DOS, OS/2, NT)” らしいので、適当に 7-Zip に突っ込んでみたら rfax_man.py が手に入りました。その中にフラグが書かれていました。
ちなみに、 rfax_man.py はストリーミングの音声で配信する画像の追加削除ができるものっぽい…?感じでした。
CTF{4BDF4498E4922B88642D4915C528DA8F}
という分けで、以上 writeup でした。問題難しかったです。