mcpField
R
Reconnaissance & OSINT Automation

Reconnaissance & OSINT Automation

github.com/masriyanセキュリティ530145 回インストール1 週間前に更新
リポジトリ

Reconnaissance & OSINT Automation について

許可を得たセキュリティ評価向けのClaudeスキルです。OSINTと受動・能動的な偵察、スクリプトによる資産発見と報告を扱い、ドメイン、DNS、サービス、技術指紋を調査します。

主な機能

  1. 01受動的なOSINTとWHOIS分析
  2. 02サブドメインの列挙と検証
  3. 03DNSレコードとメールセキュリティの確認
  4. 04ポートとサービスの偵察
  5. 05技術スタックのフィンガープリント
  6. 06資産を関連付けたレポート作成

活用シーン

  1. 01ドメインの公開資産を把握
  2. 02DNSとメールの安全性を確認
  3. 03稼働中のサブドメインとサービスを特定
  4. 04範囲を明示した偵察レポートを作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/masriyan/claude-code-cybersecurity-skill --skill reconnaissance-&-osint-automation

インストール後、Claude Code で/reconnaissance-&-osint-automationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

examples/
example_usage.md
resources/
common_subdomains.txt
scripts/
dns_recon.py
tech_fingerprint.py
subdomain_enum.py

詳細

偵察と OSINT の自動化

目的

許可を得たセキュリティ評価において、Claude が包括的な偵察とオープンソースインテリジェンスの収集を実施できるようにします。Claude は標準の分析機能を用いて受動的および能動的な偵察を行い、付属スクリプトを連携させて大規模な自動化を実現します。

許可が必要です:作業を進める前に、対象範囲に対する書面での許可を必ず確認してください。許可のない偵察は、ほとんどの法域で違法です。


有効化の条件

次のような内容をユーザーが尋ねた場合、このスキルが有効になります。

  • サブドメインの列挙や発見
  • DNS 偵察、ゾーン転送、DNS レコードの分析
  • ドメイン、組織、個人に関する OSINT の収集
  • 技術のフィンガープリンティングや技術スタックの特定
  • ポートスキャン、サービスの検出、バナーグラビング
  • Google 検索演算子を使った検索や高度な検索クエリの生成
  • WHOIS、証明書の透明性、Shodan のクエリ
  • 攻撃対象領域のマッピングや境界の調査

前提条件

pip install requests dnspython python-whois beautifulsoup4 shodan

追加機能(任意):

  • nmap — 能動的なポートスキャン
  • amass — 高度なサブドメイン列挙
  • theHarvester — メールアドレスとドメインの収集
  • Shodan API キー — インターネット全体のデバイス検索
  • Censys API キー — 証明書とホストの検索

主な機能

1. 受動的偵察(対象への直接接触なし)

ユーザーが受動的偵察や OSINT を求めた場合:

  1. WHOIS 分析 — ドメイン登録情報を照会し、登録者、レジストラ、ネームサーバー、日付を確認します。プライバシー保護された登録やレジストラの傾向を特定します。
  2. 証明書の透明性ログ — crt.sh を検索し、ドメインとサブドメインに発行されたすべての証明書を調べます。SAN(サブジェクト代替名)を抽出し、非公開のサブドメインを発見します。
  3. DNS レコード(受動的) — パブリックリゾルバーを使用して、A、AAAA、MX、NS、TXT、SOA、SRV、CNAME レコードを列挙します。SPF、DKIM、DMARC を分析し、メールセキュリティの状況を確認します。
  4. 検索エンジン演算子を使った検索 — 公開されているファイル、ログインポータル、設定情報の漏えいを見つけるため、対象を絞った検索クエリを生成します。
    • site:target.com filetype:pdf — 公開されたドキュメント
    • site:target.com inurl:admin — 管理パネル
    • site:target.com ext:env OR ext:config — 設定ファイル
    • "@target.com" site:linkedin.com — 従業員の列挙
    • "target.com" site:pastebin.com — 認証情報の漏えい
  5. Shodan/Censys のクエリ — 対象の IP 範囲に関連する、インターネットに公開されたサービス、開放ポート、バナー、脆弱性を検索します。
  6. Git/コードリポジトリの検索 — GitHub/GitLab を検索し、漏えいした認証情報、API キー、内部情報を探します。
    • org:targetorg api_key
    • filename:.env target.com
    • "target.com" password
2. サブドメインの列挙

ユーザーがサブドメインの列挙を求めた場合:

  1. 証明書の透明性 — crt.sh/Censys の証明書からすべての SAN を抽出します(最も効果的な受動的方法)。
  2. DNS ブルートフォース — resources/ 内の一般的なワードリストを使い、subdomain_enum.py を実行します。
  3. ワイルドカードの検出 — ランダムなサブドメインを照会してワイルドカード DNS 応答を検出し、誤検知を除外します。
  4. 名前解決の検証 — 候補をすべて IP アドレスに名前解決し、NXDOMAIN を破棄します。
  5. HTTP プロービング — ポート 80/443 で応答するサブドメインを確認し、Web アプリケーションを特定します。
  6. インフラのグループ化 — 発見したサブドメインを IP/ASN 別に分類し、クラウド資産とオンプレミス資産をマッピングします。

サブドメイン調査結果の出力形式:

Target: example.com
Discovery Method: CT Logs + DNS Brute-Force
Discovered: 47 subdomains

LIVE SUBDOMAINS:
  admin.example.com       → 203.0.113.10  [HTTP 200] [nginx/1.18]
  dev.example.com         → 203.0.113.11  [HTTP 302 → /login]
  api.example.com         → 203.0.113.12  [HTTP 200] [cloudflare]
  internal.example.com    → 10.0.0.5      [No public response — internal?]

INFRASTRUCTURE CLUSTERS:
  203.0.113.10-15 → AS12345 (Company Hosting)
  Cloudflare CDN → 7 subdomains proxied
3. アクティブポートスキャンとサービス検出

ユーザーがポートのスキャンやサービスの検出を依頼した場合:

  1. スキャン範囲(ホスト、サブネット、CIDR 範囲)を定義し、許可を確認します
  2. スキャン手法を選択します:SYN スキャン(root 権限が必要)、コネクトスキャン(root 権限不要)、またはステルスオプション
  3. まず上位 1000 ポートをスキャンし、次に対象を絞ったサービスポートをスキャンします
  4. すべてのオープンポートに対してサービスバージョン検出(-sV)を実行します
  5. 許可されている場合は OS フィンガープリンティング(-O)を実行します
  6. 検出されたサービスからバナーを取得します
  7. バージョン情報に基づいて、既知の脆弱性があるサービスにフラグを立てます

すぐに実行できる Nmap コマンドを提示します:

# Quick discovery
nmap -sn 203.0.113.0/24

# Top 1000 TCP ports with service detection
nmap -sV -sC --top-ports 1000 -oA scan_results 203.0.113.10

# Full port scan with script engine
nmap -sV -sC -p- -T4 -oA full_scan 203.0.113.10
4. DNS 偵察

ユーザーが DNS 分析を依頼した場合:

  1. すべてのレコードタイプを列挙します:A、AAAA、MX、NS、TXT、SOA、SRV、CNAME、PTR
  2. ゾーン転送の試行(AXFR)— 検出されたすべてのネームサーバーに対して試します:
    dig AXFR @ns1.example.com example.com
    
  3. メールセキュリティ分析:
    • SPF:~all(ソフトフェイル)または ?all(ニュートラル)がないか確認します。どちらも設定が弱い状態です
    • DMARC:DMARC がない場合、適用されるポリシーはありません。p=none は監視のみです
    • DKIM:セレクターの存在と鍵の強度を確認します
  4. 逆引き DNS — 検出されたすべての IP に対して PTR ルックアップを行い、追加のホスト名を見つけます
  5. DNS 履歴 — SecurityTrails または PassiveDNS で、古いインフラを明らかにする可能性のある過去の DNS レコードを確認します

次の設定ミスにフラグを立てます:

  • ゾーン転送が許可されている → DNS ゾーン全体が漏えいします
  • DMARC レコードがない → メールのなりすましが可能です
  • SPF が +all → どのサーバーからでも、このドメインを名乗って送信できます
  • DNSSEC が設定されていない → DNS キャッシュポイズニングのリスクがあります
5. テクノロジーのフィンガープリンティング

ユーザーがテクノロジーのフィンガープリンティングを依頼した場合:

  1. HTTP レスポンスヘッダーを分析します:
    • Server: → Web サーバーとバージョン
    • X-Powered-By: → アプリケーションフレームワーク
    • Set-Cookie: の名前 → セッションフレームワーク(PHPSESSID=PHP、JSESSIONID=Java)
    • X-Generator: / X-WordPress-Cache: → CMS
  2. HTML ソースを調べ、メタタグ、スクリプトの読み込み、CSS フレームワークを確認します
  3. /robots.txt、/sitemap.xml、/.well-known/ を確認し、フレームワークの情報漏えいがないか調べます
  4. 一般的な CMS パス(/wp-admin/、/administrator/、/wp-json/)をテストします
  5. JavaScript ファイルを分析してバージョン文字列を調べます
  6. ヘッダー分析とレスポンスの挙動から WAF の有無を検出します
  7. IP 範囲とヘッダーを使って CDN(Cloudflare、Akamai、Fastly、CloudFront)を特定します

テクノロジースタックのレポート形式:

URL: https://example.com

WEB SERVER:    nginx/1.18.0 (Ubuntu)
APPLICATION:   WordPress 6.4.2
LANGUAGE:      PHP 8.1
DATABASE:      MySQL (inferred from wp-config patterns)
CDN/WAF:       Cloudflare
JS LIBRARIES:  jQuery 3.6.0, Bootstrap 5.3
TLS:           TLS 1.3, ECDHE-RSA-AES256-GCM-SHA384

NOTABLE HEADERS:
  ✗ Missing: X-Content-Type-Options
  ✗ Missing: X-Frame-Options
  ✗ Missing: Content-Security-Policy
  ✓ Present: Strict-Transport-Security
6. OSINT の相関分析とレポート作成

ユーザーが OSINT の調査結果の相関分析を依頼した場合:

  1. WHOIS、ASN ルックアップ、クラウドプロバイダーの IP リストを使って IP 範囲を相互参照します
  2. 従業員データ(LinkedIn/メールアドレスのパターン)を組織構造に対応付けます
  3. ペーストサイトで見つかった漏えい認証情報を、検出されたメールアドレス形式と照合します
  4. 使用中のサードパーティサービスや SaaS プラットフォームを特定します(DNS レコード、JS インポート経由)
  5. 資産間の関係を示すインフラマップを作成します

出力基準

偵察を行う際は、毎回、構造化されたレポートを作成します:

# Reconnaissance Report — [Target]
Date: [Date] | Scope: [Authorized Scope] | Analyst: [Name]

## Executive Summary
[2-3 sentence overview of key findings]

## Discovered Assets
- Subdomains: N found, N live
- IP Ranges: [CIDRs]
- Open Services: [Top findings]
- Technologies: [Stack summary]

## Key Findings
1. [High-impact finding with evidence]
2. [Medium-impact finding]
...

## Attack Surface Summary
[Map of entry points for follow-on testing]

## Recommended Next Steps
- Feed live web apps → Skill 09 (Web Security)
- Feed discovered services → Skill 02 (Vulnerability Scanner)
- Feed cloud assets → Skill 10 (Cloud Security)

スクリプトリファレンス

subdomain_enum.py
# Passive CT log enumeration
python scripts/subdomain_enum.py --domain target.com --passive-only --output results.json

# Active brute-force with custom wordlist
python scripts/subdomain_enum.py --domain target.com --wordlist resources/common_subdomains.txt --threads 20 --output results.json
dns_recon.py
# Full DNS reconnaissance
python scripts/dns_recon.py --domain target.com --output dns_report.json

# Check zone transfer vulnerability
python scripts/dns_recon.py --domain target.com --check-zone-transfer
tech_fingerprint.py
# Single URL analysis
python scripts/tech_fingerprint.py --url https://target.com --output tech_report.json

# Batch URL fingerprinting
python scripts/tech_fingerprint.py --urls urls.txt --output tech_report.json

スキル連携

次のステップ条件対象スキル
脆弱性評価稼働中のサービスを検出→ Skill 02
Web アプリケーションのテストWeb アプリを発見→ Skill 09
クラウド資産の監査クラウドでホストされている資産を発見→ Skill 10
ネットワークトラフィック分析PCAP キャプチャを利用可能→ Skill 08
IOC の相関分析不審なインフラを発見→ Skill 06

参考資料


v3.0 の強化点(2026 年アップデート)

より精度が高く、最新の偵察手法:

  • サブドメイン乗っ取りの検出 — 検出したサブドメインのうち、未登録の S3/Azure/GitHub Pages/Heroku/Fastly のターゲットを指す CNAME があるものすべてに対し、乗っ取り候補としてフラグを付け、孤立したサービスのフィンガープリントを特定します。
  • クラウドアセットの発見 — 組織名のバリエーションから、公開されている S3/GCS/Azure Blob のバケットとストレージを列挙し、リスト表示可能/全員に読み取り可能なバケットを確認します(cloud_enum 方式のロジックを使用)。ASN → CIDR → クラウドプロバイダーの帰属関係をマッピングします。
  • JA4+/ファビコンのハッシュ化 — ファビコンの mmh3 ハッシュおよび JARM/JA4S サーバーフィンガープリントを使って Shodan/Censys で検索し、CDN の背後にある関連インフラを見つけます。
  • GraphQL と API の偵察 — /graphql にイントロスペクションを問い合わせます。スキーマ、型、ミューテーションを収集し、スキル 09 に提供します。
  • 情報漏えいと認証情報のインテリジェンス — 検出したメールアドレスの形式を HaveIBeenPwned および公開されているコンボリスト(パッシブのみ)と照合し、優先すべきアカウントを特定します。
  • ソースコードと CI の漏えい — GitHub Actions のログ、npm/PyPI パッケージのメタデータ、内部パスが漏えいする *.map ソースマップも検索対象に加えます。

精度に関するルール: 出力では、確認済み アセット(名前解決済み+応答あり)と 候補 アセット(CT ログのみ)を必ず分け、再現可能な調査結果となるよう、アセットごとに発見元のタグを付けます。

追加の参考資料

コメント