mcpField
S
subdomain-deep

subdomain-deep

github.com/wgpsec安全1.8k48 次安装4 天前更新
代码仓库

关于 subdomain-deep

面向资产发现的深度子域名枚举方法论,结合 DNS 枚举、OSINT 搜索和爬虫发现,再对结果去重、分类并处理泛解析。

主要功能

  1. 01联合三种来源发现子域名
  2. 02分析 DNS、CNAME 与通配符记录
  3. 03合并结果并按资产用途分类
  4. 04提供泛解析结果过滤思路

适用场景

  1. 01扩大目标域名的子域名发现范围
  2. 02补充非标准端口或残留在线服务
  3. 03分类子域名以安排后续探测

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wgpsec/aboutsecurity --skill subdomain-deep

安装后在 Claude Code 中输入/subdomain-deep确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
recall.json
references/
enumeration-tools.md

详细介绍

来自项目 README

深度子域名挖掘方法论

⛔ 深入参考:subfinder/ksubdomain/amass 的完整参数、通配符过滤脚本、多工具联合流程见 references/enumeration-tools.md

单一来源的子域名枚举通常只能覆盖 30-50% 的实际资产。本方法论联合三种独立来源交叉验证,最大化覆盖率。

Phase 1: DNS 枚举

用 subfinder / ksubdomain 进行 DNS 子域名枚举(字典爆破 + 递归发现)。

结果分析:

  • 统计解析到不同 IP 段的子域(识别多机房/多云部署)
  • 识别 CNAME 记录 → CDN/云服务(CloudFront, Cloudflare, Fastly)
  • 识别通配符:如果 random12345.example.com 也解析,说明有通配符记录
    • 通配符存在时,需要过滤掉通配符 IP 对应的结果

Phase 2: OSINT 引擎搜索

通过 http_request 或 curl 查询 FOFA API 获取域名关联资产。OSINT 引擎能发现 DNS 枚举遗漏的资产(因为它基于实际网络扫描数据,而非 DNS 记录)。

OSINT 能补充的发现:

  • 使用非标准端口的 Web 服务(如 dev.example.com:8443)
  • DNS 记录已删除但服务仍在线的"幽灵"子域
  • IP 反查发现的同一服务器上的其他域名

Phase 3: 爬虫发现

用 katana 爬取主站和已知子域,从页面内容中提取更多子域引用。

爬虫能发现的来源:

  • HTML 中的链接(href/src/action)
  • JavaScript 中硬编码的 API 地址
  • CSS 中引用的资源域名
  • 跨域请求头(CORS: Access-Control-Allow-Origin)

Phase 4: 结果合并与分类

将三个来源的子域名去重合并后,按用途分类:

类型特征攻击价值
Web 应用80/443, HTTP 响应高 — 主要攻击面
API 服务api./gateway.高 — 常有认证缺陷
管理后台admin./manage./cms.*极高 — 直接管理权限
邮件系统mail./smtp./mx.*中 — 钓鱼和信息收集
开发/测试dev./test./staging.*极高 — 安全措施最弱
内部系统vpn./oa./git./jenkins.极高 — 不应公网可达
CDN/静态cdn./static./img.*低 — 通常无动态内容

优先深入探测:管理后台 > 开发测试 > 内部系统 > API > Web 应用

泛解析处理

  • 通配符 DNS 检测:字典枚举后需内容比对,HTTP 响应对比区分真假子域名

CNAME/CDN 识别

  • S3 bucket:s3.amazonaws.com CNAME 指向
  • 404/bucket 未声明时可能可以注册同名 bucket 接管

评论

支持 Markdown