Krainium/Domain-Recon

GitHub: Krainium/Domain-Recon

一款基于 Python 的轻量级域名侦察 CLI 工具,整合 SSL 检查、子域名枚举、DNS 暴力破解与反向 DNS 查询。

Stars: 0 | Forks: 0

# DomainRecon — 域名侦察工具 Python CLI 工具,用于域名侦察,将 SSL 证书检查、子域名枚举、DNS 暴力破解和反向 DNS 查询整合到一个交互式脚本中。零重型依赖 — 仅使用 Python 内置的 `ssl`、`socket` 和 `http.client` 模块。 ## 功能 - SSL/SNI 检查 — 读取 SSL 证书并提取所有 DNS 名称(Subject Alternative Names) - 通过 crt.sh 进行子域名枚举 — 查询证书透明度日志以查找曾经颁发过证书的每个子域名 - DNS 暴力破解 — 测试 100+ 常见子域名与多线程解析 - 反向 DNS 查询 — 使用 PTR 记录和 rapiddns.io 查找 IP 背后的主机名 - 完整侦察模式 — 顺序运行所有扫描,去重,并将每个结果解析为对应的 IP - 自动将结果保存到 `recon-results/` 文件夹中的时间戳文件 - 零重型依赖 — 仅需 `pyfiglet`,所有网络通信使用 Python 内置模块 - 支持 Windows、macOS、Linux ## 环境要求 - Python 3.7+ - 一个 pip 包: ``` pip install pyfiglet ``` ## 快速启动 ``` pip install pyfiglet python domain-recon.py ``` ## 菜单 ``` ---- Menu ---- 1) SSL/SNI Info 2) Subdomain Finder (crt.sh) 3) Subdomain Brute Force (DNS) 4) Reverse DNS Lookup 5) Full Recon (all scans) 6) Quit ``` ## 用法 ### 1) SSL/SNI 信息 连接到域名的 443 端口,读取 SSL 证书并提取所有信息,包括每个 Subject Alternative Name: ``` [SSL/SNI Info: google.com] [*] Common Name: *.google.com [*] Issuer: Google Trust Services [*] Valid From: Feb 2 08:36:38 2026 GMT [*] Valid Until: Apr 27 08:36:37 2026 GMT [*] Serial: B24FF93A9975FA670A45A4784F3ACC65 [+] Found 137 DNS name(s) in certificate: *.android.com *.cloud.google.com *.google.com *.youtube.com ... ``` 适用于发现共享同一 SSL 证书的相关域名和服务。大型组织通常会在单个通配符证书上放置数十个服务。 ### 2) 子域名查找(crt.sh) 通过 crt.sh 查询证书透明度日志,查找曾经颁发过 SSL 证书的每个子域名 — 包括已过期的证书和历史记录: ``` [Certificate Transparency: example.com] [*] Querying crt.sh... [+] Found 12 unique subdomain(s): api.example.com dev.example.com mail.example.com staging.example.com www.example.com ``` 被动方式 — 不向目标发送任何流量。CT 日志通常会揭示未公开链接的内部、暂存和开发子域名。 ### 3) 子域名 DNS 暴力破解 测试 100+ 常见子域名名称以查看哪些能解析。运行 20 个并发线程以提升速度: ``` [DNS Brute Force: example.com] [+] www.example.com -> 93.184.216.34 [+] mail.example.com -> 93.184.216.34 [+] api.example.com -> 93.184.216.34 [+] dev.example.com -> 10.0.0.5 ``` 词表包括:www、mail、ftp、api、app、dev、staging、admin、portal、blog、shop、cdn、vpn、db、git、ci、auth、sso、status、monitor、grafana、kibana 以及 80 多个更多。 查找可能不出现在 CT 日志中的子域名 — 例如使用自签名证书或未启用 SSL 的内部服务。 ### 4) 反向 DNS 查询 使用两种方法查找与 IP 地址关联的主机名: ``` [Reverse DNS: 8.8.8.8] [+] PTR Record: dns.google [*] Querying rapiddns.io... [+] Found 3 domain(s): dns.google google-public-dns-a.google.com ns1.google.com ``` 通过 `socket` 进行 PTR 记录查询,以及通过 rapiddns.io 查询所有曾经指向该 IP 的域名。 ### 5) 完整侦察 顺序运行所有扫描,去重所有结果,将每个子域名解析为其 IP,然后保存组合报告: ``` [Full Recon Summary] [+] Total unique subdomains/domains found: 47 api.example.com 93.184.216.34 cdn.example.com 104.18.22.73 dev.example.com (no DNS) staging.example.com 10.0.0.5 www.example.com 93.184.216.34 [+] Saved to recon-results/example_com_full-recon_20260315_163000.txt ``` ## 扫描对比 | 扫描 | 方法 | 对目标的流量 | 速度 | 覆盖范围 | |------|------|--------------|------|----------| | SSL/SNI | 直接 HTTPS 连接 | 单次请求 | 即时 | 同一证书上的域名 | | crt.sh | 第三方 API | 无 | 快速 | 所有历史颁发的证书 | | DNS 暴力破解 | DNS 解析 | 100+ 次查询 | 中等 | 仅限于词表 | | 反向 DNS | PTR + 第三方 API | 极少 | 快速 | 仅 IP | | 完整侦察 | 以上全部 | 有 | 中等 | 最佳综合覆盖 | ## 输出 每次扫描会在 `recon-results/` 中创建一个时间戳文件: ``` recon-results/ example_com_ssl-sni_20260315_160000.txt example_com_crtsh_20260315_160500.txt example_com_bruteforce_20260315_161000.txt 8_8_8_8_reverse-dns_20260315_161500.txt example_com_full-recon_20260315_163000.txt ``` 文件每行包含一条记录。完整侦察会自动保存;其他扫描会提示你保存。 ## 域名输入 脚本会自动清理输入: | 输入 | 解析结果 | |------|----------| | `google.com` | `google.com` | | `https://google.com` | `google.com` | | `http://google.com/path` | `google.com` | | `google.com:8080` | `google.com` | | ` google.com ` | `google.com` | ## 故障排除 | 问题 | 原因 | 解决方法 | |------|------|----------| | 缺少 pyfiglet | 未安装 | `pip install pyfiglet` | | SSL 连接超时 | 域名没有 443 端口或网络被屏蔽 | 检查连接性 | | crt.sh 返回空 | 服务暂时过载或域名非常新 | 几分钟后再试 | | DNS 暴力破解未找到结果 | 域名不使用常见子域名 | 改用 crt.sh 扫描 | | 反向 DNS 无结果 | IP 没有 PTR 记录或未收录于 rapiddns | 许多 IP 属于正常情况 | | Windows 权限错误 | 无写入目录权限 | 以管理员身份运行 | ## 依赖项 | 包 | 用途 | |----|------| | `pyfiglet` | ASCII 艺术标题 | 使用的内置模块:`ssl`(证书检查)、`socket`(DNS 解析、反向查询)、`http.client`(向 crt.sh 和 rapiddns.io 发起 HTTPS 请求)、`threading`(并发 DNS 暴力破解)。
标签:CRTSH, PTR记录, Python, SEO: DNS暴力破解, SEO: SSL证书分析, SEO: 内建Python, SEO: 域名侦察工具, SEO: 子域名枚举, SEO: 渗透测试工具, SEO: 网络安全工具, SEO: 零依赖, SNI检查, SSL证书检查, 主动侦察, 二进制发布, 内建模块, 反向外联, 域名侦察, 多线程解析, 子域名枚举, 开源工具, 数据统计, 无后门, 漏洞挖掘辅助, 端口扫描, 系统安全, 网络安全, 证书透明日志, 轻量依赖, 逆向工具, 隐私保护