FJCT Tech blog

富士通クラウドテクノロジーズ公式エンジニアブログです

富士通クラウドテクノロジーズ

FJCT/Tech blog

SECCON 2017にでてみた


皆様あけましておめでとうございます。 本年もよろしくお願い申し上げます。


はじめまして!17年度新卒入社した福島です! 10月よりインフラデザイン部という部署に配属され学びと失敗の毎日です(早く戦力になりたい)。

さて、こちらの記事は少し前に行われたSECCON2017に会社でチームを組んで参加した記録になります。

注:)SECCON2017のwrite upに関しては、ここでは扱いません。

CTFとは

CTF=Capture The Flagの略で、簡単な話旗取りゲームです。 しかし簡単ではないのはその旗が脆弱性を突いたり暗号を解いたりしないと出てこないこと・・・ 言葉だけでは難しいと思うので例題を作ってみました。 このような問題を解いていきます。(例題だと出て来る文字列がflag={FJCT}なのでFJCTが正解になります) 例題のようにテキストファイルが渡されるパターンの他に、以下のような問題があります。

挙げればキリがありませんが、このように多種多様な問題を解いていき、問題毎に設定されたポイントを多く獲得することを目指します。

SECCONとは

SECCONは毎年行われているセキュリティコンテストです。 チームを組んで限られた時間(通常24時間)の間にCTFを解いて獲得できた点数を競います。 私たちは今回、会社として初めて出場しました。

SECCON出場までの流れ

  • 7月
    • 同期でCTFムーブメント。CpawCTFに挑戦!
  • 9月
    • 社内パケットキャプチャ勉強会
    • 社内CTF大会(FJCTF)
      • 新卒チームまさかの優勝(私はお茶くみ係でした)
      • (企画してくださった先輩社員に大変感謝)
  • 10月
    • 同期とCTF勉強会立ち上げ。ksnCTFに挑戦!
  • 11月
    • SECCON出場チーム募集開始
  • 12月
    • Advent Calender開始
    • SECCON

当日の流れ

問題を解くにはツールが有った方が便利です。 そういうこともあって、チームメンバーにはペネトレーションテストツール等が満載されているKali Linuxのインストールを推奨されていました。 しかし時間がなかったため、普段使っているLinuxを用いての参戦になりました。(個人的にはBlackArch Linuxが気になる)

本来ならばチームメンバー同士でコミュニケーションを取って解く問題を決めて被らないようにしていくのが筋だとは思いますが、諸事情によりチームとのコミュニケーションが取れなかったため、片っ端から問題を解いていきました。

SECCON Beginnersを目標に勉強していた自分にとっては正直ハードな問題が多かったのですが、それでも幾つかの問題を解くことができて少しでもチームに貢献できたのは光栄でした。

結果

FJCTチーム(チーム名avspybhq)の初陣は1300点の151位となりました。

f:id:kentac55:20180105104722p:plain

1700点取っていればSECCONのresultページにチーム名が掲載されたので悔しさが残りました。 とはいえ、初参加でここまで取れたのは素直に嬉しいです!

CTFtimeにチームのページもできました→avspybhq

終わりに

SECCONに参加できたことは以下の点でとても良かったと考えています。

  • 新しい技術に触れ、自身の知的好奇心を満たせたこと
    • 特にPowerShellの問題は感動しました。(残念ながらLinux上のpwshではターミナルエミュレータの仕様上音を鳴らすことができませんでしたが)
  • セキュリティという未知の分野へ知見を蓄えることができたこと
    • とっつきにくいセキュリティ分野への取っ掛かりを得られた気がします
  • 業務でのチームとは全く別のチームでチームプレイができたこと
    • いろいろ新鮮でした

逆に改善したい点も多々ありました。

  • 点数が低かったこと
    • 100点問題を全部解けなかったのは実力不足
    • 500点問題を1つも取れなかったのは悔しかった
  • 環境構築が遅れ、自分とチーム間のコミュニケーションが殆ど行われなかった
    • 後日会社のslackを覗いたら普通にチームプレイしていました
  • ISUCONの学習等もあり効率的な学習ができなかったこと
  • Advent Calenderのネタに時間を取られSECCON開始前1週間は無勉となってしまったこと
    • どっちも中途半端になってしまいました
  • チームで勉強会を開けなかったこと
    • 知見の共有ができませんでした
  • バイナリの問題が全くと言っていいほど解けませんでした

いろいろ課題は見つかりましたが、SECCONのようなonline-CTFは年中開かれているので今後も継続的に出場してそれらを克服しつつ、スキルを伸ばしていきたいです!

ちなみに今年3月にSECCON Beginnersが開かれるのでこちらも要チェック! 一人でも参加できるので皆さんもぜひぜひ参加してみて下さいー♪