SECCON 2015 決勝大会 (intercollege)に参加してきました

SECCON 2015 決勝大会 (intercollege)に参加してきました. ざっくりと感想とか書きます.

参加したもの

2015.seccon.jp

これのintercollegeのほうに参加しました.

チームはAquariumです.

参加の経緯

AquariumはSECCON 2015 online CTFのオンライン予選を勝ち抜いて出場しました.

しかし私は予選の時チームメンバーではありませんでした.ですので予選のことは知りません.

先輩方のチームが決勝の出場権ゲットしたという話は聞いてたので,大会終わったら詳しいお話を聞きたいなとか思ってたら, 突如,その先輩から

もしよかったらSECCON決勝大会一緒に行きません〜?!

というチャットが来たって感じです.

一言で言うと棚ぼたです.

大会の情報

スケジュール

2016年1月30日(土)

  • 11:00 受付開始
  • 11:30 開会式・競技説明
  • 12:00 競技開始(4時間)
  • 16:00 競技終了・答えあわせ
  • 16:30 表彰式
  • 17:00 交流会

スケジュールには答え合わせってあったんですが,実際は無かったです.

競技形式

Attack&Defenseでした. 各チームにそれぞれ脆弱なサーバ(設定などは同一)が配布されて,そのサーバを攻撃するってものです.

攻撃ポイントと防御ポイントがあって,その合計点で競います. 攻撃ポイントは他チームのサーバからフラグを取得した際に得点,防御ポイントは指定されたサービスを稼働させ続けることで得点となります. 防御ポイントは運営さんが定期的にサービスの稼働状況を確認して,稼働してたら得点,してなかったら減点という仕組みです.

最初の15分はサービスを稼働させなくていい時間となっていました.

競技で出された各サービスについて

1 ブログ

運営お手製?のブログサービスです.

2 keiba

node.jsで動いているアプリでした. SQLインジェクションがあった.

3 sbox2015

コードをアップロードすると,実行して結果を返すサービス. クライアント用にUnityで作られたアプリがあった.

自分のしたこと,反省点など

準備物

WindowsのモバイルPC 1台

競技中にしてたこと

自分はkeibaを主に,時々sboxを見てどこか攻撃出来ないかなって探してました. keibaはSQLインジェクションできそうっていうのは分かったんですが,そこから攻撃につなげることが出来ませんでした. sboxはUnityのアプリの使い方がわからず,色々さわってみたけど諦めたって感じです. 得点につながるものを見つけることは何も出来ませんでした. 最後の方は,チームのデキる人が作ったツールが取ってきたフラグを,スコアサーバに投げたりしてました.

競技後の反省点

終わってみると,準備不足だったと感じます.一応仮想のLinux環境は用意してたんですが,マシンスペックが低くて動作が非常に重かったです. またインターネットと競技用のネットワークは同時に繋げないため,調べる為にネットワークを切り替えて,また競技ネットワークに繋いで競技サーバ入ってするのが面倒でした. 今思えばサーバを1台持ち込んで,そこから競技サーバへアクセスするようにすればよかったなと.そうすれば競技サーバにtmuxとかで繋ぎっぱなしにできるし.

競技中に特に辛かったのが,node.jsやUnityも触れた経験が無かったため,中身を把握しようとするのにかなり時間がかかってしまいました. 普段から様々な言語や環境に触れておく重要性を感じました.

普段のCTFに比べて時間も短く,緊張してしまったのは悔しいところです. keibaもSQLインジェクション出来そうって気づいた時,まず直すべきなのにどうやって攻撃を考えて試したりしていました.本当に何を考えていたのか...

あと自チームのサーバに来た攻撃のパケットを,キャプチャして他のチームのサーバにそのまま投げるとかすればよかったなと. 自分が攻撃される側でもあるっていうのをうまく使うべきでした.

もしまた参加するなら

ドットインストールの講座を一通り見て,いろんな言語やフレームワークなどを勉強. 持ち込む用のマシンを準備.yumリポジトリをそこにミラーしておいて,自チームのサーバからyumが使えるようにする.

その他

初めての会場参加型のCTFで,初めてのAttack&Defenseでした. 競技時間は4時間でしたが,競技をしているとあっという間でした. 自分の実力を知って若干落ち込みもしましたが,楽しかったですし,今後のモチベーションアップにも繋がるものでした.

懇親会でもインターンシップで知り合った方と再会したり企業の方のお話を聞いたりすることが出来ました.

運営の方々,スポンサー各社様,参加者の方々,あとチームのみなさん,ありがとうございました!