PhilopaterSh/Ph.Sh-Subdomain
GitHub: PhilopaterSh/Ph.Sh-Subdomain
SubHunter-Go 是一个基于 Go 语言的高并发被动子域名枚举工具,通过聚合多个公开情报数据源帮助安全研究人员快速发现目标资产的子域名。
Stars: 0 | Forks: 0
# SubHunter-Go
*一个快速且并发的子域名枚举工具*
## 📖 关于本工具
SubHunter-Go 是一个使用 Go 语言编写的快速且高效的子域名枚举工具。它专为安全研究员和漏洞赏金猎人设计,通过多种被动来源发现子域名,并利用 Go 的并发特性实现最大的速度和效率。
## 🛠️ 技术栈





## 功能
- **并发引擎执行**:并行运行所有引擎以实现最高速度。
- **多种子域名来源**:从最可靠的被动来源收集结果。
- **邮箱发现**:从支持的引擎中收集与域名关联的邮箱(在详细模式下可见)。
- **灵活的输入方式**:支持使用 `-d` 扫描单个域名,或使用 `-dl` 从文件中扫描多个域名。
- **干净且唯一的输出**:自动处理、清理和去重结果。
- **跨平台**:可编译为在 Windows、Linux 和 macOS 上运行。
### 支持的引擎
- AlienVault OTX
- Ask
- Baidu
- Bing
- Crt.sh
- Digger.tools
- DNSDumpster
- Google
- Netcraft
- SecurityTrails
- Shodan
- ShrewdEye
- **ThreatCrowd** (已恢复)
- Urlscan.io
- VirusTotal
- Yahoo
## 环境要求
- **Go**:1.18 或更高版本(仅在安装或从源码构建时需要)。
- **Python**:建议使用 3.6+ 版本。`digger` 引擎需要 Python 和一些外部库。你可以使用 pip 安装它们:
pip install -r requirements.txt
## 安装说明
推荐的安装方式是使用 `go install`,这会使该命令在你的终端中全局可用。
```
go install -v github.com/PhilopaterSh/Ph.Sh_Sub@latest
```
**注意:** 此命令会将二进制文件(命名为 `Ph.Sh_Sub` 或 `Ph.Sh_Sub.exe`)安装到你的 Go 二进制文件路径中(例如 `$GOPATH/bin` 或 `$HOME/go/bin`)。请确保此目录在你的系统 `PATH` 中,以便从任何地方运行该工具。
## 使用说明
以下是如何使用 SubHunter-Go 的一些示例:
* **扫描单个域名:**
Ph.Sh_Sub -d example.com
* **从文件中扫描域名列表:**
Ph.Sh_Sub -dl domains.txt
* **将结果保存到文件:**
Ph.Sh_Sub -d example.com -o results.txt
* **使用详细模式查看哪个引擎发现了每个子域名以及任何发现的邮箱:**
Ph.Sh_Sub -d example.com -v
* **处理 SSL 证书错误:**
某些服务器(如 ThreatCrowd)可能具有无效的 SSL 证书。使用 `--no-ssl-verify` 标志可以绕过这些错误。
Ph.Sh_Sub -d example.com --no-ssl-verify
### 所有选项
```
Usage of SubHunter-Go:
-d string
Target domain (e.g., example.com)
-dl string
File containing a list of domains to scan
-e string
Comma-separated engines to run (e.g., crtsh,digger)
-no-ssl-verify
Disable SSL verification (insecure)
-o string
Save unique subdomains to file
-t int
Number of concurrent threads/goroutines (default 10)
-v
Show the engine that found each subdomain and any discovered emails
-bruteforce
Enable DNS bruteforce
-wordlist string
Wordlist file for bruteforce
-resolvers string
File with DNS resolvers for bruteforce
```
## 配置
SubHunter-Go 可以从名为 `Ph.Sh_Sub_config.yaml` 的配置文件中加载 API 密钥。
首次运行时,如果找不到 `Ph.Sh_Sub_config.yaml`,将会在特定于平台的用户配置目录中创建一个模板文件(例如,Linux 上的 `~/.config/Ph.Sh_Sub/Ph.Sh_Sub_config.yaml`,Windows 上的 `C:\Users\YourUser\.config\Ph.Sh_Sub\Ph.Sh_Sub_config.yaml`)。
**示例 `Ph.Sh_Sub_config.yaml`:**
```
api_keys:
urlscan: "YOUR_URLSCAN_API_KEY"
dnsdumpster: "YOUR_DNSDUMPSTER_API_KEY"
vt: "YOUR_VT_API_KEY"
securitytrails: "YOUR_SECURITYTRAILS_API_KEY"
shodan: "YOUR_SHODAN_API_KEY"
```
请编辑此文件并将占位符值替换为你实际的 API 密钥。只有具有有效 API 密钥的引擎才会被使用。
## 🙏 支持我的工作
如果你觉得我的工作有用,请考虑支持我。这能帮助我投入更多时间到开源项目中。
[
](https://www.buymeacoffee.com/PhilopaterSh)
](https://www.buymeacoffee.com/PhilopaterSh)
标签:EVTX分析, GitHub, Go, Ruby工具, 子域名枚举, 实时处理, 日志审计, 系统安全, 逆向工具