Null Thinking

ボードゲームとコンピュータを糧に生きています。

CTF for ビギナーズ 2015 滋賀 参加記

これに参加してきました。CTFって何? って思った人はこのスライドを一読してみると良いと思います。

始めに断っておくと、write upはありません。そんなに解けてないというのと、そもそも問題をあまり覚えていない……。

BKCだったのと、事前に導入してきてくださいと言われていたVMが動かなかったので早めに行ったら12時くらいに着いて一番に受付をしました。

スケジュール

12:30 - 13:00 受付
13:00 - 13:20 CTFとは?
13:30 - 14:20 バイナリ講義
14:30 - 15:20 ネットワーク講義
15:30 - 17:00 CTF
17:00 - 17:30 答え合わせ

実際には講義が長引いてCTFの競技時間が65分になりました。個人的には、90分あるよりも短い方が集中して取り組めるのでよかったです。

 

講義

講義ではwiresharkの便利な機能やIDAを使った解析手法が紹介されました。for ビギナーズというだけあって、丁寧に説明があって分かりやすかったです。セキュリティ・キャンプの時は講義もなくいきなり競技が始まって、全然ビギナーズじゃなかった……(´・ω・`)   CTF全くやったことがなくてこれからやりたいという人にとてもオススメ。CTFちょっとかじったことあるという人でも、ある程度分野が限定されているので、苦手分野の穴埋めには良いのかなと思います。中級者でも何かしら学べることはあるんじゃないかと思うので、結局プロじゃない人は行く価値がありそうです。

 

競技

競技時間は65分。問題は

・web

・binary

・network

からそれぞれ100点から500点、5問ずつ計15問出題されました。(65分で15問って結構つらい……)点数の低い問題は、講義で紹介した方法をそのまま使うだけで解けるものもありました。点数が上がると応用的な問題になる点は他のCTFと変わらないと思います。

 

結果

1000点(18位/78人)

でした。とは言っても上位数名以外はかなり僅差だったので応用力を付けて差を出さないといけないなーという感じでした。会場にネット環境が無くて、スマホ持ってないので、調べられないのがつらかったです。調べたら一発で答えにつながる問題を逃してしまいました。1位の人は3500点も取っていてどう考えてもビギナー詐欺してそう。

 

答え合わせ

点数の低い方から希望者がいれば解けた人が解説するという形式でした。だいたい解けた問題は想定解法で解いていましたが、あからさまに講義で説明された内容そのまんまの問題はひねくれて別のツール使って解いたりしました。解ければどんなツール使っても良いと思います。初心者向けというだけあって、解説を聞けばあーなるほど! となるものばかりで退屈しませんでした。

 

まとめ

VMが動かなくて、運営の方にかなり手間を取らせてしまいました。VT-xが有効化されていないとかで、UEFI画面で設定してもうまくいかず、hyperなんちゃらというのを無効かするとうまくいきました。結局競技時間中は、VM動いてもハード的に使いづらいPCだったので、慣れたMacで半分くらいやってました(笑)

stringsコマンドの存在と、wiresharkTCP follow streamの便利さを知れたので良かったかなと思います。

こういうイベントがないとやる気が出ないので、多少無理してでも外に出て行くことを意識しています。夜にCODE RUNNERの予選Aがあったので、終わってすぐに会場を飛び出してしまって、他の参加者や運営の方と話す時間を持てなかったのが残念です。予選通過してしまったので、CODE RUNNERの様子もあとでブログにアップする予定。

次は10月17日(土)のCTF for ビギナーズ 2015 奈良ですね。これはAttack & Defenceという形式で今回のJeopardy形式とは違ってチーム(個人)間でシステムを攻撃・防御しあうというものです。この分野のCTFは常設化しづらくまだ経験したことがないので楽しみです。

11月7日(土)にも大阪の南港ATCにてCTF for ビギナーズが開催されるようです。学生限定だったと思います。10月7日(水)13時から受け付け開始とのことです。先着順で定員が少ないということで、おそらく夕方には埋まっていると思うので、参加したいという人はこの時間に登録しましょう!