recon-and-osint について
Recon & OSINTは、テスト前に組織が公開している資産を発見するためのセキュリティスキルです。パッシブ調査からアクティブな探索へ進み、調査結果を脅威モデリング用の資産一覧にまとめます。許可を得た対象のみを調査することを重視します。
主な機能
- 01パッシブな情報収集から開始
- 02ドメイン、ホスト、クラウド資産を発見
- 03サービスと技術スタックを識別
- 04エンドポイント、パラメーター、漏えいした秘密情報を探索
- 05脅威モデリング用の資産一覧を作成
活用シーン
- 01忘れられたステージング環境やバケットの発見
- 02セキュリティテスト前の公開エンドポイント整理
- 03脅威モデリング用の資産整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mn-youssef/ security-skills --skill recon-and-osintインストール後、Claude Code で/recon-and-osintを入力して読み込まれたか確認します。
同梱ファイルreferences/recon-playbook.md
詳細
偵察と OSINT(RECON フェーズ — ライフサイクルの入り口)
概要
何をテストするか決める前に、実際に公開されているものを把握します。脅威モデリングでは攻撃対象領域の存在を前提としますが、偵察ではそれを 発見 します。侵害の多くは、防御側が存在を忘れていた資産から始まります。
基本原則: 存在を知らないものは保護できません。まずすべてを列挙してください。
⚠️ 認可
自分が所有する資産、またはテストを明示的に許可されている資産のみを列挙してください。自組織に対する受動的な OSINT は常に安全ですが、アクティブスキャンやブルートフォースを行うには、その資産がスコープ内である必要があります。
手法(受動的 → アクティブ)
- 受動的なフットプリント調査(対象にパケットを送らない)— 検索エンジン、証明書の透明性ログ、公開コード、侵害データ、DNS レコード、アーカイブされたページ。ノイズがゼロで、最も価値の高い情報が得られることもよくあります。
- 資産の発見 — サブドメイン、IP 範囲、クラウドバケット、関連ドメイン、忘れられたステージング環境。
- サービスと技術のフィンガープリンティング — 実行中のもの、バージョン、フレームワークや CMS。
- コンテンツの発見 — 隠れたエンドポイント、ディレクトリ、API ルート、JS から参照される URL、パラメーター。
- シークレットと露出の調査 — 公開リポジトリ、ペーストサイト、JS バンドル、アーカイブに漏洩したキーやトークン。
- 集約 — 発見事項を脅威モデルで優先順位付けできる対象インベントリにまとめます。
各ステップで使える具体的なツールとコマンドについては、references/recon-playbook.md を参照してください。
クイックリファレンス — 調査対象
| カテゴリー | 有力な情報源 |
|---|---|
| サブドメイン | crt.sh/証明書の透明性ログ、subfinder、amass、DNS ブルートフォース |
| 忘れられた資産 | staging/dev/old のサブドメイン、S3/GCS/Azure バケット、アーカイブされたページ(Wayback) |
| 技術スタック | whatweb、wappalyzer、レスポンスヘッダー、ファビコンのハッシュ、JS ライブラリ |
| エンドポイント/パラメーター | gau/waybackurls、JS ファイルの解析、katana、robots/sitemap、Swagger/GraphQL |
| 漏洩したシークレット | GitHub/Gist の検索、公開リポジトリに対する trufflehog/gitleaks、ペーストサイト |
| 露出した認証情報 | 組織のメールアドレスを侵害データベースで検索(防御目的:攻撃者が知っている情報を把握する) |
出力:対象インベントリ
脅威モデルに渡すリストです。
| 資産 | 種類 | 技術 | 特記事項 | 露出状況 |
|---|---|---|---|---|
api.example.com | API ホスト | Node/Express | Swagger が公開されている | 公開 |
staging.example.com | Web | 古いビルド | debug=on | 内部限定にすべき |
引き継ぎ
インベントリを threat-modeling に渡して優先順位を付け、その後、優先度の高い対象を security-code-audit / api-security-testing に渡します。
よくある間違い
- 受動的な偵察の前にスキャンを始める — ノイズを発生させ、簡単に得られる成果を見逃します。
- メインドメインしか列挙しない — 忘れられたサブドメインやバケットが侵害の原因になることがあります。
- JS バンドルを無視する — エンドポイント、パラメーター、ときにはキーまで漏洩します。
- 発見したものの、テストを許可されていない資産をテストする — 発見しても許可を得たことにはなりません。
コメント
Markdown 対応