概要
こんにちわ。株式会社フォアーゼットにてペンテスターをしているAyatoです。弊社は主に脆弱性診断やペネトレーションテストを国内外の各種企業及び政府機関に提供しております。また本記事に関係あるところで言えば、バグバウンティプラットフォーム「ZoneZero」の運営も行っています。
HackTheBoxという攻撃に軸を置いた、セキュリティ学習プラットフォームが発行している資格に無事合格したので、体験記をまとめます。日本語での体験記が豊富ではなかったので、参考になればうれしいです。
Certified Bug Bounty Hunter(CBBH)
CBBHでは、実践的なバグバウンティを行うにあたって必要なスキルを身に着ける資格と位置付けられています。
受験者のバグバウンティハンティングおよびWebアプリケーションペンテストスキルを評価する高度な実践的資格です。HTB認定バグバウンティハンター資格保持者は、中級レベルのバグバウンティハンティングおよびWebアプリケーションペンテスト領域における技術的能力を有しています。また、ウェブアプリケーション、サービス、APIが公開されているリスクを評価し、商用レベルの実用的なレポートを作成することができます。
ここで特に要求されるのは、商用レベルの実用的なレポートとなります。試験のポータルサイトなどでもレポートに関しては特に力を入れるように念押されます。Offsecの試験に取り組んだことはありませんが、両方取り組んだ方はOffsecよりもレポートが厳しいらしいです。
試験では、WEBサイトのブラックボックステストを行います。ブラックボックステストでは、WEBサイトの管理画面へ侵入を試みたのち、RCEを行うなどといった一連の流れが作成されており、それぞれフラグを提出する必要があります。
また、ブラックボックステストを行った結果をレポートにして提出をする必要があります。1度、試験が不合格になった場合でも、追加の費用をかけずに2度目の試験を受けることができます。
試験のレベル
まず、私が試験を受けた時に感じた試験のレベルとしては「少し難しい」試験だったと思います。
試験を受けた時の私の力量(?)は以下の通りです。
- Web系のバックエンドの作り方はほぼ理解してる
- IssueHuntで月間ランキング1位取ったことがある
- バグバウンティで何回か報酬もらっている
- CVEを4つ持っている
- HackTheBoxのHackerランク
- 実務ペネトレーションテスト、脆弱性診断は1年ほどの経験
CBBHを受け終わってから合格通知が来るまでに受けたeJPT v2よりかははるかに難しい試験でした(出題される分野とレベルが違って参考になりませんが💦)
試験の価格
試験を受けるにはいくつかの方法ああります。
- HackTheBox AcademyのCubeを購入する
- サブスクリプションを購入する
1の「HackTheBox AcademyのCubeを購入する」方法では、必要なモジュールと試験のバウチャーでおおよそ330ドル必要です。2の「サブスクリプションを購入する」方法では1年間のサブスクリプションの場合には490ドルが必要です。
他のモジュールも見てみたいなぁみたいな場合があるので、サブスクリプションをお勧めいたします。
合格までの道のり
学習スタート
CBBHの試験を受けるためには、HackTheBox Academyの指定のモジュールを20個クリアする必要があります。逆に言えば、そのモジュールがシラバスであり、それらを完璧にすることで試験に合格することができます。
自身は、HackTheBox Academyのモジュールのうち、一部を人に教えるためや興味関心で既に取り組んでいたので、そのほかのモジュールを加えて勉強する形で進めました。大体1つもモジュールは5日以内に終わらすように心がけていました。(そうしないと永遠と取り組まないみたいな事象が発生するので)以下のようなスプレッドシートを作成して目標を管理しました。
アカデミーのモジュールを取り組んだ時に「これ知らなかった!」が多発する攻撃手法に関しては、PortSwiggerのアカデミーに取り組みました。こうすることで非常に理解が深まりましたが、試験に合格するための勉強ならアカデミーで十分でした。
試験では自由にGoogleで検索することが許されますが、アカデミーの内容を記したチートシートを作成するのが良いと言われています。これは同じような問題が出た際、モジュールに戻って確認する手間を省くためです。自身はマークダウンが好きなのでNotionで作成しました。
大体7月から勉強を始めてすべてのモジュールが完了したのは予定より少し遅れ、10月末でした。
1度目の試験
1度目の試験では合格点を満たすまでのフラグが2つ足りませんでした。これは単純にどのようなアプローチを利用してイニシャルアクセスを取得すればいいかが分からなかったためです。レポートを白紙の状態で提出しました。
試験が終了して1週間ほどたつと、スタッフからのフィードバックが得られます。
残念ながら、HTB CBBH 認定を授与することはできません。
このようなもののほかに、「改善のためのフィードバック」を受けることができます。その中には技術的なアプローチも含まれております。自身では視野に入れなかったアプローチを再検討することができました。
2度目の試験
1度目に利用しなかった手法を利用して、2度目の試験に挑みました。割とつらかったですが、足がかりが得られればあっさり解けました。
問題となったのはレポートですが、自分は5日かけてフラグを取得し、2日かけてレポートを作成しました。レポートではスクリーンショットのほかにコードも貼り付け、重要な箇所を赤字で強調するなど、PEN200のレポートに求められることを最低限、行いました。
試験が完了しレポートを提出したのは11月22日でした。レポートを提出した約3週間後の、12月13日に以下のメールを受け取りました。
半年の学習を経て合格できて、非常にうれしいですね。
試験のフィードバックでは以下の内容が記されていました。
おめでとうございます!あなたは HTB CBBH 認定を授与されました。
あなたの脆弱性の特定と悪用方法を文書化したレポートは、称賛に値するものであり、ステップバイステップで再現しやすいものでした。あなたのレポートは、うまく構成されていました。すばらしいです!
レポートの内容も素晴らしいと褒められました。ありがたいです。
まとめ
WEBのペンテストやバグバウンティに関して非常に広い知見を得られたので満足です。また、試験が終わった後からはレポートの書き方に関しての意識も変わったのを実感しており、WordPressのプラグインの脆弱性を報告した際には、開発者からわかりやすい報告だったと褒められました。2025年にはOSCE3を取得できるように努めます!