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. 02检查 DNS 与邮件安全状况
  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 key — 全网设备搜索
  • Censys API key — 证书和主机搜索

核心功能

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. 如已获授权,则进行操作系统指纹识别(-O)
  6. 获取发现的服务的 banner 信息
  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 源代码中的 meta 标签、脚本引用和 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 年更新)

更精准、更与时俱进的侦察技术:

  • 子域名接管检测 — 对每个发现的、存在悬空 CNAME 的子域名(指向尚未被认领的 S3/Azure/GitHub Pages/Heroku/Fastly 目标),将其标记为潜在接管目标,并识别孤立服务的指纹。
  • 云资产发现 — 通过排列组织名称,枚举公开的 S3/GCS/Azure Blob 存储桶和存储空间;检查存储桶是否可列出或可被公开读取(使用类似 cloud_enum 的逻辑)。建立 ASN → CIDR → 云服务提供商归属映射。
  • JA4+ / favicon 哈希 — 在 Shodan/Censys 中,利用 favicon mmh3 哈希和 JARM/JA4S 服务器指纹进行关联查询,以查找 CDN 后方的同类基础设施。
  • GraphQL 和 API 侦察 — 探测 /graphql 是否支持内省;收集架构、类型和变更操作,供 Skill 09 使用。
  • 泄露与凭据情报 — 将发现的电子邮件格式与 HaveIBeenPwned 和公开的组合列表(仅被动)进行关联,以便对账户进行优先级排序。
  • 源代码与 CI 泄露 — 将搜索引擎语法搜索扩展到 GitHub Actions 日志、npm/PyPI 包元数据,以及会泄露内部路径的 *.map 源码映射文件。

精准度规则: 输出时始终将已确认资产(已解析且有响应)与候选资产(仅存在于 CT 日志中)分开,并为每项资产标注发现来源,以确保结果可复现。

新增参考资料

评论

支持 Markdown