Hello there, ('ω')ノ
OSINT(Open Source Intelligence)は、公開されている情報を収集・分析するための一連の技術を指します。近年、この分野は急成長しており、APIセキュリティやエンドポイントの調査でも非常に役立ちます。
1. OSINTとは?
OSINTは、公開情報を利用して有益な情報を収集する技術です。APIに関してOSINTを使用すると、以下のことが可能です:
- ドキュメント化されていないAPI情報の発見
- 新しいエンドポイントの特定
- 既存エンドポイントの変更内容の発見
- APIのセキュリティ脆弱性の発見
2. OSINTリソースとツール
2.1 主なリソース
- 検索エンジン: GoogleやBingでドキュメント化されていないAPIを探す。
- ソーシャルメディア: X(旧Twitter)やGitHubで新しいエンドポイントや脆弱性情報を発見。
- オンラインフォーラム: Stack OverflowやRedditでAPIの使い方や問題解決法を確認。
2.2 おすすめツール
- OSINT Framework: OSINTリソースのオンラインカタログ。無料ツールと商用ツールがリスト化されています。
- Shodan: IoTデバイスやAPIエンドポイントを検索できるデータベース。APIの脆弱性も確認可能です。
- Google Hacking Database: Google検索クエリ(Google Dorks)のリストで、APIに関連する情報を効率的に探せます。
3. API調査に役立つクエリ例
3.1 Google Dorks
以下のクエリは、APIに関連する重要な情報を収集するのに役立ちます:
- APIキーを含むファイルを検索:
allintext:"API_SECRET*" ext:env | ext:yml
.env
や.yml
ファイルに含まれるAPI_SECRET
を探します。
- APIディレクトリを一覧表示:
intitle:"Index of /api/"
/api/
ディレクトリ内のファイルや構造を一覧表示。
- Amazon API GatewayのURLを検索:
inurl:execute-api site:amazonaws.com
Amazon API Gatewayを利用しているサイトを特定。
3.2 Shodanクエリ
- 特定ドメインに関連するホスト名を検索:
hostname:targetdomain.com
- JSONやXML形式のコンテンツをフィルタリング:
content-type:application/json
- HTTPステータスコード200(成功)のみを表示:
200 OK
4. GitHubでのAPI情報収集
GitHubのリポジトリには、APIキーや機密情報が含まれている場合があります。以下のクエリを使用して情報を収集できます:
4.1 ファイルパスに基づくクエリ
/config/
ディレクトリ内のファイルを検索:
path:/config/
4.2 言語に基づくクエリ
- JSONファイルのみを検索:
language:json
4.3 拡張子に基づくクエリ
.yml
や.json
ファイルを検索:
extension:yml
extension:json
4.4 サイズに基づくクエリ
- サイズが1KB以上のファイルを検索:
size:>1000
5. 注意点
5.1 プライバシーとセキュリティの配慮
OSINTは強力な情報収集手段ですが、不正使用は避けるべきです。調査対象の同意を得る、または合法的な範囲内で活動することが重要です。
5.2 APIのレスポンスデータの確認
APIのレスポンスボディには、開発者が気づいていない情報が含まれている場合があります。例えば:
- 他のユーザのデータやID
- 内部のエンドポイント構造
これらの情報を活用することで、脆弱性の特定や改善提案が可能です。
まとめ
OSINTを活用すれば、APIのエンドポイントや脆弱性情報を効率的に収集できます。ShodanやGoogle Dorks、GitHub検索を組み合わせて、公開情報から最大限のデータを引き出しましょう。
Best regards, (^^ゞ