mug1sh4/subrecon

GitHub: mug1sh4/subrecon

一个仅依赖 Go 标准库的轻量子域名枚举工具,结合证书透明度日志被动查询与字典并发 DNS 暴力破解实现快速资产发现。

Stars: 0 | Forks: 0

# subrecon 一个使用 Go 编写的、无依赖的微型子域名枚举工具。由于仅使用了标准库 (`net`、`net/http`、`context`、`bufio`),它可以干净地交叉编译 为 Linux 和 Windows 版本。 ## 功能 - 通过 crt.sh 证书透明度日志进行**被动枚举** - 通过针对字典的并发 DNS 暴力破解进行**主动枚举** - 自动去重 + 解析合并(保留拥有更多已解析 IP 的结果) - 可配置的并发量和超时时间 - 纯文本输出,可通过管道传输至其他侦察工具(httpx、nucleus 等) ## 构建 ``` # Linux binary GOOS=linux GOARCH=amd64 go build -o subrecon main.go # Windows binary GOOS=windows GOARCH=amd64 go build -o subrecon.exe main.go # Native build(无论你使用哪种操作系统) go build -o subrecon main.go ``` 除了标准库之外不需要任何 `go.mod` 依赖,因此在安装工具链后, `go build` 可以离线运行。 ## 用法 ``` # 完整运行:passive + active ./subrecon -d example.com -w wordlist_small.txt -c 100 -o results.txt # 仅 passive(快速,无需 wordlist) ./subrecon -d example.com -passive-only # 仅 active(跳过 crt.sh) ./subrecon -d example.com -w wordlist_small.txt -active-only # 更大的 wordlist + 更高的并发 ./subrecon -d example.com -w /path/to/subdomains-top1million-5000.txt -c 300 ``` ### 标志 | Flag | Default | Description | |-----------------|---------|------------------------------------------------| | `-d` | — | 目标域名(必填) | | `-w` | — | 用于主动暴力破解的字典路径 | | `-c` | 50 | 并发量(运行中的 goroutine 数量) | | `-timeout` | 5 | 每次查询的超时时间(秒) | | `-o` | stdout | 输出文件路径 | | `-passive-only` | false | 仅查询 crt.sh | | `-active-only` | false | 仅通过 DNS 进行暴力破解 | | `-ips` | true | 在每个子域名旁打印已解析的 IP | ## 注意事项 / OPSEC - crt.sh 查询是被动的——不会有任何数据包触及目标的 基础设施,仅限于证书透明度日志服务器。 - DNS 暴力破解属于主动侦察:它会向您的 OS 上配置的解析器发送真实查询。 在实际任务中,请从您的交战规则所涵盖的基础设施上运行此操作, 如果他们正在监控查询量,请做好它出现在目标 DNS 日志中的准备。 - 此工具不进行端口扫描、banner 抓取或漏洞利用——它仅用于 枚举,旨在范围验证后,将经过允许的目标列表 输入到后续阶段(httpx、nuclei 等)。 ## 许可证 请在您的任务交战规则 / 授权范围内使用。
标签:DNS解析, EVTX分析, GitHub, Go, Ruby工具, 子域名枚举, 实时处理, 开源项目, 日志审计, 系统安全