一、介绍
Subfinder 是一款专注于子域名收集的开源工具,旨在帮助安全专业人员、渗透测试人员和研究人员快速有效地发现目标域的子域名。该工具通过与多个子域名源(例如搜索引擎、DNS数据)集成,提供了一个全面的子域名搜集解决方案。
以下是 Subfinder 的一些主要特点和功能:
- 多源搜集: Subfinder 集成了多个子域名源,包括但不限于谷歌(Google)、Shodan、Censys、Virustotal等,以提高搜集的全面性。
- 快速且并发: Subfinder 被设计为快速且支持并发搜集,以加速子域名发现过程。
- DNS 数据源: 工具可以利用DNS数据,通过查询DNS服务器来发现子域名。这包括常规域传输、DNS枚举和暴力破解。
- API支持: Subfinder 提供了对多个子域名API的支持,以允许用户在工具中集成自定义的数据源。
- 漏洞扫描集成: Subfinder 还可以与漏洞扫描工具(如 Amass、Assetnote、Virustotal)进行集成,以提供更全面的信息。
- 结果导出: Subfinder 支持将搜集到的子域名结果导出为常见的文件格式,如文本文件、JSON和CSV。
- 自定义字典: 用户可以使用自定义字典进行子域名的暴力破解尝试,以满足特定的搜集需求。
Subfinder 是一个灵活而强大的工具,适用于用于渗透测试、漏洞评估、红队操作以及一般的信息搜集任务。使用 Subfinder 时,请确保在合法和授权的范围内操作,并遵循法律和道德准则。
二、安装 Golang
下载 Golang
Golang 官网
https://golang.google.cn/dl/
点击图中的 .msi 文件执行下载
下载后执行程序
点击 Next
默认是勾选的,点击 Next 即可
点击 Change 更改安装位置,也可以直接点击 Next
点击 Install
最后点击 Finish 完成
右键电脑点击属性,点击高级系统设置
点击环境变量
双击系统变量中的 Path
点击浏览
选择图中路径
点击确定
点击确定
点击确定
测试输入命令
go version
三、安装 Subfinder
设置 Golang 代理
go env -w GOPROXY=https://goproxy.cn,direct
执行命令安装
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
执行完后你的 go/bin 目录下就会出现文件
四、使用 Subfinder
4.1 测试
先输入命令看能否正常使用
subfinder -h
4.2 参数详解
Flags: 输入: -d, -domain string[] 要查找子域名的域名 -dL, -list string 包含要进行子域名发现的域名列表的文件 来源: -s, -sources string[] 用于发现的特定来源(-s crtsh,github)。使用 -ls 显示所有可用来源。 -recursive 仅使用能够递归处理子域的来源(例如 subdomain.domain.tld vs domain.tld) -all 使用所有来源进行枚举(速度较慢) -es, -exclude-sources string[] 从枚举中排除的来源(-es alienvault,zoomeyeapi) 过滤: -m, -match string[] 要匹配的子域名或子域名列表(文件或逗号分隔) -f, -filter string[] 要过滤的子域名或子域名列表(文件或逗号分隔) 速率限制: -rl, -rate-limit int 每秒发送的最大HTTP请求数 -rls value 每秒为四个提供程序发送的最大HTTP请求数(以 key=value 格式,例如 -rls "hackertarget=10/s,shodan=15/s") -t int 用于解析的并发goroutines数(仅在 -active 模式下)(默认 10) 更新: -up, -update 更新 subfinder 到最新版本 -duc, -disable-update-check 禁用自动 subfinder 更新检查 输出: -o, -output string 要写入输出的文件 -oJ, -json 以 JSONL(ines) 格式写入输出 -oD, -output-dir string 要写入输出的目录(仅对 -dL 有效) -cs, -collect-sources 在输出中包含所有来源(仅在 -json 模式下有效) -oI, -ip 在输出中包含主机IP(仅在 -active 模式下有效) 配置: -config string 配置文件路径(默认为 "$CONFIG/subfinder/config.yaml") -pc, -provider-config string 提供程序配置文件路径(默认为 "$CONFIG/subfinder/provider-config.yaml") -r string[] 逗号分隔的要使用的解析器列表 -rL, -rlist string 包含要使用的解析器列表的文件 -nW, -active 仅显示活动的子域 -proxy string 用于 subfinder 的 HTTP 代理 -ei, -exclude-ip 从域名列表中排除IP地址 调试: -silent 仅显示输出中的子域名 -version 显示 subfinder 的版本 -v 显示详细输出 -nc, -no-color 禁用输出中的颜色 -ls, -list-sources 列出所有可用来源 优化: -timeout int 在超时之前等待的秒数(默认 30) -max-time int 等待枚举结果的分钟数(默认 10)
4.3 入门案例
枚举子域名
subfinder -d 域名