SECCON Beginners名古屋に参加した
今日はSECCON Beginners名古屋に参加してきました。#ctf4b のハッシュタグを見るといろいろ書いてあります。
結論から書くと、最後のCTFで1位が取れました!
別の言い方をすると、before:
がんばりますーー
— sei0o (@sei0o) 2017年6月30日
プロたちにボコられてきます!!
after:
やったぜ #ctf4b
— sei0o (@sei0o) 2017年7月1日
です。
前夜+当日朝
こういう感じです。
朝の5:30前に隣のカプセルでアラームがなって目が覚めてしまい、そこから眠れませんでした。
講義
フォレンジック、バイナリ、Webどれも充実した内容で面白かったです。Webに関してはもともと知っている内容もありました。
当日は名古屋駅前のホテルから数km歩いて会場に行きました。暑くて汗だらだらなのでコンビニでCapture The Drinkです。
会場に着くと、いかにも専門職といった方がたくさんおられました(年齢層思ったより広い??)。
講義はCTFそのものや倫理についてのお話から始まりました。情報処理試験のなにかの記憶が思い出されました。
その後具体的な技術の講義に移ります。まずはWebです。HTTPのヘッダを見たり、SQLiしたりしました。ChromeのDevToolsには普段からお世話になっているので、割と楽についていけました。途中の約5分ずつの演習で、ポンポンFLAGを見つけている人がいて感心。.php自体を表示させるって思い付かなかった…
昼食は @megumish さんと蕎麦です。早食いの癖を直したい。午前の講義とHarekazeの話をしました。51人もいるんですね。
そのあとフォレンジックです。flsやbinwalkなど知らないコマンドがたくさん出てきてわくわく。スライドに書いてあった使い方は理解しました。
3つ目は山場(らしい)のバイナリ(Reversing)です。アセンブリを読む。movやaddまでは予習の効果もありすんなりと理解できましたが、スタックは「espとebpが…??????」みたいな状態でした。あと昼食後の眠気が襲ってきて、途中から「ヌゥウッ!!(カクッ)フウッ!!(コクッ)」みたいな感じで必死に耐えてました。
その後CTFに向け休憩時間。魔剤を買って飲みました。キリリッ!
いざCTF
オフラインでこうやって目で見える範囲の人とCTFをするのは初めてで緊張してきました。資料を見返したり紙+ペンを用意したりして(競プロかよ)時間に備えました。
そしていよいよCTFが始まりました。まずはフラグの提出の練習問題から… サーバが落ちました。えっ… しばらく提出ができなかったので100回計算して21ゲームをググりました。あとWebのCSSを見る問題も解いたかな。提出できるようになると解いて提出してを繰り返しました。
ちなみにMisc4問, Web4問, Forensics3問, Binary4問という構成です。
15分ぐらい経ったときには、配点の低い問題からMisc全完+Web2完+Forensicsを1完していました。ここからスピードが落ちる。と同時に案外自分が上位にいることを知ります。ちょっとうれしい。
そのあとはWeb3問目, Forensics2問目, バイナリ1問目をコツコツと。参加者が提出したときに鳴るブザーがうるさくて頭にキーンと来そうだったのでイヤホンをつけちゃいました。
そのあと「バイナリの問題も解いてくださいね〜」と聞こえて来たのでバイナリ2問目を見てみました。objdumpしました。何がどこにどうなってるかサッパリわからない!
作問者の方には申し訳ないですが一旦バイナリは放置して、Web4問目(ヒント大活用しました)を解きました。そしてForensics3問目(WannaCry?)にトライさんです(けもフレは見てません)。抽出したスクリプトを動かしてファイルが暗号化されてしまいしばらく悩みました。やっとのことでスクリプトの中身を見るというのを思いつき、FLAGを復号しました。
ここまでで大体45分。焦り始めます。またバイナリ2問目で悩みつめ、objdumpではなくIDAで開いてみることにしました。そうするとパスワードがわかりやすく文字列で書かれているではありませんか〜…ラッキーと思い、ここで提出したときに1900点で1位と同点になりました。一番ドキドキした時間でした。後で聞いた話によるとpedaというものを使えば一発だったそうです。知らない...
残りのバイナリ3問目は紙に書いて解きました。16進数を読むだけだったのですんなりとできました。このとき計2100点で1位になりました。残りのバイナリ4問目(300点)は正解者0人なおかつ残り時間4分だったので半分あきらめモードです。ほとんどスコアボードに張り付いてました。
結果は先に述べた通り1位でした。2100点は2人いましたが、時間の差です。バイナリ4問目に挑戦していた方もいて、スコアと実力が100%比例しているわけではないと思いますが、ステッカーももらえたしやったー!という気分です。ビ、ビギナーズラックなんていわないで...
懇親会
@kanon_k4 さんたちとお話したり、まあ、いろいろ...チームとかわかんねえなぁ〜
あと BiPhone がCTFのチームだと今更知りました。ずっとBlackberryとiPhoneを合わせた端末を作っているグループだと思いこんでいました。
懇親会の後は雨に濡れつつも @megumish さんときしめんを食べました。ごちそうさまです。
帰りのバス?夜行ですがまともに眠れませんね。おでこの汗を腕で拭こうとしたら自分の腕の汗の臭いで吐き気がして地獄でした。
ふりかえり
勝因:
— sei0o (@sei0o) 2017年7月1日
資料ちゃんと読んでてよかった。
でもこれからどうするかが肝心ですね、はい...(何したらいいかわからないときの顔)。付録の内容から見ていくのが良いかもしれません。Reversingに案外興味がわいた。
(高専カンファと被ってしまったのが少し残念かな。来年は行ってみたい。)