サークルの先輩に誘われてSECCON 2014 オンライン予選参加しました。チームは93位でした。僕は100ptの問題を1問だけ解けました。がんばった。
CTFにはWriteupを書くというのが慣習らしいので、879,394byteのWriteup書いておきます。
SECCON 2014 オンライン予選 879,394byte(フォレンジック 100pt)
問題はFilesystem001.binを確認して、大きさが879,394byteのファイルを見つけてファイル名を回答するものでした。
とりあえず.binファイルの中身を見たらファイル名っぽいのとか色々見れたけど、ファイルサイズがどこに書いてあるか分からない。そもそも解き方分からない。ので、ググった。
参考 SECCON信州大会CTF Write-up - op_blog
同じような問題を解いていたので、参考にして以下を実行。
dd if=/dev/zero of=hoge.bin count=65536 mkfs.vfat -F 16 hoge.bin mkdir /mnt/hoge sudo mount -o loop hoge.bin /mnt/hoge dd if=/dev/zero of=/mnt/hoge/hoge bs=879394 count=1 dd if=/dev/zero of=/mnt/hoge/fuga bs=879394 count=1
FATイメージを作って、問われているファイルサイズと同じ大きさのファイルを2つ作成。hoge.binの中を見て、さっき作ったhogeとfugaの付近を探索。2つの周辺で共通しているもの(=たぶんファイルサイズの情報)を探して、Filesystem001.bin中に同じ部分があるかひたすら検索。
で、一つしか見つからなかった226Bの周辺にあったファイル名っぽいものを投げた。
Chrysanthemum.jpg
残り5分で滑り込み正解。ここまでお昼寝とラーメン挟んで10時間。無知すぎた。
ラーメンは今日もろくの屋六白麺固め味卵トッピング。そろそろ豚骨慣れてきた。