subdomain-deep

$npx mdskill add wgpsec/AboutSecurity/subdomain-deep

Maximize subdomain coverage by fusing DNS, OSINT, and crawling.

  • Reveals hidden assets like deleted domains and non-standard ports.
  • Integrates subfinder, FOFA API, katana, and DNS analysis.
  • Filters wildcard IPs and classifies findings by attack value.
  • Outputs categorized lists of web, API, and internal subdomains.
SKILL.md
.github/skills/subdomain-deepView on GitHub ↗
---
name: subdomain-deep
description: "深度子域名挖掘,多源联合枚举。当需要最大化子域名发现覆盖率、常规 DNS 枚举结果不足、或目标使用了 CDN/通配符 DNS 时使用。联合 DNS 爆破、OSINT 引擎、爬虫三种方式交叉发现"
metadata:
  tags: "recon,subdomain,dns,osint,crawl,子域名,枚举,爆破,DNS,资产发现,amass,subfinder"
  category: "recon"
---

# 深度子域名挖掘方法论

> **⛔ 深入参考**: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 接管
More from wgpsec/AboutSecurity