offensive-osint について
offensive-osintは、許可を得た外部レッドチーム偵察向けの実務リファレンススキルです。必要なトピックの資料だけを読み込み、証拠、確度、深刻度の評価方法を確認できます。
主な機能
- 01トピック別の偵察資料を読み込み
- 02エンドポイントの調査パスと辞書
- 03シークレットのパターンと読み取り専用検証
- 04発見事項の深刻度ルール
- 05証拠と確度の記録方法
活用シーン
- 01許可済み資産の偵察計画
- 02APIやクラウドストレージの調査パス確認
- 03発見した認証情報やシークレットの評価
- 04共通基準による発見事項の判定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ uphiago/ recon-skills --skill offensive-osintインストール後、Claude Code で/offensive-osintを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/breach-and-credentials.mddork-corpus.mdhelpers-and-automation.mdidentity-fabric.mdpeople-osint.mdprobes-and-wordlists.mdrecon-stack.mdrecon-techniques.mdsaas-public-surfaces.mdsecret-patterns.mdsecret-validators.mdsector-discovery-mass-recon.mdsector-notes.mdseverity-matrix.mdspecialized-osint.mdtooling-install.mdscripts/secret_scan.pysector_mass_scan.py詳細
Offensive OSINT — 外部レッドチーム用ツール集
v3.0 — 2026-05-02 に、4,168 行の単一ファイルから、簡潔な SKILL.md(約 400 行)と
references/内の 15 個のモジュール式リファレンスファイルに再構成しました。詳細なコンテンツは必要に応じて読み込まれ、Claude は現在のタスクに関連するリファレンスファイルのみを読み込みます。
0. 使用する場合/使用しない場合
このスキルを使用する場合:
- 具体的なプローブパス、ワードリスト、正規表現、ペイロード、スコアルール、またはコマンドライン用 URL が必要な場合。
- 偵察を実施しており、(手法ではなく)実際の技術リファレンスが必要な場合。
- 偵察の自動化を構築しており、初期データとして使用する具体的なリストが必要な場合。
このスキルを使用しない場合:
- ユーザーが能動的なエクスプロイト、侵入後の活動、または偵察を超える内容を求めている場合。
- ユーザーが防御側/ブルーチーム向けの検知を求めている場合。
- 対象への許可が確認されていない場合 — §1 を参照してください。
1. 許可と法的な姿勢
オペレーターが所有する資産、または評価について書面による許可を得ている資産を対象とします。未確認の第三者の対象に対して行動する前に、対象範囲を慎重に確認してください。全体的な方針については、手法スキル §1 を参照してください。
2. 確信度
- TENTATIVE — 間接的な証拠に基づく妥当な推定です(スニペットのみのドーク一致、単一ソースの資産、推定されたメールパターン)。
- FIRM — 直接観測されています(サブドメインの名前解決、HEAD で存在を確認したバケット、返されたバナー)。
- CONFIRMED — 独立した裏付け、または直接検証によって確認されています(ライブ PMAK 検証、複数の情報源が一致、オブジェクトを取得できる一覧表示可能なバケット)。
3. 出力形式の規約
検出結果には、id、module、asset_key、category、severity(info/low/medium/high/critical)、confidence、title、description、evidence(url + UTC timestamp + sha256 + raw ≤ 2 KiB)、references、remediation を含めてください。タイムスタンプはすべて UTC にしてください。
4. 情報源の衛生管理と引用
すべての成果物に URL + UTC timestamp + SHA-256 +tool version + run_id を含めてください。PNG スクリーンショット、JSONL 実行ログ、生の HTTP キャプチャは、本文を 2 KiB 以下に制限してください。
5. 禁止事項
- 認証情報/PII/セッショントークンをクラウド LLM に貼り付けないでください。
- DEEP/
--aggressiveの指定なしに、破壊的なプローブを実行しないでください。 - 検証済みの認証情報は、読み取り専用の稼働確認以外に使用しないでください。
- 単一の情報源だけに基づいて属性を断定しないでください。
- ベンダーのラベルを真実として扱わないでください。
6. 一般的な OSINT(厳選ツールのリファレンス)
- OSINT ブックマーク集 — 包括的なブックマーク集です。
- OSINT Framework — ツール/リソースのディレクトリです。
- IntelTechniques Tools — 調査ツール一式です。
- Bellingcat Toolkit — 調査ジャーナリズム向けツール集です。
- CyberSudo OSINT Toolkit — OSINT ウェブサイトの一覧です。
- Google Dorks — 効率的な Google 検索です。
- Distributed Denial of Secrets — 漏えいデータセットです。
- 国別リソース — 国別の OSINT です。
このスキルの使い方
このスキルは簡潔な運用インデックスです。具体的なデータ(ワードリスト、正規表現、ドーク、エンドポイントカタログ、重大度の例)の大半は、トピック別に整理された references/ サブフォルダーにあります。
このスキルが呼び出されたときのワークフロー:
- 原則(§0-5)、スコアリング基準(§20-21)、攻撃パステンプレート(§39)、および以下のリファレンスインデックスを確認するため、まずこの SKILL.md を読みます。
- タスク固有のデータについては、必要なリファレンスファイルだけを読みます。15 個すべてを読み込まないでください。各リファレンスは単独で利用できます。
~/security-research/bug-bounty-resources/にあるローカルツールキットにはbug-bountyスキルを、計画フレームワークにはosint-methodologyを使用します。
読み込みの目安:
- 単一クラスの質問(例:「AWS キーの正規表現は?」)→
secret-patterns.mdのみを読み込みます。 - 複数クラスにまたがる調査(例:「target.com の外部偵察を行う」)→ まず
probes-and-wordlists.mdを読み込み、調査が進むにつれて他のファイルを追加します。 - 重大度/トリアージに関する質問 →
severity-matrix.mdを読み込みます。
リファレンスインデックス
| ファイル | 内容 | トリガーフレーズ |
|---|---|---|
probes-and-wordlists.md | API/Swagger/GraphQL のパス、クラウドバケットの調査用ツール群、JS の推測パス、ベンダーおよびクラウドネイティブのフィンガープリント、K8s/CI-CD の露出、ドキュメント/Wiki の漏えい、WHOIS/RDAP、DNS カタログ、Wayback CDX、コピーして使える curl プローブ、メールセキュリティ分析、オリジン/CDN のバイパス | swagger の発見、graphql のイントロスペクション、サブドメインの乗っ取り、クラウドバケットの列挙、S3/GCS/Azure の列挙、kubernetes の露出、CI CD の露出、ベンダーのフィンガープリント、WHOIS RDAP、Wayback CDX、コピーして使えるプローブ、curl のワンライナー |
identity-fabric.md | Entra/Okta/ADFS/Google/SAML の具体的なエンドポイント、M365 の詳細(Teams フェデレーション、SharePoint、OneDrive)、GraphQL のフィールド候補提示による列挙、ユーザー列挙のパターン | ID ファブリック、SSO の発見、IdP のフィンガープリント、okta の列挙、entra の列挙、azure AD の列挙、ADFS の列挙、SAML メタデータ、Microsoft 365 の詳細、Teams フェデレーション、SharePoint の列挙、OneDrive の列挙、graphql のフィールド候補提示 |
secret-patterns.md | 48 種類のシークレット正規表現カタログ(AWS、GCP、GitHub PAT、Stripe、Slack、JWT、秘密鍵、Anthropic/OpenAI/HuggingFace、Cloudflare、DigitalOcean、npm、PyPI、Docker Hub、Atlassian、DataDog、Sentry、ngrok)と重大度および誤検知に関する注記 | シークレットのスキャン、シークレットの漏えい、認証情報の漏えい、JWT のトリアージ、AWS キーのトリアージ、Anthropic API キー、OpenAI API キー |
secret-validators.md | 読み取り専用のシークレット検証ツール 9 種類と、AWS/GitHub/Slack/Postman/JWT/Anthropic/OpenAI/npm/Atlassian/DataDog を対象とする発見後の列挙ワークフロー | シークレットの検証、発見後のワークフロー、AWS キーのトリアージ、JWT のトリアージ |
dork-corpus.md | 9 カテゴリにわたる Google/Bing/DDG の dork テンプレート 80 件以上と、対象に合わせた GitHub コード検索用 dork 13 件 | google の dork 検索、bing の dork 検索、github の dork 検索、dork コーパス |
recon-stack.md | サブドメイン情報源のスタック(パッシブおよびアクティブ)、インフラおよびアタックサーフェスの OSINT(Shodan/Censys/crt.sh/JARM/favicon mmh3)、TLS の詳細監査、逆引き DNS、IPv6 の列挙 | サブドメインの列挙、証明書の透明性、crt.sh、shodan による偵察、censys による偵察、JARM、favicon mmh3、TLS の詳細監査、JA3 JA4、逆引き DNS の一括調査、IPv6 の列挙 |
breach-and-credentials.md | 漏えいおよび侵害データの情報源(HudsonRock、HIBP、DeHashed、IntelX、情報窃取マルウェアのログ)、メールアドレスパターンの推定、メール収集用情報源のスタック | 漏えい情報の検索、have I been pwned、HudsonRock cavalier、情報窃取マルウェア、dehashed、intelx、メール収集 |
people-osint.md | 検索エンジン、ユーザー名およびメールアドレスの調査、人名検索、電話番号の OSINT、ソーシャルメディア、公開記録および企業情報 | ユーザー名の調査、人名検索、電話番号の OSINT、ソーシャルメディアの OSINT、公開記録 |
saas-public-surfaces.md | Postman の公開ワークスペース検索(検証済みエンドポイント)、Stack Exchange の OSINT 一括調査、公開 SaaS の dork スタック(Notion、Confluence、Trello) | postman ワークスペース、stack exchange の OSINT、Notion の公開情報、Confluence の匿名アクセス、Trello ボード |
specialized-osint.md | 脅威インテリジェンスおよび IOC、暗号資産の OSINT、メディアインテリジェンス、地理空間インテリジェンス、地域別検索エンジン、Telegram およびメッセージングのインテリジェンス | 脅威インテリジェンス、IOC、暗号資産の OSINT、メディアインテリジェンス、地理空間 OSINT、地域別検索、Telegram インテリジェンス |
recon-techniques.md | LinkedIn の従業員列挙、求人情報による技術スタック分析、Slack/Discord/Telegram のワークスペース発見、パッケージレジストリの漏えい調査(npm/PyPI/Docker Hub/Quay/GHCR)、物理偵察のための衛星画像 | LinkedIn の列挙、求人情報の技術スタック、Slack ワークスペースの発見、Discord サーバーの発見、npm トークンの漏えい、PyPI トークンの漏えい、Docker Hub の漏えい、物理偵察用の衛星画像 |
severity-matrix.md | 観測された状況から検出結果の重大度(CRITICAL/HIGH/MEDIUM/LOW/INFO)を判定する実例 80 件以上 | 重大度の判定、検出結果の重大度、重大度マトリックス |
sector-notes.md | ヘルスケア(DICOM)、金融(SWIFT)、ICS/SCADA(Modbus/BACnet)、IoT、政府機関を対象とする偵察ノート | セクター別の偵察、ヘルスケア DICOM、金融 SWIFT、ICS SCADA、Modbus、BACnet |
sector-discovery-mass-recon.md | sector-notes.md を補完 — 米国の規制対象外の中小企業セクター(造園、プールサービス、屋根工事、HVAC、自動車修理、会計など)の一括偵察。並列バッチテスト、誤検知のフィルタリング、実測に基づくセクターランキングを含みます。再利用可能な Python スキャナーは scripts/sector_mass_scan.py にあります。 | セクターの発見、ターゲットの発見、規制対象外のセクター、米国の中小企業の偵察、WordPress の一括偵察、並列バッチテスト |
tooling-install.md | Subfinder、Amass、httpx、nuclei、gau、katana、gowitness、dnsx、mapcidr、naabu、sslyze、testssl.sh などをすばやくインストールするワンライナー | ツールのインストール、subfinder のインストール、nuclei のインストール、httpx のインストール |
helpers-and-automation.md | AI を活用した OSINT、アーカイブおよび証拠の保全、自動化およびワークフローのパターン、モジュール間のサイドカー連携、実行可能な secret_scan.py ヘルパーに関する注記 | AI を活用した OSINT、証拠の保全、自動化、サイドカー |
20. エンドポイント関心度スコア — 0~100 の評価基準
分類されたすべてのエンドポイント(方法論スキルの§22)に、次の評価基準を適用します。
| シグナル | 点数 | 条件 |
|---|---|---|
| 認証なしの書き込み | +40 | POST/PUT/DELETE/PATCH エンドポイントが、匿名で 200/201/202/204 を返します。 |
| GraphQL のイントロスペクションが公開 | +35 | __schema クエリが匿名で型の一覧全体を返します。 |
| HTTP メソッドの改ざんによるバイパス | +30 | OPTIONS により、ドキュメントに記載されていないメソッドが明らかになり、そのメソッドにアクセスできます。 |
| 認証情報を伴う CORS の反射 | +25 | Access-Control-Allow-Origin がリクエストの Origin を反射し、かつ Access-Control-Allow-Credentials: true です。 |
| パスに機密性の高いキーワードが含まれる | +20 | パスが次のいずれかに一致します:admin、internal、debug、user、password、token、key、export、upload、backup、config、secret、private、delete、purge、wipe。 |
| エラーにスキーマ情報が漏えい | +20 | レスポンス本文に、スタックトレース、ORM のエラークラス、またはフレームワークのシグネチャ(例:ActiveRecord::RecordNotFound、org.hibernate.exception.*、django.db.utils.IntegrityError)が含まれます。 |
| URL に API キーが含まれる | +15 | パスまたはクエリ文字列に api_key=、apikey=、token=、access_token= が含まれます。 |
| ワイルドカード CORS | +10 | Access-Control-Allow-Origin: *。 |
| レート制限ヘッダーがない | +10 | RateLimit-* / X-RateLimit-* ヘッダーがなく、連続したリクエストの後も Retry-After がありません。 |
しきい値:
| スコア | 重大度 |
|---|---|
| ≥ 90 | CRITICAL |
| 70–89 | HIGH |
| 50–69 | MEDIUM |
| 25–49 | LOW |
| < 25 | INFO |
スコアが 70 以上の場合は、エビデンスに attack_path_hint を添付します(§29 を参照)。
21. モバイルアプリの所有者確信度 — 0~100 の評価基準
APK の詳細な静的解析を実行する前に、発見されたアプリが実際に対象のものかどうかを評価します。しきい値:70 以上 = 承認。
| シグナル | 点数 |
|---|---|
パッケージの逆引き DNS が対象ドメインと一致する(例:com.acme.android ⟂ acme.com) | +40 |
開発者のメールアドレスが <anything>@<target-domain> である | +25 |
| 開発者のウェブサイト URL が対象ドメイン(または確認済みの関連ブランドのドメイン)である | +20 |
| アプリ名に、オペレーターが指定したブランド一覧のブランドキーワードが含まれる | +10 |
| アプリのレビュー数が最低しきい値(デフォルトでは 20 件)以上である | +5 |
しきい値を下回るアプリには mobile_review_pending のタグを付けて表示しますが、解析は行いません。オペレーターは --mobile-ownership-threshold 50 を指定して再評価できます。これにより、よりノイズの多い収集にも対応できます。
39. 攻撃パスのヒントのパターン
HIGH/CRITICAL の API エンドポイントの検出結果(スコア 70 以上)を出力する場合、オペレーターが悪用を開始する箇所を把握できるよう、エビデンスに一文の attack_path_hint を含めます。テンプレート:
| トリガー | 攻撃経路のヒント |
|---|---|
| 認証不要の POST / PUT / DELETE | "認証不要の {method} {path} — IDOR と権限昇格を試してください。数値 ID が連番か、推測可能かを確認してください。" |
| GraphQL のイントロスペクションが公開 | "{path} で GraphQL のイントロスペクションが公開されています — ミューテーションを列挙し、createUser、setRole、transferFunds のような名前を探してください。認証不備またはビジネスロジックの欠陥へとつなげてください。" |
| 認証情報付きの CORS リフレクション | "{path} で認証情報付きの CORS リフレクションが発生しています — 攻撃者が管理するオリジンに CSRF ページをホストしてください。被害者のブラウザーから {sensitive-data-hint} が漏えいします。" |
| 機密データを返すワイルドカード CORS | "認証情報なしでユーザーに紐づくデータを返す {path} で、ワイルドカード CORS が設定されています — 被害者が訪問する任意のページから、クロスオリジン fetch で情報を抜き出してください。" |
| HTTP メソッドの改ざん | "HTTP メソッドの改ざん:ドキュメントに記載された {visible-method} のみを受け付けるエンドポイントで {hidden-method} が許可されています → メソッドチェックの欠落による認可不備の可能性があります。有効な認証情報を使って {hidden-method} {path} を試してください。" |
| URL 内の API キー | "URL 内の API キー:?{param}=... — トークンがアクセスログ、ブラウザーの履歴、Referer ヘッダー、サードパーティ CDN に漏えいします。Wayback / Google でキャッシュされたコピーを確認してください。" |
| エラー内のスキーマ漏えい | "エラーレスポンスでスキーマが漏えいしています — フレームワークのシグネチャ {framework} が露出しています。既知の {framework} の脆弱性を調べ、対象を絞ったペイロードを作成してください。" |
| 機密キーワード | "パスに '{keyword}' が含まれています — 直接オブジェクト参照、マスアサインメント、または隠れた管理機能がないか確認してください。" |
| Firebase RTDB が公開 | "Firebase RTDB が https://{project}.firebaseio.com/.json で公開されています — すべて読み取り、その後 /<random-key>.json に PUT して書き込みを試し、ACL の範囲を確認してください。" |
| 一覧表示可能なクラウドバケット | "一覧表示可能な {provider} バケット {bucket} — オブジェクトを再帰的に列挙し、コンテンツタイプを分析してください。バックアップ、ログ、顧客データ、JSON 設定内の AWS キーを探してください。" |
| .git が公開 | "{host} で .git/config が公開されています — git-dumper または githacker でリポジトリを再構築してください。ソースの全履歴を取得できます。" |
| .env が公開 | "{host} で .env が公開されています — _KEY、_SECRET、_TOKEN、_PASSWORD を grep してください。§23 のバリデーターですべての認証情報を読み取り専用で検証してください。" |
| /actuator/env | "Spring Boot の /actuator/env が公開されています — 環境変数をダンプし、spring.datasource.password、JWT シークレット、クラウド認証情報を探してください。" |
| /actuator/heapdump | "Spring Boot の /actuator/heapdump が公開されています — HPROF をダウンロードし、jhat または VisualVM を実行して、ヒープ内の文字列から平文のシークレットを検索してください。" |
| Elasticsearch が公開 | "{host}:9200 で Elasticsearch が公開されています — /_cat/indices?v でインデックス一覧を確認し、価値の高い各インデックスからサンプル文書を取得してください。/test-idx/_doc への書き込みを試して ACL を確認してください。" |
| Redis が公開 | "{host}:6379 で Redis が公開されています — INFO、KEYS *、サンプルデータの読み取りを行ってください。CONFIG SET に続いて BGSAVE を実行し、authorized_keys を書き込めるか確認して、書き込み権限を調べてください。" |
| MongoDB が公開 | "{host}:27017 で MongoDB が公開されています — show dbs、show collections、サンプルの find クエリを実行してください。ユーザーコレクションにパスワードハッシュがないか確認してください。" |
| サブドメイン乗っ取り | "{host} の CNAME が未取得の {provider} リソースを指しています → {provider} で {takeover-target} を登録すると、{host} からコンテンツを配信できます。信頼されたドメインでのフィッシングやコンテンツインジェクションにつなげてください。" |
| kubelet が公開 | "{host}:10250 で kubelet が公開されています — GET /pods で一覧を取得し、K8s API 認証なしで POST /run/<ns>/<pod>/<container> を使ってコンテナ内でコマンドを実行してください。" |
| etcd が公開 | "{host}:2379 で etcd が公開されています — etcdctl get / --prefix --keys-only でクラスターの全状態を取得できます。シークレットは /registry/secrets/ に保存されています。" |
| K8s API の匿名アクセス | "{host}:6443 の Kubernetes API で anonymous-auth が有効です — kubectl --server=https://{host}:6443 --insecure-skip-tls-verify get pods --all-namespaces を実行してください。" |
| 未パッチの Citrix | "{host} の Citrix NetScaler バージョン {ver} は CVE-{cve}(KEV 掲載)の脆弱性の影響を受けます。ベンダーのアドバイザリーを確認してください。悪用はせず、クライアントに直ちにパッチを適用するよう警告してください。" |
| F5 BIG-IP TMUI が公開 | "{host} から F5 BIG-IP TMUI にアクセスできます。CVE-2022-1388 / CVE-2023-46747 の KEV が該当します。ベンダーがリリースしたホットフィックスを直ちに適用するよう推奨してください。" |
| VMware vCenter にアクセス可能 | "{host} の vCenter に VPN なしでアクセスできます。パッチ未適用の場合、CVE-2021-21972 による RCE の可能性があります。バージョンバナーを確認してください。" |
| クラウド関数の URL で認証不要 | "{url} の AWS Lambda Function URL に匿名でアクセスできます — IAM 認証の設定を確認してください。設計上認証不要の場合は、入力検証を厳しく監査してください。" |
| npm のタイポスクワッティング候補 | "パッケージ名 {candidate} は未登録で、対象が公開している {official} に類似しています — タイポスクワッティングによる乗っ取りのリスクがあります。クライアントに予防的な登録を推奨してください。" |
| DMARC が未設定または緩い設定 | "{domain} の DMARC が p=none です — {anything}@{domain} を詐称したメールが受信者に届く可能性があります。レポートを確認した後、p=quarantine または p=reject に強化することを推奨してください。" |
| 有効な AI API キー(Anthropic/OpenAI) | "モデルにアクセスできる sk-{provider}-... キーを検証しました — クォータが不正利用される可能性があります。直ちにキーをローテーションし、プロバイダーのコンソールで使用状況ログを監査してください。" |
| 公開 Slack 招待リンク | "検索エンジンから Slack ワークスペースの招待リンクを発見できます — 承認なしで誰でもワークスペースに参加でき、内部チャンネルに容易にアクセスできます。" |
| Docker レジストリが公開 | "{host} の公開 Docker レジストリ — GET /v2/_catalog でイメージを一覧表示できます。イメージをプルしてレイヤーをスキャンし、埋め込まれたシークレットを探してください。" |
| Telegram ボットトークンが有効 | "Telegram ボットトークンを検証しました — getUpdates でボットの受信者(管理者チャット)が判明します。getMe でボットがチャンネルに参加していることが確認された場合、すべてのメッセージを読み取れる可能性があります。" |
sourcesContent[] を含むソースマップ | "{host} のソースマップには元のソースコードが埋め込まれています — フロントエンドのコード全体を再構築できます。インラインのシークレットや内部ホスト名を grep してください。" |
49. スキルのセルフテスト
新しい Claude セッションに以下のプロンプトを入力し、スキルが正しく読み込まれることを確認します。
- 「Web アプリで Swagger または OpenAPI の仕様書を見つけるには、どのパスを調べればよいですか?」 → §16.1。
- 「POST する GraphQL のイントロスペクションクエリを教えてください。」 → §16.2。
- 「Shodan のスキャン結果で、フラグを立てるべき高リスクポートは何ですか?」 → §16.3。
- 「シークレットの正規表現カタログを見せてください。」 → §17(48 パターン)+ §48(実行可能な Python)。
- 「攻撃上の関心度で API エンドポイントをスコアリングする方法を教えてください。」 → §20。
- 「漏えいした Postman API キーを検証する URL は?」 → §23.1。
- 「対象の pastebin/gist/ghostbin への漏えいを探すための検索演算子を教えてください。」 → §18.3。
- 「Microsoft Entra テナントをフィンガープリントするエンドポイントは?」 → §22.1 + M365 の詳細については §22.8。
- 「発見した Android アプリが対象のものかどうかをスコアリングする方法を教えてください。」 → §21。
- 「
/api/usersで未認証の POST を見つけた場合、どのような攻撃経路のヒントがありますか?」 → §39(1 行目)。 - 「
/actuator/envをテストする curl のワンライナーを教えてください。」 → §16.13。 - 「イントロスペクションが無効な場合の GraphQL フィールド候補列挙の手法を見せてください。」 → §22.9。
- 「JS でハードコードされた JWT を見つけました。完全なトリアージ手順を教えてください。」 → §23.12(JWT ワークフロー)。
- 「
<Client Brand Ltd>と、サブドメイン api/billing/hr を使ってクラウドバケット候補を生成してください。」 → §16.8。 - 「Microsoft 365 の Teams フェデレーション状態と SharePoint サブドメインを調べる方法を教えてください。」 → §22.8。
- 「Citrix Netscaler/F5 BIG-IP/Pulse Secure の調査パスを教えてください。」 → §16.16。
- 「
target.exampleの Cloudflare の背後にあるオリジンサーバーを見つけてください。」 → §16.15 + 関連する方法論 §27。 - 「Kubernetes/etcd/kubelet の露出を調べるポートとパスは?」 → §16.18。
- 「
acme.comの SPF/DMARC を監査し、なりすましの実現可能性を評価してください。」 → §16.14。 - 「サブドメインのブルートフォースとコンテンツ探索に使えるワードリストの入手先を列挙してください。」 → §27.1。
- 「対象が所有する /22 に対して逆引き DNS のスイープを実行してください。」 → §28.5。
- 「クォータを消費せずに OpenAI API キーを検証してください。」 → §23.6 + §23.12。
- 「対象の npm/PyPI/Docker Hub 全体で漏えいしたシークレットを探してください。」 → §44。
- 「フィッシング用リストを作成するため、LinkedIn で対象の従業員を列挙する方法を教えてください。」 → §41。
- 「Slack 招待リンクを列挙する手法は?」 → §43.1。
- 「CVE-2024-3400 の EPSS スコアと KEV ステータスは?」 → §29.2。
- 「最新の AI API キー(Anthropic/OpenAI/HuggingFace/Cloudflare)で、カタログのパターンに一致するものは?」 → §17 の 30~48 行。
- 「本番アプリで
android:debuggable=trueの場合の重大度マトリクスを教えてください。」 → §40。 - 「標準的な偵察ツールキット(subfinder/httpx/nuclei など)のインストールコマンドは?」 → §46。
- 「医療分野のエンゲージメントでは、追加でどのポート/プロトコルが重要ですか?」 → §47.1。
- 「直接 API(UI なし)で
target.comの HudsonRock の侵害コーパスを取得してください。」 → §15.0.1。 - 「Windows マシン(PowerShell)から §16.14 のメールセキュリティ監査全体を実行してください。」 → §16.14 の PowerShell 並列処理。
- 「crt.sh が 502 エラーになりました。フォールバックの順序は?」 → §27.0.1。
- 「bgpview のレート制限を消費せずに、200 個の IP を ASN に一括で照会してください。」 → §28.1(Cymru 一括照会)。
- 「
target.exampleについて、vpn/api/staging/portal/intranet を対象に共通プレフィックスのサブドメインスイープを実行してください。」 → §16.24。 - 「旧式のメール(
mail.<domain>)は現在 NXDOMAIN ですが、侵害コーパスにはそれに関連付けられた従業員の URL があります。これは何を示していますか?」 → §15.2 旧式メールの廃止パターン。 - 「MX が Mimecast によって中継されているため(MX からは実際のメールプラットフォームが判明しない)、M365 テナントであることを確認してください。」 → §22.1 autodiscover の IP 相関 + §16.22 確認手段としての autodiscover。
- 「DMARC の RUA が
kdmarc.comを指しています。これは何を示していますか?」 → §16.14 DMARC レポートベンダーの表。 - 「SharePoint の HEAD プローブが HTTP 200 を返しました。これは匿名アクセスが許可されているという意味ですか?」 → §22.8(いいえ。テナントの存在を示すだけで、匿名アクセスが許可されていることは意味しません。両者を区別してください)。
- 「Wayback の
*.jsクエリで、会社紹介サイトの結果が空でした。次はどう調べますか?」 → §16.23 旧式アプリへの切り替え(.asp/.php/.jsp/.cfm/.aspx)。
50. 変更履歴
- v2.1.1 (2026-04-27) — 実際の案件でのスモーク実行で見つかった、実戦検証上のギャップを修正しました。追加内容:§15.0.1 HudsonRock Cavalier の直接 API レシピ(curl と PowerShell、完全な JSON 形式、無料プランでの編集上の注意点、レート制限に関するガイダンス)。§15.2 に、旧メールサービス廃止時のエスカレーションパターンを追加(旧メールの NXDOMAIN +侵害コーパスでの検出+Autodiscover で確認されたクラウド移行 → CRITICAL SSO_EXPOSURE)。§16.14 を拡充し、DMARC レポートサービスのベンダー表(Kratikal kdmarc/dmarcian/Valimail/Agari/EasyDMARC/DMARC Analyzer/Postmark)、メールセキュリティ監査全体の Windows/PowerShell 並列手順、および PowerShell 5.1 の
Resolve-DnsName -Type CAAはエラーになるという注意点(PS 7 以降、またはnslookup -type=CAAを使用)を追加しました。§16.22 の TXT 検証トークンカタログに新たなトークンを 17 個追加(zscaler-verification、cloudflare-verify、autosect、cisco-site-verification、mscid、_amazonses、salesforce-domain-verification、workday/shopify/klaviyo/mailchimp/hubspot/zendesk/freshworks/intercom/loom/miro/gitlab)。さらに、MX が Mimecast/Proofpoint/Barracuda によってラップされている場合に M365 を検出する、新しい「確認手段としての Autodiscover」パターンを追加しました。§22.1 に、Microsoft Exchange Online の IP 範囲を用いたパッシブな Autodiscover IP 相関パターンを追加しました。§22.8 に補足を追加しました。SharePoint の HEAD HTTP 200 はテナントの存在を示すものであり、匿名アクセスが許可されていることを示すものではありません(担当者がよく誤読します)。新しい §16.23「レガシーアプリへのピボット」ブロックを追加(パンフレット型サイトで Wayback の*.jsが空を返す場合、.asp/.php/.jsp/.cfm/.aspx/.json/.xml/.yml/.ini/.conf に切り替える方法を、幅広く一括検索するワンライナーとともに説明)。新しい §16.24「共通プレフィックスによるサブドメインスイープ」を追加。順序付けされた 100 以上のプレフィックスリスト、PowerShell/bash/puredns の手順、実案件での検証結果に関する注記を含め、プレフィックスを使ったアクティブなプローブ手法を体系化しました(パッシブな列挙では価値の高いサブドメインの 20~40%を見落とすため、必ずアクティブなプレフィックスプローブも併用してください)。§27.0.1 に crt.sh のフォールバックチェーン(Censys、CertSpotter、Calidog、Subfinder、OTX、ThreatMiner、URLScan、Anubis-DB)を追加し、crt.sh を 3 回再試行した後に Subfinder にフォールバックする PowerShell ラッパーも追加しました。§28.1 に一括 IP→ASN 取得レシピ(Cymru の一括 WHOIS、RIPEstat、bgp.tools、IPinfo Lite)を追加し、bgpview.io API は一括処理には適さないほどレート制限が厳しいという注意点も追加しました。§40 の深刻度マトリックスに 8 行を追加:ベンダーの調達ポータルが公開され、侵害コーパスでも検出(HIGH)、PII 収集ポータルが HTTP のみ(HIGH)、廃止された旧メール+侵害+クラウド移行(CRITICAL)、VPN なしで外部公開されているイントラネット(MEDIUM)、ステージング/プリプロダクション環境が公開名前解決可能(MEDIUM)、vpn. が名前解決できるがベンダー不明(INFO。KEV 該当時は HIGH~CRITICAL に引き上げ)、DMARC RUA がサードパーティベンダーを指している(INFO)。§49 のセルフテストを、プロンプト数を 30 から 40 に増やし、新規追加内容すべてを対象とするよう拡充しました。 - v2.1 (2026-04-27) — 32 件のスモークテストのギャップ分析に基づく包括的な拡充。追加内容:すべてのチェックにコピペ可能な curl プローブ(§16.13)、SPF/DMARC/DKIM/BIMI/MTA-STS/DNSSEC の解析と SaaS テナントの推定を含むメールセキュリティ分析(§16.14)、DNS 履歴+証明書 SAN+ファビコンハッシュ+JARM+Host ヘッダーのプローブによるオリジンの特定/CDN バイパス(§16.15)、Citrix/F5/Pulse/Fortinet/PaloAlto/Cisco/VMware/Exchange のベンダー製品フィンガープリントと KEV CVE との関連付け(§16.16)、クラウドネイティブサービス URL のフィンガープリント(Lambda Function URLs、Cloud Run、Cloud Functions、Azure Functions、Vercel、Netlify、Cloudflare Workers など)(§16.17)、コンテナと Kubernetes の露出(kubelet、etcd、K8s API、ダッシュボード、Helm Tiller、コンテナレジストリ)(§16.18)、CI/CD プラットフォームの露出(Jenkins の詳細、GitLab、GitHub Actions、CircleCI、TeamCity、Argo CD、Spinnaker)(§16.19)、ドキュメント/Wiki の漏えいパス(Notion、Confluence、Trello、Miro、Lucidchart、Figma、ReadTheDocs、GitBook、Slab、Coda など)(§16.20)、WHOIS/RDAP/過去の WHOIS のレシピと逆引き WHOIS によるピボット(§16.21)、TXT 検証トークン表と SaaS テナント推定を含む DNS レコードカタログ(§16.22)、すべてのフィルターパラメーターを網羅した Wayback CDX の詳細な使い方(§16.23)。§17 のシークレットカタログを 29 パターンから 48 パターンに拡充し、最新の AI API キー(Anthropic、OpenAI の旧形式+プロジェクト形式、HuggingFace)、インフラ(Cloudflare、DigitalOcean)、パッケージレジストリ(npm、PyPI、Docker Hub)、SaaS(Atlassian、Linear)、オブザーバビリティ(New Relic、DataDog、Sentry DSN)、ボットトークン(Discord、Telegram)、ngrok を追加しました。§18 のドークコーパスを 50 件以上から 80 件以上に拡充し、内部ツールの露出(Splunk/Grafana/Kibana/Argo CD/Sonarqube/Confluence/Jira/GitLab/Gitea)、バックアップファイルの拡張子、分野別ドーク(医療/金融/政府)を追加しました。Microsoft 365 の詳細な列挙(Teams のフェデレーション、SharePoint のサブドメインプローブ、OneDrive の個人用サイトのプローブ、OAuth client_id の特定、デバイスコードフィッシングの標的チェック、Power Platform)を含む §22.8 を追加しました。GraphQL のフィールドサジェスチョン列挙レシピとエイリアスによるバッチ処理、クエリ深度制限の回避、サブスクリプションの列挙、バッチクエリによる回避を含む §22.9 を追加しました。Anthropic、OpenAI、npm、Atlassian、DataDog 用の読み取り専用バリデーターを 5 つ追加(§23.5~23.9)。AWS IAM の列挙、GitHub PAT のスコープ/リポジトリ列挙、Slack ワークスペースの列挙、アルゴリズム混同+ブルートフォース+none バイパスを含む JWT の完全なトリアージ、Postman PMAK ワークスペースの列挙、Anthropic+OpenAI の使用状況の列挙、汎用キーの出所列挙など、発見後の列挙ワークフローを §23.12 に追加しました。§24 の Postman 検索エンドポイントを、検証済みの形式と DevTools によるフォールバック手順とともに固定しました。Assetnote、SecLists、jhaddix、OneListForAll、raft-large-words、fuzzdb などのワードリストの入手元とサイズの目安を §27.1 に追加しました。sslyze+testssl.sh+nmap+JA3/JA4+暗号スイート/プロトコル/証明書のチェックを含む TLS の詳細監査を §28.4 に追加しました。逆引き DNS スイープ+IPv6 列挙+BGP 経路の観測を §28.5 に追加しました。NVD/EPSS/CISA KEV/ExploitDB/Metasploit/InTheWild/OpenCVE/Trickest CVE+POC マッピング/OSV.dev/VulnCheck KEV と一括優先順位付けワークフローを含む、脆弱性の優先順位付けに関するデータソースを §29.2 に追加しました。攻撃経路のヒントを 15 個のテンプレートで拡充(公開 kubelet/etcd、匿名アクセス可能な K8s API、認証不要の Citrix/F5/vCenter/Cloud Function、npm のタイポスクワッティング、DMARC の欠落、使用可能な AI キー、Slack 招待、sourcesContent を含むソースマップ)(§39)。Kubernetes/コンテナ、KEV CVE を持つベンダー製品、M365/クラウドネイティブ、CI/CD の設定ミス、ドキュメント漏えい、メールセキュリティの不備、AI/パッケージレジストリの認証情報、TLS の問題に関する実例を 30 件追加し、§40 の深刻度マトリックスを拡充しました。LinkedIn での従業員列挙の手法(検索テクニック+役職の推定+メールパターンの導出+なりすましアカウントに関する考慮事項)を §41 に追加しました。求人情報からの技術スタック分析(情報源+抽出+ツール)を §42 に追加しました。Slack/Discord/Telegram/Mattermost のワークスペース発見を §43 に追加しました。npm/PyPI/RubyGems/Cargo/Packagist/NuGet/Maven Central の漏えい調査、ワークフロー、タイポスクワッティングの監視を含むパッケージレジストリの漏えい調査を §44 に追加しました。物理的偵察のための衛星画像(情報源+抽出+LinkedIn/Glassdoor/Instagram/カンファレンス情報+車両/フリート情報)を §45 に追加しました。サブドメイン、HTTP プローブ、脆弱性スキャン、コンテンツ発見、JS 抽出、Wayback、クラウド、アイデンティティ、モバイル、TLS、ユーティリティ、フレームワークのクイックインストールを §46 に追加しました。分野別の偵察メモ(医療の DICOM/HL7/FHIR/EHR+金融の SWIFT/FIX/Bloomberg/銀行ミドルウェア+ICS-SCADA の Modbus/BACnet/S7/DNP3+IoT の MQTT/CoAP/UPnP+政府の FedRAMP/FISMA+海事/航空/自動車)を §47 に追加しました。Runnable Helper を §48、セルフテストを §49(v2.1 向けに更新)、変更履歴を §50 に変更しました。
- v2.0 (2026-04-27) — 外部レッドチーム向けの体制に合わせて大幅に書き換えました。追加内容:事前構築済みワードリスト(§16)、29 パターンのシークレットカタログ(§17)、50 件以上のドークコーパス(§18)、GitHub コード検索ドーク(§19)、エンドポイントの関心度スコア(§20)、モバイルの所有者確信度(§21)、具体的なアイデンティティファブリックのエンドポイント(§22)、読み取り専用のシークレットバリデーター(§23)、Postman ワークスペース検索(§24)、Stack Exchange スイープ(§25)、公開 SaaS ドーク(§26)、サブドメイン情報源スタック(§27)、ドメインレベルの侵害深刻度(§15.1)、L2 エクスプローラー表(§30.2)、USCC+ICP のワークフロー(§14.2)、モジュール横断のサイドカー調整(§36)、攻撃経路のヒントパターン(§39)、深刻度判定マトリックス(§40)、実行可能なシークレットスキャン用ヘルパー(§41)。信頼度レベル(§2)、出力形式(§3)、禁止事項(§5)を強化しました。元のコマンドライン表は維持し、軽く再構成しました。
検証
- crt.sh プローブ — Certificate Transparency の照会を確認します:
curl --max-time 30 --connect-timeout 10 -s "https://crt.sh/?q=example.com&output=json" | python3 -c "import sys,json; d=json.load(sys.stdin); print(f'{len(d)} certs found')" 2>/dev/null || echo "NOTE: crt.sh may be rate-limited" - Wayback Machine — archive.org へのアクセスを確認します:
curl --max-time 30 --connect-timeout 10 -s "https://web.archive.org/cdx/search/cdx?url=example.com&output=text&limit=3" | head -3
すべてのテストで、OSINT の準備状況を検証します。
注意点
- スコープを検証せずに OSINT を収集すること — LinkedIn/Shodan/crunchbase をスクレイピングして従業員名や技術スタックを集めるのは偵察であり、発見事項ではありません。発見事項となるのは、そのデータを使って何をするかです。
- 漏えいデータの所持 — 実際の漏えいデータセット(メールアドレスとパスワードの組み合わせ)を所持することは、法的リスクを伴います。レポートではハッシュまたは編集済みサンプルを使用してください。
- Certificate Transparency ログのマイニング — crt.sh によるサブドメインの発見は、現在では高度に自動化されています。価値があるのは、サブドメインの存在そのものではなく、そこから何が露出しているかです。
- Google のドーク検索でキャッシュ済み/古い結果が返されること — ドーク検索の結果には、すでに存在しないページが表示される場合があります。報告する前に、各発見事項が現在も確認できることを検証してください。
- 許可を得ずにソーシャルメディアをスクレイピングすること — 一部のプログラムでは、ソーシャルエンジニアリングやソーシャルメディアのプロファイリングが明示的に対象外とされています。まずスコープを確認してください。
関連するスキルと連携
web2-recon— ライブホストのセットに対して、アーセナルを実行する必要がある場合に使用します。ワークフローの基本要素:このスキルはプローブのパスとワードリストを提供し、web2-reconはそれらを使用する subfinder → dnsx → httpx → katana の実際のパイプラインを実行します。osint-methodology— このスキルの具体的なプローブに計画フレームワークが必要な場合に使用します。ワークフローの基本要素:osint-methodologyは計画の骨組み(5 段階のパイプライン、アセットグラフ、発見事項の評価基準)であり、このスキルは各段階を curl のワンライナーと正規表現で埋める運用上のアーセナルです。hunt-subdomain— このスキルのサブドメイン列挙で古い CNAME が見つかった場合に使用します。ワークフローの基本要素:§27/references/recon-stack.mdで発見されたサブドメインは、乗っ取りの検証のためにhunt-subdomainへ自動的に振り分けられます。hunt-cloud-misconfig— このスキルのクラウドバケット列挙で、一覧表示可能なバケット/Firebase/actuator エンドポイントが見つかった場合に使用します。ワークフローの基本要素:§39 の攻撃パスのヒント(一覧表示可能なバケット、/actuator/env、公開された Elasticsearch)は、悪用のためにhunt-cloud-misconfigに引き継がれます。m365-entra-attack/okta-attack— ID ファブリックのフィンガープリントで Entra/Okta が見つかった場合に使用します。ワークフローの基本要素:references/identity-fabric.mdが IdP をフィンガープリントし、一致したプラットフォーム用スキル(hunt-dispatchが読み込みます)が引き継いでアクティブな列挙を実行します。