バグハンターの作業と利用するセキュリティツールについて

ペネトレーションテスト&バグバウンティ

好きな場所、好きな服装、好きな日、好きな時間に、パソコン1台で大金(?)が稼げる仕事があるとしたら、貴方は興味がありますか? 
うーん、胡散臭い匂いがプンプンしますね。(^^;;
 
その仕事は「バグハンター」です。
日本ではまだ馴染みが少ないですが、世界には数十万人のバグハンターが活躍していると言われているのです。
貴方も、バグハンターを目指しませんか。
 
ここでは、バグハンターの主な作業内容についてご説明します。
これを機会に「バグハンター」に興味をもってもらえればうれしいです。

バグハンターとは

バグハンターとは、ソフトウェアやウェブアプリケーションの脆弱性を発見し報告する「セキュリティ専門家」になります。
企業は「バグバウンティプログラム」利用して、バグハンターが脆弱性(バグ)を見つけた際に報奨金を支払います。
これにより、企業の製品のセキュリティが強化され、ハッキング被害のリスクが減少します。
簡単に言うと、
新しいショッピングサイトを立ち上げたので、ハッキングされないかチェックしてください。
もし、ハッキングされるバグを見つけたら、お礼を差し上げます。
ということです。
 
 

バグハンターの作業手順

準備フェーズ

・リサーチ
対象のアプリケーションやシステムについての情報を収集します。企業のバグバウンティプログラムのポリシーや報酬について理解することが重要です。
・ツールの準備
使用するセキュリティツールやスクリプトを準備し、環境設定を行います。
 

情報収集

・パッシブ情報収集
パッシブ情報収集とは、ターゲットシステムやネットワークに直接アクセスすることなく、公開されている情報を収集する手法です。これは主にインターネット上で自由に入手可能な情報を利用して行われ、対象に気づかれずに情報収集を行うことができます。
 
例えば、ターゲットのネットワーク構造、ドメイン、サーバー、IPアドレスなどを特定、ターゲットのセキュリティ弱点や脆弱性を見つけるための予備調査、公開されている情報を使って、ターゲットに関する詳細なプロフィールを構築などがあります。
・アクティブ情報収集
ターゲットのシステムやネットワークに直接アクセスし、情報を収集する手法を指します。この方法は、ターゲットに気づかれる可能性がある一方で、より詳細な情報を得ることができます。
 
例えば、ターゲットのシステムで開いているポートをスキャンし、稼働しているサービスを特定、特定のポートで稼働しているサービスのバージョンや種類を確認、ターゲットのシステムがどのオペレーティングシステムを使用しているかを特定、ネットワークトラフィックをキャプチャして分析し、送受信されるデータやプロトコルの確認、ターゲットのシステムやネットワークに存在する既知の脆弱性をスキャンなどがあります。
 

スキャニング

・ポートスキャン
Nmapなどのツールを使って、対象システムの開いているポートをスキャンします。
・サービス検出
各ポートで稼働しているサービスのバージョンを特定します。
 

脆弱性の発見

・自動ツール
Burp SuiteやNessusなどのツールを使用して、既知の脆弱性を自動的にスキャンします。
・手動テスト
XSSやSQLインジェクションなどの脆弱性を手動でテストします。
 

攻撃(エクスプロイト)

・脆弱性の実証
発見した脆弱性が実際に攻撃に利用できるかを確認します。Metasploitなどを使用して、エクスプロイトを試みます。

レポート作成

・詳細な報告書
発見した脆弱性について、影響度、再現手順、修正提案を含む詳細なレポートを作成します。
・提出
企業のバグバウンティプログラムを通じて、レポートを提出します。
 

フォローアップ

・確認
企業が修正を行ったかどうかを確認し、必要に応じて追加のテストを実施します。
 

バグハンターが利用するセキュリティツール

※以下のツールは、Kali Linuxで動作するツールが多いです。
Kali Linuxが未登録の場合は、こちらから
仮想環境(VirtualBox 7.0)にKali Linux 2023.1をインストール(手順)

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」のツールを利用して「インジェクション」の脆弱性の特化したプロのなれば良いのです。
他の脆弱性は、ほかのバグハンターにまかせれば良いのです。
 
そうすると、将来きっと、素晴らしい可能性が出てくるでしょう。