TheRielax/dorky
GitHub: TheRielax/dorky
一款支持多引擎语法动态适配的综合 OSINT 侦察工具,用于高级 Dorking 搜索与目标数字足迹分析。
Stars: 0 | Forks: 0
# DORKY 🕵️♂️
### 高级多引擎 Dorking 与动态语法适配器
**作者**:[rielax](https://github.com/TheRielax)
```
██████╗ ██████╗ ██████╗ ██╗ ██╗██╗ ██╗
██╔══██╗██╔═══██╗██╔══██╗██║ ██╔╝╚██╗ ██╔╝
██║ ██║██║ ██║██████╔╝█████╔╝ ╚████╔╝
██║ ██║██║ ██║██╔══██╗██╔═██╗ ╚██╔╝
██████╔╝╚██████╔╝██║ ██║██║ ██╗ ██║
╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝
```
**DORKY** 是一款强大的、基于 Python 的侦察工具,旨在跨多个主流搜索引擎(**DuckDuckGo**、**Bing**、**Google**、**Brave Search** 和 **Yandex**)动态构建、适配和执行高级搜索查询。
传统的 dorking 脚本通常假设标准的 Google 语法在任何地方都适用,与此不同,**DORKY 具有智能的动态语法适配器**,能够将规范的搜索查询转换为每个独立引擎支持的确切原生语法。
## ✨ 核心功能
- **🔄 多引擎动态适配**:自动将规范搜索运算符(`filetype:`、`intitle:`、`inurl:`、`intext:`、`-exclude`、精确引号)转换为特定引擎的等效项(例如,Yandex 的 `mime:`、`title:`、`url:`;Bing 的 `inbody:`)。
- **🕵️♂️ 目标侦察与 OSINT 套件(灵感来自 Ashok)**:
- **🏗️ 目标基础设施、域名与 Web 指纹识别套件**:整合的侦察套件,将被动子域名发现、结构化站点树指纹识别和 DNS/安全审计合并到一个命令中心,包含 4 种专用模式:
- **🌐 被动 DNS、WHOIS 与安全态势(SPF/DMARC 审计器)**:多层 WHOIS 联系人收集器,解析权威 IPv4 记录并评估电子邮件伪造的反网络钓鱼态势(`v=spf1` / `_dmarc`)。
- **🔍 被动子域名枚举**:通过证书透明度(`crt.sh`)、HackerTarget 和 UrlScan 索引日志进行即时被动发现。
- **🔬 Web 技术、CMS 与站点树指纹识别器**:Header、DOM 和结构化站点树分析器,可检测 CMS 平台、框架和 WAF,同时递归解析 `/robots.txt` 和 `/sitemap.xml`。
- **⚡ 全面自动化基础设施与站点树评估(ALL-IN-ONE)**:综合主扫描,自动执行 WHOIS/DNS 审计、被动子域名枚举、智能子域名存活性探测以及多主机站点树指纹识别。结合**子域名去重与防镜像分析**(`check_subdomain_liveness_and_uniqueness`)来探测每个发现的子域名,过滤掉死主机,检测返回根域名的重定向(`mail.domain -> domain`),并识别完全相同的内容镜像(`www.domain`),确保站点树和技术分析仅在真正唯一的活动子域名上运行,没有重复噪音。输出统一的 JSON 和 TXT 报告。
- **🏛️ Wayback Machine 历史档案与深度企业情报侦察**:以两种专用模式挖掘历史 CDX 档案(`web.archive.org`):**Wayback CDX 交互式 Dork 构建器与档案搜索**(交互式多过滤器向导,通过 `inurl:` 路径关键字、`-exclude` 排除项、`filetype:` 扩展名、如 200/403/301 的 `status:` HTTP 代码、`from/to` 日期范围,以及通过 `id_` 修饰符直接在存档的原始快照内进行**历史内容抓取(`intext:`)**,实现精确的历史 dorking)和**深度企业情报收集**(通过 CDX API 自动构建完整的历史站点树,将历史 URL 分类为目标情报类别——*联系人与团队*、*合作伙伴与客户*、*产品与项目*——并提取历史电子邮件地址、电话号码、增值税/税务 ID、分析跟踪代码和多语言快照中的实体提及,无需盲目的 404 猜测)。
- **🐙 GitHub 代码与机密 Dorking**:通过 REST API 扫描开源 GitHub 仓库,查找泄漏的 API 密钥、令牌、配置文件和目标域名提及(支持可选的 GitHub PAT)。
- **📞 电话号码 OSINT 与指纹识别**:使用 `phonenumbers` 和内部前缀映射对国际电话号码进行 100% 离线分析和正式验证。跨 4 个目标类别自动构建严格分组的布尔指纹 dork,并支持即时多引擎搜索执行。
- **📧 电子邮件地址 OSINT 与泄露指纹识别**:100% 离线解析和 MX 邮件交换解析(`dnspython`),对邮件基础设施进行分类。自动为数据泄露电子表格泄漏、Pastebin 转储和专业个人资料提及生成严格分组的布尔指纹 dork。
- **👤 用户名与社交跨平台指纹识别**:跨 13 个主要开发者、社交和游戏平台进行实时 HTTP 状态探测,实时确认活动个人资料,并伴随有针对性的跨平台布尔 dork。
- **🛡️ 反速率限制 WAF 绕过与弹性回退**:内置多层回退链和隐身机制。通过超现代的 User-Agent 池(`Chrome/126`、`Firefox/127`、`Edge`)和完整的 Client Hints 标头(`Sec-Ch-Ua`、`Sec-Fetch-Dest`、`Accept-Language`)模拟真实的桌面浏览器。具有动态随机抖动(在搜索引擎和内部重试循环之间),以防止 WAF 速率限制,并能够干净地处理 `0 result` 查询,而不会触发 CAPTCHA 阻止。
- **🛠️ 交互式 Dork 构建器**:逐步的交互式 CLI 向导,无需记住高级语法即可构建复杂查询。
- **🎯 预建侦察模板**:开箱即用的漏洞和 OSINT 搜索模板,用于查找暴露的配置文件、数据库转储、敏感日志和登录面板。
- **💾 多格式导出**:将结构化搜索结果导出为 **TXT**、**CSV** 或 **JSON**,以便轻松集成到自动化 OSINT pipeline 中。
- **⚡ 批量 Dork 字典自动化**:跨多个引擎批量执行自定义或预建的 dork 列表(`dorks_sample.txt`),支持自动目标域名范围设定和随机抖动。
- **🔑 官方 API 集成与回退**:为 Google Custom Search、Brave Search 和 GitHub 配置官方 API 密钥(`config.json` 或环境变量),实现即时、无 CAPTCHA 扫描。
- **📜 搜索历史会话管理**:自动跟踪过去的查询、目标范围和结果计数(`history.json`),允许在任何引擎上即时交互式重新执行。
## 📦 安装与设置
### 1. 克隆仓库
```
git clone https://github.com/TheRielax/dorky.git
cd dorky
```
### 2. 设置虚拟环境(推荐)
```
# 在 Windows 上
python -m venv venv
venv\Scripts\activate
# 在 Linux/macOS 上
python3 -m venv venv
source venv/bin/activate
```
### 3. 安装依赖
```
pip install -r requirements.txt
```
## 🚀 快速入门与使用
### Windows 用户(一键启动器)
只需双击随附的 `start_dorky.bat` 文件。它会自动将终端配置为 UTF-8 代码页(`chcp 65001`),激活 Python 虚拟环境,并执行 `dorky.py`。
### 手动 CLI 执行
```
python dorky.py
```
*(在 Windows cmd/PowerShell 上,如果 ASCII 艺术字渲染不正确,请运行 `python -X utf8 dorky.py`)*
## 🔑 API 密钥与 GitHub 令牌设置(可选)
DORKY 开箱即用,使用直接 Web 抓取和公共搜索后端(`ddgs`)。但是,为了避免 CAPTCHA、速率限制或访问经过身份验证的扫描端点(如 GitHub 代码搜索),您可以配置官方 API 密钥。
您可以通过在主菜单中选择 **选项 [13](`Official API Keys Configuration`)**,或通过编辑 `config.json` / 设置环境变量,在 DORKY 中交互式配置您的密钥:
- `GITHUB_API_TOKEN`(GitHub Personal Access Token)
- `GOOGLE_API_KEY` & `GOOGLE_CSE_ID`(Google Custom Search API)
- `BRAVE_API_KEY`(Brave Search API)
### 🐙 GitHub Personal Access Token 要求
使用 **选项 [9](`GitHub Code & Secret Dorking`)** 时,对 GitHub Search API(`/search/code`)的未经验证请求被限制为**每分钟 10 次请求**。添加 GitHub 令牌可将速率限制提高到**每分钟 30 次请求**,并允许搜索私有仓库。
- **令牌类型**:您可以使用 **Personal Access Token (classic)** 或 **Fine-grained Personal Access Token**。
- **所需权限 / Scopes**:
- **对于公共仓库(标准 OSINT)**:**无需 scopes!**
- *Classic PAT*:保持所有 scope 复选框**未选中**(无需任何权限)。
- *Fine-grained PAT*:选择 **Public Repositories (read-only)**。
- **对于私有 / 组织仓库**:
- *Classic PAT*:勾选 `repo` scope(`Full control of private repositories`)。
- *Fine-grained PAT*:在 **Repository access** 下选择目标仓库,并在 **Repository permissions** 下授予 **Contents: Read-only**(或 **Code: Read-only**)。
## 🧭 搜索引擎语法比较
| 运算符 | Google | DuckDuckGo / Bing | Yandex | Brave Search |
| :--- | :--- | :--- | :--- | :--- |
| **域名过滤器** | `site:domain.com` | `site:domain.com` | `site:domain.com` | `site:domain.com` |
| **文件扩展名**| `filetype:pdf` | `filetype:pdf` | `mime:pdf` | `filetype:pdf` |
| **标题匹配** | `intitle:"login"` | `intitle:"login"` | `title:"login"` | `intitle:"login"` |
| **URL 匹配** | `inurl:admin` | `inurl:admin` | `url:admin` | `inurl:admin` |
| **正文匹配** | `intext:"password"` | `inbody:"password"` | `"password"` | `"password"` |
| **精确短语匹配** | `"confidential data"` | `"confidential data"` | `"confidential data"` | `"confidential data"` |
| **排除项** | `-wordpress` | `-wordpress` | `~~wordpress` / `-` | `-wordpress` |
## 💡 建议与最佳实践
1. **保持依赖项更新**:搜索引擎的 HTML 布局和 API 经常演变。定期运行 `pip install --upgrade ddgs requests beautifulsoup4 googlesearch-python` 以保持最佳的抓取可靠性。
2. **使用目标域名限制**:在执行漏洞模板时,始终指定目标域名(`site:target.com`),以避免嘈杂的全球结果并保持在授权范围内。
3. **遵守速率限制**:如果在所有引擎上连续进行重度查询,请在搜索会话之间稍作停顿,以避免被搜索引擎边缘防火墙暂时封禁 IP。
## ⚠️ 免责声明
**DORKY** 的开发严格用于授权的渗透测试、安全研究和防御性 OSINT 分析。作者不对使用此工具进行的任何滥用或未经授权的操作负责。在扫描或评估目标基础设施之前,请务必获得明确许可。
标签:逆向工具