バグハンティングコンテストに出た話

SecHackの話を全く書いてないまま半年が経とうとしています。やっぱり放置してしまいました。来年からはちゃんと書きます。

 

さて、弊学では2016年からこのようなコンテストが開催されています。

https://c-csirt.chiba-u.jp/bughunt2018/

www.chiba-u.ac.jp

私は第二回と第三回(2017,2018)に参加したので、軽くまとめていきたいと思います。

What's this?

学内のサイトの脆弱性診断を行い、レポートにまとめて提出するというコンテストです。学術機関らしく、診断を行うためには所定の講習を受講してハンターライセンス*1なるものを取得しなくてはなりません。これがコンテストの参加条件になっています。

コンテスト上ではstage1とstage2というステージに分かれており、stage1が事前に用意されたやられサイト(バグがてんこ盛りの参加者のみ接続できるサイト)でstage2が実際に運用されているサイトです。*2

コンテストは毎年8-9月の約一ヶ月間開催され、レポートの出来や発見した脆弱性などを総合的に評価して優秀な参加者には表彰があります。

また、第二回からは副賞の一つとして受賞者を対象としたインターンシップが開催されています。

blog.securesky-tech.com

blog.securesky-tech.com

(実際はSSTさん以外のインターンシップ先もありました。全部で5つくらいだったか)

2017年

初出場。

提出したレポートは計4本。やられサイトと学内で実際に運用されているサイト*3本です。

やられサイトの方は大体のバグは見つけたのですが、実際に運用されているサイトの大きなバグは見つけることができなかったので悔しかったです。

ちなみにこの時最優秀賞をとったのは学内限定のコンテストとはいえSecHack365の応募やインターン応募の際のアピールポイントになりました。

2018年

二回目の挑戦。

この年は(も)仕事が忙しく、レポートは各1本ずつしか出せず。

やられサイトの方は最後一日で大方の検査とレポート作成を行うという感じでほとんどさわれなかったのが残念でした。

結果は二年連続で最優秀賞をいただけることになりましたが、それに見合う成果を出せたのかという思いはちょっとあったりします。

 

ちなみに今年度からは、前年度までの初心者向け講習が「情報セキュリティ入門」という形で授業化されました。これは受講していなくてもコンテストの参加はできます*3

 

参加して

機械学習系の研究室に行くか暗号系の研究室に行くか...?とフラフラしてたのが、このコンテストがきっかけで行きたい研究室をちゃんと決めました。ちゃんと配属されて今のところは楽しくやっています。*4

また、長期のインターンを本格的に始めたりSecHack365やコミュニティ活動をやってみるいいきっかけにもなりました。ありがとうございました。

 

おまけ。

折角なので使ったツールを挙げていきたいと思います。

使ったツール

OWASP ZAP

OWASP Zed Attack Proxy Project - OWASP

有名な自動診断のツールです。最新ver.は記事公開時点で2.7.0です。

第二回のときは2.6系だったので公式が提供している拡張機能を色々組み込んで使っていたのですが、2.7系からは本体に統合されたっぽいですね(未確認。不正確な情報を含んでいる可能性があります。)

私はZAPをproxyとして使用し、firefox上でブラウジングしてある程度動作を記録した後検査対象サイトをコンテキストに含めてプロテクトモードで自動診断をかけていました。

 

Burp Suite

Burp Suite Scanner | PortSwigger

有償版と無償版がありますが、有償版は上のZAPがあるのでいいかなーと。

手動診断で使用していました。

 

他にもnmapやsqlmapを使ったりはしましたが、基本的に上二つで大丈夫かなと思います。 

最後に

レポートの書き方のこつみたいなのを載せようかと思いましたが長くなりそうなのでまたどこかで(書くとはいってない)

来年以降出る方は頑張ってください。応援しています。

バグハンティングはいいぞ

*1:ハンター試験に合格する必要はないし数百万分の一の難関でもない

*2:実際にはコンテストの対象サイトとして30ほどのサイトが挙げられており、また検査禁止期間が定められているサイトもありました

*3:私は受けてませんがスライドは見せてもらいました。基本的な内容が網羅されていていいと思いましたが、あれで諦めちゃった人も多いかなあ......と

*4:地獄をまだ見てないだけという可能性はある