Open-source intelligence (OSINT)は単純なGoogle dorking とソーシャルメディアスクレイピングとして紹介されることが多いですが、プロフェッショナルグレードのOSINTには構造化された方法論、ツールチェーン、および厳密な発見の相関関係が必要です。このガイドでは、実際の偵察エンゲージメントと脅威インテリジェンスワークフローで使用される高度なテクニックについて説明します。
偵察フレームワークの構築
Advanced OSINTはツールではなく構造から始まります。収集ツールに触れる前に、目的を定義してください。組織の攻撃面をマッピングしているのか、脅威アクターをプロファイリングしているのか、それとも主張を検証しているのかです。インテリジェンスサイクル(計画、収集、処理、分析、配信)のようなフレームワークを使用して、構造化されていないデータに溺れることを避けてください。
ケースファイル(構造化されたドキュメントまたはグラフデータベース)を維持して、エンティティ(ドメイン、IP、従業員、メール形式、テクノロジー)をリンクしてください。Maltegoのようなツール、またはNeo4j上に構築された自主ホストされた代替手段を使用すると、関係が浮かび上がってくるにつれてそれらを可視化でき、これは数十の相互接続されたデータポイントを追跡しているときに非常に重要です。
インフラストラクチャマッピング
whois と基本的なDNSルックアップ以上に進めてください。Passive DNSデータベース(SecurityTrails、RiskIQ、またはオープン代替手段)は過去のA/NSレコードを明らかにし、インフラストラクチャの変更と以前に使用されたホスティングプロバイダーを暴露します。これを証明書透明性ログと組み合わせます:
curl -s "https://crt.sh/?q=%25.example.com&output=json" | jq -r '.[].name_value' | sort -u
このコマンドは、ドメインの証明書が発行された各サブドメインをプルします。これにより、忘れられたステージング環境やパブリックCAエコシステムに意図せず公開された内部ツールが浮き彫りになることがよくあります。
これを shodan または censys クエリと組み合わせて、検出されたIP上で実行されているサービスをフィンガープリントします:
shodan search "org:'Example Corp'" --fields ip_str,port,org
ASN所有権に対して結果をクロスリファレンスして、クラウドマイグレーションまたは実際の攻撃面を拡大するサードパーティベンダーを特定します。
メタデータおよびドキュメント分析
公開されているドキュメント(PDF、Officeファイル、画像)は、意図したものより多くをリークすることがよくあります。exiftool のようなツールは、著者名、ソフトウェアバージョン、内部ユーザー名を抽出します:
exiftool -a -u -g1 report.pdf
大規模では、検索オペレータ(filetype:pdf site:example.com)を使用してターゲットの公開ドキュメントをスクレイプし、メタデータをバッチ処理して従業員のユーザー名と内部命名規則のリストを構築します。これは、後のフィッシングシミュレーションまたはパスワードスプレイアセスメント(常に承認済みスコープ内)に非常に価値があります。
人物およびソーシャル相関
個人に対するAdvanced OSINTは、単一のソース信頼するのではなく、プラットフォーム全体のフラグメントを相関することに依存します。SherlockやWhatsMyNameなどのユーザー名列挙ツールは、与えられたハンドルについて数百のプラットフォームをチェックしますが、実際の価値はタイムスタンプ、文体、プロフィール画像をクロスリファレンスすることから来ています。
逆画像検索(Google Images、Yandex、法的に許可されている場合はPimEyes)は、匿名と公開プロファイル間のアイデンティティの重複を確認できます。Yandexは多くの場合、顔マッチングについてGoogleより優れたパフォーマンスを発揮します。結論を引き出す前に、常に少なくとも2つの独立したソースで調査結果を確認してください。単一ソースの属性化は、一般的な分析的失敗です。
スクリプティングによる収集の自動化
手動による収集はスケーラボルではありません。API(Shodan、VirusTotal、HaveIBeenPwned、crt.sh)の周りに軽量のPythonスクリプトを作成して、反復的なクエリを自動化し、出力を共通スキーマ(JSONまたはCSV)に正規化して、後でグラフ化できるようにします。
import requests
def get_subdomains(domain):
url = f"https://crt.sh/?q=%25.{domain}&output=json"
resp = requests.get(url, timeout=10)
names = set()
for entry in resp.json():
for name in entry["name_value"].split("\n"):
names.add(name.strip())
return sorted(names)
これのようなツールを単一のオーケストレーションスクリプト(またはSpiderFootのようなフレームワークを使用して)にラップすると、手動の労力が削減され、エンゲージメント全体で一貫した反復可能な結果が確保されます。
調査官のための運用セキュリティ
Advanced OSINTの作業は、自分自身のアイデンティティをターゲットに暴露するリスクをもたらします。専用の調査インフラストラクチャを使用します。ソックパペットアカウント、機密ルックアップ用のVPNまたはTor、およびクッキーまたはフィンガープリントリークを防ぐための独立したブラウザプロフィールまたはVM。プライマリネットワークからソックパペットアカウントに認証することはなく、パターンベースの属性化を避けるためにインフラストラクチャを定期的にローテーションします。
発見の検証およびドキュメント化
生データは、検証およびコンテキスト化されるまでインテリジェンスではありません。すべての重要な発見を少なくとも1つの独立したソースに対してクロスチェックし、収集プロセスにタイムスタンプを付け、生証拠(スクリーンショット、Wayback Machineを使用したキャッシュページ)を保存して、ソースが消える可能性に備えます。明確な証拠の連鎖は、プロフェッショナルなOSINTレポートを推測から分離するものです。
最後に
Advanced OSINTは、エキゾチックツール以上の規律ある方法論についてのものです。構造化された収集、慎重な相関、および正直な検証です。これらの習慣を習得すると、散在した公開データが実用的なインテリジェンスに変わります。
Korra Studioの「Offensive and Digital Forensics」セグメントで、より多くの偵察と脅威インテリジェンスのチュートリアルを確認してください。