SuperAPI AI 工具集

performing-subdomain-enumeration-with-subfinder

安全与审计

查看项目

更新于 10-15 13:52

技能介绍

用途

本技能用于在渗透测试、漏洞赏金或红队行动的侦察阶段,使用 ProjectDiscovery 的 Subfinder 被动子域枚举工具,发现目标域名的子域,从而绘制目标组织的外部攻击面。它适用于在漏洞扫描前梳理资产、构建持续安全监控的资产清单,以及并购尽职调查等需要被动信息收集的场景。

主要能力

Subfinder 通过查询多个被动数据源(如证书透明度日志、被动 DNS 数据库和外部 API)来发现子域,而不直接查询目标 DNS 服务器。技能中涉及的关键概念包括:被动枚举、证书透明度、DNS 聚合、递归枚举、源提供者、CNAME 记录和通配符 DNS。

支持的源提供者包括 Shodan、Censys、VirusTotal、SecurityTrails、Chaos 等,可通过 API 密钥增强结果。工具链中还包括 httpx(验证存活子域)、dnsx(DNS 解析)、Nuclei(漏洞扫描)、Amass(补充枚举)和 gowitness(截图侦察)。

使用方式

前置条件

  • 安装 Go 1.21+ 以便从源码构建
  • 安装 Subfinder v2:go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
  • 为被动源配置 API 密钥(Shodan、Censys、VirusTotal、SecurityTrails、Chaos)
  • 提供者配置文件位于 $HOME/.config/subfinder/provider-config.yaml
  • 具备访问被动 DNS 和证书透明度源的网络条件
  • 使用 httpx 或 httprobe 验证发现的子域

工作流程

步骤 1 — 安装与配置

go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
subfinder -version
mkdir -p $HOME/.config/subfinder
cat > $HOME/.config/subfinder/provider-config.yaml << 'EOF'
shodan:
  - YOUR_SHODAN_API_KEY
censys:
  - YOUR_CENSYS_API_ID:YOUR_CENSYS_API_SECRET
virustotal:
  - YOUR_VT_API_KEY
securitytrails:
  - YOUR_ST_API_KEY
chaos:
  - YOUR_CHAOS_API_KEY
EOF

步骤 2 — 基础枚举

subfinder -d example.com -o subdomains.txt
subfinder -dL domains.txt -o all_subdomains.txt
subfinder -d example.com -all -o subdomains_all.txt
subfinder -d example.com -silent | httpx -silent -status-code

步骤 3 — 筛选与自定义源

subfinder -d example.com -s crtsh,virustotal,shodan -o filtered.txt
subfinder -d example.com -es github -o results.txt
subfinder -d example.com -recursive -o recursive_subs.txt
subfinder -d example.com -m "api,dev,staging" -o matched.txt

步骤 4 — 速率限制与输出格式

subfinder -d example.com -rate-limit 10 -t 5 -o rate_limited.txt
subfinder -d example.com -oJ -o subdomains.json
subfinder -d example.com -cs -o subdomains_with_sources.txt
subfinder -dL domains.txt -oD ./results/

步骤 5 — 使用 httpx 验证子域

subfinder -d example.com -silent | httpx -silent -status-code -title -tech-detect -o live_hosts.txt
subfinder -d example.com -silent | httpx -ports 80,443,8080,8443 -o web_services.txt
subfinder -d example.com -silent | dnsx -a -resp -o resolved.txt

步骤 6 — 集成到更广泛的侦察管道

subfinder -d example.com -silent | httpx -silent | nuclei -t cves/ -o vulns.txt
subfinder -d example.com -o subfinder_results.txt
amass enum -passive -d example.com -o amass_results.txt
cat subfinder_results.txt amass_results.txt | sort -u > combined_subdomains.txt
subfinder -d example.com -silent | httpx -silent | gowitness file -f - -P screenshots/

适用场景

  • 漏洞赏金侦察:枚举目标范围内的所有子域,识别可能包含漏洞的遗忘或配置错误资产
  • 攻击面测绘:构建外部可访问子域的完整清单,用于持续安全监控和风险评估
  • 云资产发现:识别指向云服务(AWS、Azure、GCP)的子域,这些子域可能易受子域接管攻击
  • CI/CD 集成:在管道中自动化子域监控,检测新子域并针对攻击面变化发出告警
  • 并购尽职调查:在安全评估期间绘制收购目标的完整外部足迹

输出格式

技能提供了子域枚举报告示例,包含目标域名、发现子域总数、存活主机数、唯一 IP 地址数、使用的源,以及包含子域、IP 地址、状态码和技术的表格,并给出建议(如移除已停用子域的 DNS 记录、调查指向未认领服务的 CNAME、限制对开发和预发布环境的访问)。

限制

资料未提供关于 Subfinder 自身性能上限、各被动源的具体配额或收费情况、以及不同网络环境下可用性的说明。使用前需自行确认 API 密钥的有效性和网络访问条件。