DENNISDGR/crt-recon
GitHub: DENNISDGR/crt-recon
通过 crt.sh 证书透明度日志快速枚举目标域名子域并进行存活探测的 Bash 脚本。
Stars: 0 | Forks: 0
# crt.sh — 证书透明度侦察工具
通过[证书透明度日志](https://crt.sh)进行子域名枚举的 Bash 脚本。
## 功能
- 通过 crt.sh CT 日志发现子域名
- 按子字符串过滤结果(例如 `dev`、`staging`、`api`)
- 并发主机探测以发现存活子域名
- 存活检查支持代理 (SOCKS5, SOCKS4, HTTP)
- 输出至文件
- 妥善处理来自 crt.sh 的 502 / 无效响应
## 依赖要求
- `curl`
- `jq`
- `xargs` (Linux/macOS 标准)
## 安装说明
```
git clone https://github.com/DENNISDGR/crt-recon.git
cd crt-recon
chmod +x crt.sh
```
## 运行 Naabu
```
crt.sh -d [-s ] [-w ] [--alive] [-t ] [-x ]
```
| 标志 | 描述 | 默认值 |
|------|-------------|---------|
| `-d` | 目标域名 *(必填)* | — |
| `-s` | 按子字符串过滤结果 | — |
| `-w` | 将输出写入文件 | — |
| `--alive` | 探测每个主机并仅保留存活的主机 | — |
| `-t` | 并发探测数 | `50` |
| `-x` | 用于存活检查的代理 (`socks5://`, `http://`) | — |
| `-h` | 显示帮助 | — |
## 示例
```
# 单个 domain 的所有 subdomain
./crt.sh -d facebook.com
# 仅筛选 dev subdomain
./crt.sh -d facebook.com -s dev
# 使用 100 个线程进行存活检查,保存结果
./crt.sh -d facebook.com --alive -t 100 -w results.txt
# 通过 SOCKS5 代理路由存活检查
./crt.sh -d facebook.com --alive -x socks5://127.0.0.1:1080
# 完整组合
./crt.sh -d facebook.com -s dev --alive -t 100 -x socks5://127.0.0.1:1080 -w dev_alive.txt
```
## 运行原理
1. 向 `crt.sh` 查询颁发给 `*.domain` 的所有证书
2. 提取每个 `name_value` 字段(涵盖多 SAN 证书)
3. 进行分割、去除通配符前缀以及去重处理
4. 可选通过 `grep` 按子字符串进行过滤
5. 可选通过并发的 `xargs -P` worker 对每个主机依次通过 `https` 和 `http` 进行探测
## 注意事项
- crt.sh 偶尔会返回 502 —— 本脚本会处理此情况并干净地退出
- 存活探测对每个主机的每个协议使用 5 秒超时
- 代理标志仅适用于存活探测,不适用于 crt.sh 查询本身
标签:ESC4, GitHub, Linux工具, OSINT, 主动侦察, 代理支持, 告警, 子域名枚举, 子域名爆破, 并发探测, 应用安全, 端口探测, 系统安全, 系统独立性, 网络安全, 证书透明度, 隐私保护