ReconHound 是一款基于 Python 的 Web 侦察工具,专为渗透测试人员、漏洞赏金猎人和道德黑客设计。它有助于识别隐藏路径、文件、子域名、查询参数、虚拟主机和可模糊测试的端点,是深度 Web 侦察的多功能解决方案。
多线程扫描,实现高速 Web 枚举
支持:
目录和文件发现
子域名枚举
通过 Host 头部进行虚拟主机检测
查询参数模糊测试
使用自定义 FUZZ 占位符在 URL 任意位置进行模糊测试
以 JSON 格式保存结果
优雅处理中断并保存部分结果
ReconHound 应负责任且合法地使用。未经明确许可,擅自使用此工具扫描、模糊测试或测试网站是非法且不道德的。作者不对因使用本工具而导致的任何误用或法律后果负责。
1. 克隆仓库:
git clone https://gitlab.com/s_r_e_e_r_a_j/ReconHound.git
2. 进入 ReconHound 目录:
cd ReconHound
3. 安装依赖:
pip3 install -r requirements.txt
Kali、Parrot、Ubuntu 23.04+、Arch Linux 用户注意:
如果出现类似以下错误:
error: externally-managed-environment
请使用:
pip3 install -r requirements.txt --break-system-packages
4. 运行 install.py 脚本进行安装:
sudo python3 install.py
然后输入 y 进行安装
5. 运行工具
reconhound [options]
dir – 目录和文件枚举
示例:
reconhound dir -u https://example.com -w /path/to/wordlist/wordlist.txt -e .php,.html -t 20 -o /path/to/save/dir_results.json
sub – 子域名枚举
示例:
reconhound sub -d example.com -w /path/to/wordlist/wordlist.txt -t 30 -o /path/to/save/sub_results.json
vhost – 虚拟主机发现
示例:
reconhound vhost -i 192.0.2.1 --domain example.com -w /path/to/wordlist/wordlist.txt -t 25 -o /path/to/save/vhost_results.json
fuzz – 查询参数模糊测试
示例:
reconhound fuzz -u "https://example.com/page.php?id=FUZZ" -p id -w /path/to/wordlist/wordlist.txt -t 20 -o /path/to/save/fuzz_results.json
reconhound fuzz -u "https://example.com/login?username=admin&password=FUZZ" -p password -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzz_results.json
fuzzany – 在 URL 任意位置模糊测试
示例:
reconhound fuzzany -u "https://example.com/FUZZ/login" -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzzany_results.json
reconhound fuzzany -u "https://example.com?FUZZ=admin" -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzzany_results.json
reconhound fuzzany -u "https://example.com/login?username=admin&password=FUZZ" -w /path/to/wordlist/wordlist.txt -t 15 -o /path/to/save/fuzzany_results.json
dir 模式
reconhound dir --help
sub 模式
reconhound sub --help
vhost 模式
reconhound vhost --help
fuzz 模式
reconhound fuzz --help
fuzzany 模式
reconhound fuzzany --help
运行 install.py 脚本
sudo python3 install.py
然后输入 n 进行卸载
本项目采用 MIT 许可证
| 选项 | 描述 |
|---|
-u, --url | 目标 URL(例如 https://example.com) |
-w, --wordlist | 目录/文件字典路径 |
-e, --extensions | 逗号分隔的文件扩展名(例如 .php,.html,.js)(可选) |
-t, --threads | 使用的线程数(默认:10)(可选) |
-o, --output | 保存输出结果的文件(JSON 格式,out.json)(可选) |
| 选项 | 描述 |
|---|
-d, --domain | 目标域名(例如 example.com) |
-w, --wordlist | 子域名字典路径 |
-t, --threads | 使用的线程数,默认 10(可选) |
-o, --output | 保存输出结果的文件(JSON 格式,out.json)(可选) |
| 选项 | 描述 |
|---|
-i, --ip | 目标 IP 地址(例如 192.0.2.1)(目标网站 IP) |
-d, --domain | Host 头部中使用的真实域名(目标网站域名)(例如 "example.com") |
-w, --wordlist | 虚拟主机字典(例如 admin、dev、test) |
-t, --threads | 使用的线程数,默认:10(可选) |
-o, --output | 保存输出结果的文件(JSON 格式,out.json)(可选) |
| 选项 | 描述 |
|---|
-u, --url | 参数中包含 FUZZ 的目标 URL(例如 ?id=FUZZ) |
-p, --param | 要模糊测试的参数名称(例如 id) |
-w, --wordlist | 注入到参数的有效载荷字典 |
-t, --threads | 使用的线程数,默认:10(可选) |
-o, --output | 保存输出结果的文件(JSON 格式,out.json)(可选) |
| 选项 | 描述 |
|---|
-u, --url | 路径或查询中包含 FUZZ 的 URL(例如 /FUZZ/login) |
-w, --wordlist | 用于替换 FUZZ 的字典 |
-t, --threads | 使用的线程数,默认:10(可选) |
-o, --output | 保存输出结果的文件(JSON 格式,out.json)(可选) |