ソフトウェアエンジニアのためのtheHarvester入門: セキュリティとOSINT活用法
今日はlaramies/theHarvesterについて、ソフトウェアエンジニアの皆さんに役立つ情報をお届けしますね!theHarvesterは、まるで雲の中から雨粒を探すように、インターネットの広大な情報の中から、メールアドレスやサブドメインといった貴重な情報を収集してくれる、とっても賢いツールなんです
では、さっそく見ていきましょう!
theHarvesterは、OSINT(Open Source Intelligence、公開情報インテリジェンス)ツールと呼ばれるものの一つです。OSINTは、誰もがアクセスできる公開情報を使って、特定のターゲットに関する情報を集める技術のこと。theHarvesterは、Google、Bing、LinkedIn、Twitterなど、様々な公開されているソースを横断的に検索して、ドメインに関連するメールアドレス、サブドメイン、ホスト名、従業員の名前などを自動的に集めてくれます。
セキュリティの分野では、攻撃者がシステムを侵入する前に、このような情報を収集して足がかりを探すのに使われることが多いです。しかし、ソフトウェアエンジニアの皆さんにとっては、自社のドメインがどのような情報にさらされているか、潜在的なセキュリティリスクはないかを確認するために、まるで晴れた日の空を見上げて雲の動きを予測するように役立ちますよ!
theHarvesterは、ソフトウェア開発のさまざまな段階で活用できます。
セキュリティテスト
開発中のアプリケーションやサービスのセキュリティ脆弱性を評価する際に、外部からどのような情報が見えているか把握できます。例えば、意図せず公開されているサブドメインや、開発者のメールアドレスなどが発見されることもあります。
ドメイン管理
複数のサブドメインを持つ大規模なサービスでは、意図せず残ってしまった古いサブドメインや、シャドーIT(管理外のIT資産)を見つける手助けになります。
リサーチ
新しいプロジェクトやサービスの市場調査の一環として、競合他社の情報収集に利用できます。ただし、悪用は厳禁ですよ!
theHarvesterはPythonで書かれているので、Pythonがインストールされていれば簡単に導入できます。まるで、晴れた日の空に虹をかけるように、サクッと準備できますよ!
リポジトリをクローン
git clone https://github.com/laramies/theHarvester.git
ディレクトリに移動
cd theHarvester
必要なライブラリをインストール
python3 -m pip install -r requirements.txt
これで準備完了です!簡単でしょう?
コマンドラインから簡単に実行できます。ここでは、基本的な使い方をご紹介します。
python3 theHarvester.py -d <ドメイン名> -b <ソース>
-d
ターゲットとなるドメインを指定します。
-b
情報を収集するソースを指定します。例えば、「google」「bing」「linkedin」などがあります。複数のソースを指定する場合は、「all」を使います。
例えば、「example.com」というドメインの情報を、GoogleとBingから集めたい場合は、次のように実行します。
python3 theHarvester.py -d example.com -b google,bing
実行すると、検索結果としてメールアドレスやサブドメインが表示されます。
すべての公開ソースを使って、より網羅的に情報を収集したい場合は、「all」を使います。
python3 theHarvester.py -d example.com -b all
結果を後でじっくり見たい場合は、-fオプションでファイルに出力できます。
python3 theHarvester.py -d example.com -b all -f result.json
このコマンドを実行すると、result.jsonというファイルに結果が保存されます。
theHarvesterは、ソフトウェアエンジニアの皆さんにとって、セキュリティ対策やドメイン管理をより賢く進めるための、まるで晴れ間を教えてくれる天気予報士のような存在です。定期的に自社のドメインをチェックすることで、潜在的なリスクを事前に見つけ出し、より安全なシステムを構築することができます。