ペネトレーションテスト&バグバウンティ
好きな場所、好きな服装、好きな日、好きな時間に、パソコン1台で大金(?)が稼げる仕事があるとしたら、貴方は興味がありますか?
うーん、胡散臭い匂いがプンプンしますね。(^^;;
その仕事は「バグハンター」です。
日本ではまだ馴染みが少ないですが、世界には数十万人のバグハンターが活躍していると言われているのです。
貴方も、バグハンターを目指しませんか。
ここでは、バグハンターの主な作業内容についてご説明します。
これを機会に「バグハンター」に興味をもってもらえればうれしいです。
バグハンターとは
バグハンターとは、ソフトウェアやウェブアプリケーションの脆弱性を発見し報告する「セキュリティ専門家」になります。
企業は「バグバウンティプログラム」利用して、バグハンターが脆弱性(バグ)を見つけた際に報奨金を支払います。
これにより、企業の製品のセキュリティが強化され、ハッキング被害のリスクが減少します。
簡単に言うと、
新しいショッピングサイトを立ち上げたので、ハッキングされないかチェックしてください。
もし、ハッキングされるバグを見つけたら、お礼を差し上げます。
ということです。
バグハンターの作業手順
準備フェーズ
・リサーチ
対象のアプリケーションやシステムについての情報を収集します。企業のバグバウンティプログラムのポリシーや報酬について理解することが重要です。
・ツールの準備
使用するセキュリティツールやスクリプトを準備し、環境設定を行います。
情報収集
・パッシブ情報収集
パッシブ情報収集とは、ターゲットシステムやネットワークに直接アクセスすることなく、公開されている情報を収集する手法です。これは主にインターネット上で自由に入手可能な情報を利用して行われ、対象に気づかれずに情報収集を行うことができます。
例えば、ターゲットのネットワーク構造、ドメイン、サーバー、IPアドレスなどを特定、ターゲットのセキュリティ弱点や脆弱性を見つけるための予備調査、公開されている情報を使って、ターゲットに関する詳細なプロフィールを構築などがあります。
・アクティブ情報収集
ターゲットのシステムやネットワークに直接アクセスし、情報を収集する手法を指します。この方法は、ターゲットに気づかれる可能性がある一方で、より詳細な情報を得ることができます。
例えば、ターゲットのシステムで開いているポートをスキャンし、稼働しているサービスを特定、特定のポートで稼働しているサービスのバージョンや種類を確認、ターゲットのシステムがどのオペレーティングシステムを使用しているかを特定、ネットワークトラフィックをキャプチャして分析し、送受信されるデータやプロトコルの確認、ターゲットのシステムやネットワークに存在する既知の脆弱性をスキャンなどがあります。
スキャニング
・ポートスキャン
Nmapなどのツールを使って、対象システムの開いているポートをスキャンします。
・サービス検出
各ポートで稼働しているサービスのバージョンを特定します。
脆弱性の発見
・自動ツール
Burp SuiteやNessusなどのツールを使用して、既知の脆弱性を自動的にスキャンします。
・手動テスト
XSSやSQLインジェクションなどの脆弱性を手動でテストします。
攻撃(エクスプロイト)
・脆弱性の実証
発見した脆弱性が実際に攻撃に利用できるかを確認します。Metasploitなどを使用して、エクスプロイトを試みます。
レポート作成
・詳細な報告書
発見した脆弱性について、影響度、再現手順、修正提案を含む詳細なレポートを作成します。
・提出
企業のバグバウンティプログラムを通じて、レポートを提出します。
フォローアップ
・確認
企業が修正を行ったかどうかを確認し、必要に応じて追加のテストを実施します。
バグハンターが利用するセキュリティツール
※以下のツールは、Kali Linuxで動作するツールが多いです。
Kali Linuxが未登録の場合は、こちらから
仮想環境(VirtualBox 7.0)にKali Linux 2023.1をインストール(手順)
![](https://whitemarkn.com/wp-content/uploads/bugh010-300x258.jpg)
1.Burp Suite
ウェブアプリケーションのセキュリティテストツール。インターセプトプロキシ、スキャナ、リピータなどの機能があり、XSSやSQLインジェクションなどの脆弱性を発見するのに役立ちます。
2.Nmap
ネットワークスキャニングツール。ポートスキャン、サービス検出、OSフィンガープリンティングなどが可能で、ネットワークの脆弱性を評価するのに使用されます。
3.Metasploit
ペネトレーションテストのフレームワーク。既知の脆弱性を利用して、システムの侵入テストを実行できます。
4.Nikto
ウェブサーバのスキャニングツール。サーバの脆弱性、古いバージョンのソフトウェア、不適切な設定などをチェックします。
5.OWASP ZAP (Zed Attack Proxy)
ウェブアプリケーションのセキュリティテストツール。自動化されたスキャンと手動テストをサポートし、さまざまなセキュリティテストを実行できます。
6.Wireshark
ネットワークプロトコルアナライザ。ネットワークトラフィックをキャプチャして分析し、異常な動作や脆弱性を特定します。
7.Nessus
ネットワーク脆弱性スキャナ。さまざまなプラットフォームの脆弱性をスキャンし、詳細なレポートを生成します。
8.Recon-ng
情報収集フレームワーク。オープンソースのインテリジェンス収集を自動化し、さまざまな情報源からデータを収集します。
9.John the Ripper
パスワードクラッキングツール。パスワードの強度を評価し、脆弱なパスワードを特定します。
10.Hydra
パスワード攻撃ツール。さまざまなプロトコルに対するブルートフォース攻撃を実行します。
これらのツールを効果的に活用することで、バグハンターはさまざまな脆弱性を効率的に発見し、修正を促すことができます。
バグハンターの作業と利用するセキュリティツールについてのまとめ
バグハンターなんて無理だ!!・・言わないでくださいね。
冒頭で「好きな場所、好きな服装、好きな日、好きな時間に、パソコン1台」と書きましたが、もう一つあるのです。
それは、「自分の得意な脆弱性の見つけかた(分野)」を見つけることです。
全部の脆弱性を見つける必要はないのです。
たとえば、「Burp Suite」のツールを利用して「インジェクション」の脆弱性の特化したプロのなれば良いのです。
他の脆弱性は、ほかのバグハンターにまかせれば良いのです。
そうすると、将来きっと、素晴らしい可能性が出てくるでしょう。