このリポジトリへの貢献をためらわないでください!
バグバウンティ初心者向けロードマップ
こんにちは!Ansh Bhawnaniです。現在、セキュリティエンジニアとして働きながら、パートタイムでコンテンツクリエイターとしても活動しています。このリポジトリは、バグバウンティでのキャリアを始めようとする若く情熱的な人々を導くために、誰もが貢献できる場として作成しました。今後も定期的にコンテンツを追加していきます。ぜひフォローし続けてください。それでは始めましょう!
注記: バグバウンティの状況はここ数年で変化しています。1年前には簡単に見つけられた問題も、今では簡単ではありません。自動化が徹底的に使用されており、運が悪ければ「low hanging fruits(簡単に取れる脆弱性)」のほとんどは重複報告になります。競争が非常に激しいため、バグバウンティを始めるには、一貫性を保ち集中し続けるという強い決意が必要です。
はじめに
- バグとは何か?
- セキュリティバグまたは脆弱性とは、「ソフトウェアおよびハードウェアコンポーネントに含まれる計算ロジック(例:コード)の弱点であり、悪用されると機密性、完全性、または可用性に悪影響を及ぼすもの」を指します。
- バグバウンティとは何か?
- バグバウンティまたはバグバウンティプログラムとは、特定のソフトウェア製品のバグを発見・報告したことに対して報酬や賞金が与えられるプログラムを指すIT用語です。多くのIT企業は、製品改善を促進し、エンドユーザーやクライアントからのより多くの関与を得るためにバグバウンティを提供しています。バグバウンティプログラムを運営する企業は、セキュリティバグやセキュリティ脆弱性を含む何百ものバグ報告を受け取ることがあり、それらのバグを報告した多くの人が報酬を受け取ることができます。
- 報酬とは何か?
- 問題の深刻度と修正にかかるコストに応じて、あらゆる種類の報酬があります。現金(最も一般的)から、プレミアムサブスクリプション(Prime/Netflix)、割引クーポン(ショッピングサイトの電子商取引用)、ギフト券、スワッグ(衣類、バッジ、カスタマイズされた文房具など)まで多岐にわたります。金額は50ドルから50,000ドル、あるいはそれ以上になる場合もあります。
何を学ぶべきか?
- 技術
- コンピュータの基礎
- コンピュータネットワーク
- オペレーティングシステム
- コマンドライン
- プログラミング
どこで学ぶべきか?
世界クラスのセキュリティ研究者やバグバウンティハンターはTwitterにいます。あなたはどこにいますか?今すぐTwitterに参加して、新しい問題、脆弱性、ゼロデイ、エクスプロイトに関する毎日の最新情報を入手し、サイバーセキュリティの世界で方法論、リソース、メモ、経験を共有している人々に加わりましょう!
実践!実践!そして実践!
その他のツールとサービス
-
サーバー
-
Shodan - あらゆるモノのインターネットのための検索エンジン
-
Censys Search - 露出を減らしセキュリティを向上させるための、インターネット上のすべてのサーバー向け検索エンジン
-
Onyphe.io - オープンソースおよびサイバー脅威インテリジェンスデータのためのサイバーディフェンス検索エンジン
-
ZoomEye - グローバルなサイバースペースマッピング
-
GreyNoise - インターネットノイズを理解するための情報源
-
Natlas - スケーラブルなネットワークスキャン
-
Netlas.io - オンラインで利用可能なあらゆる資産の発見、調査、監視
-
FOFA - サイバースペースマッピング
-
Quake - サイバースペース測量・マッピングシステム
-
Hunter - セキュリティ研究者のためのインターネット検索エンジン
脆弱性
エクスプロイト
バグバウンティプラットフォーム
バグバウンティレポートの形式
-
タイトル
- 第一印象が最後の印象です。セキュリティエンジニアは
最初にタイトルを見ます。タイトルを見ただけで問題を特定できるようにすべきです。
- 悪用できる機能の種類、またはどのような
保護を回避できるのかについて書きましょう。1行で書いてください。
- 可能であれば、タイトルに問題の影響を含めてください。
-
説明
- このセクションでは脆弱性の詳細を提供します。ここで脆弱性を説明し、テスト中に得たパス、エンドポイント、エラーメッセージについて書きます。HTTPリクエストや脆弱なソースコードを添付することもできます。
-
再現手順
- バグを再現するための段階的な手順を書きましょう。アプリの所有者があなたの発見を検証し、シナリオを理解できることが重要です。
- 問題を実証するために、各ステップを明確に書く必要があります。これによりセキュリティエンジニアが迅速にトリアージできるようになります。
-
概念実証(PoC)
- このセクションは作業全体の視覚的証拠です。デモンストレーション動画を録画するか、スクリーンショットを添付できます。
-
影響
- 実際の影響について書きましょう。攻撃者が脆弱性の悪用に成功した場合、どのように利益を得られるのか。
- どのような損害が発生し得るのか?(理論上の影響について書くのは避けてください)
- 組織のビジネス目標に沿ったものであるべきです。
サンプルレポート

追加のヒント
- 最初からバグバウンティをフルタイムで行わないでください(とはいえ、どの時点でもフルタイムで行うことはおすすめしません)。毎日のようにバグが見つかる保証はなく、安定性もありません。常に複数の収入源を確保してください(バグバウンティを主な収入にしないこと)。
- 最新情報を把握し続けましょう。学ぶことを決してやめてはいけません。Twitterに参加し、優れた人々をフォローし、毎日新しいことを学ぶ好奇心を持ち続けましょう。Writeupやブログを読み、知識を広げ続けてください。
- バグバウンティは常にスキルを向上させる手段と捉えてください。お金はスキルを身につけた後にしかついてきません。お金はあくまでモチベーションとしてだけ考えましょう。
- 自動化に依存しないでください。ツールがあなたの代わりにお金を生み出すとは期待できません。自動化はどこにでもあります。バグバウンティで成功する鍵は独自性です。自分自身の方法論を構築し、他人から学び、自分で応用してください。
- 常にバグの深刻度を引き上げることを試み、より広い視野を持ちましょう。RCEは常に任意ファイルアップロードよりも高い影響を持ちます。
- 脆弱性が業界で定義された標準的な影響度に基づいて報酬を得られるとは限りません。資産の所有者はリスク評価で問題を評価し、多くの場合影響度 * 可能性(悪用可能性)として計算されます。例えば、SQLインジェクションはデフォルトでは重大(Critical)な影響を持ちますが、アプリケーションが組織のVPN内からのみアクセス可能で、データベースにユーザーデータや個人情報(PII)が含まれていない場合、悪用の可能性は低下し、リスクも同様に低下します。
- コミュニティとのつながりを保ちましょう。学び、貢献しましょう。何かにおいてあなたより優れている人は常にいます。ネットワーキングの機会を逃さないでください。フォーラムに参加し、カンファレンスやハッキングイベントに行き、人々と出会い、彼らの経験から学びましょう。
- 常に助けになる存在でありましょう。