BlueDev1222/Email-Grabber
GitHub: BlueDev1222/Email-Grabber
一款零配置、全自动的 OSINT 邮箱地址采集器,通过多源扫描自动发现并提取公开邮箱,专为授权安全测试设计。
Stars: 0 | Forks: 0
# 🕵️ AutoEmailGrabber
### *用于授权渗透测试的完全自动化 OSINT 邮箱采集器*
[](https://www.python.org/)
[](LICENSE)
[](https://github.com/BlueDev1222/Email-Grabber/releases)
[](https://github.com/BlueDev1222/Email-Grabber/pulls)
/ \ | | | ___ / | __ __ _ _ __ | | () __ _ \ | | | | | / _ \ | | _| '/ | '_ \| '_ \| |/ _ | \ \ | || | || () || || | | | (| | |) | | | | | (| | _/|_,|__/ _|| _,| ./|| |||_, | || |/
**只需打开文件。就这样。无需命令。无需设置。无需输入。**
## 📋 目录
- [概述](#-overview)
- [功能](#-features)
- [工作原理](#-how-it-works)
- [快速开始](#-quick-start)
- [安装](#-installation)
- [使用方法](#-usage)
- [输出格式](#-output-format)
- [自定义](#-customization)
- [数据源](#-data-sources)
- [反检测](#-anti-detection)
- [依赖项](#-dependencies)
- [路线图](#-roadmap)
- [常见问题](#-faq)
- [法律与道德](#-legal--ethics)
- [贡献](#-contributing)
- [许可证](#-license)
## 🔍 概述
**AutoEmailGrabber** 是一款完全自主、自启动的 OSINT(开源情报)工具,专为**授权的渗透测试人员、安全研究员和漏洞赏金猎人**设计。它无需任何用户输入,即可自动从公开来源发现并提取邮箱地址。
与传统的邮箱采集器不同,你不需要手动指定 URL、运行终端命令或配置复杂的设置——**AutoEmailGrabber 直接就能用**。你只需打开它,它就会扫描,然后你就能得到结果。
## ✨ 功能
| 功能 | 描述 |
|---------|-------------|
| **🤖 完全自动化** | 无需输入。无需输入 URL。无需运行命令。 |
| **🚀 自启动** | 双击文件即可运行。自动安装依赖项。 |
| **🌐 多源扫描** | 抓取网站,检查 CT logs,搜索 PGP keyservers,探测常见路径。 |
| **📄 简洁输出** | 将所有结果保存到 `emails_found.txt` —— 组织有序、去重,且适合在 VS Code 中直接打开。 |
| **🧹 智能过滤** | 自动移除系统邮箱(noreply, donotreply)、重复项以及无效地址。 |
| **🛡️ 反检测** | 随机 User Agent,礼貌延迟,以及尊重式抓取,避免被封锁。 |
| **📦 自动安装** | 如果缺少依赖项,它会自动安装。无需 pip 命令。 |
| **🎨 ASCII 横幅** | 启动时显示带有工具名称、版本和 GitHub 仓库的专业版本横幅。 |
| **🔧 完全可定制** | 添加你自己的目标,调整抓取深度,更改延迟——全在一个配置部分完成。 |
## ⚙️ 工作原理
AutoEmailGrabber 执行多阶段的侦察扫描:
### 第一阶段:网站抓取
- 使用 BFS(广度优先搜索)抓取目标组织的网站
- 从 HTML 内容、`mailto:` 链接、JavaScript 和混淆文本中提取邮箱
- 跟踪内部链接至可配置的深度
### 第二阶段:常见路径探测
- 检查已知会泄露邮箱的可预测 endpoint:
- `/contact`, `/about`, `/team`, `/people`, `/staff`
- `/.well-known/security.txt`, `/humans.txt`
- `/wp-json/wp/v2/users/`(WordPress 用户枚举)
### 第三阶段:证书透明度日志
- 查询 [crt.sh](https://crt.sh) 获取颁发给目标域名的 SSL/TLS 证书
- 证书通常在 SAN(Subject Alternative Name)字段中包含邮箱地址
### 第四阶段:PGP Keyserver 查找
- 搜索公共 PGP keyservers,查找与目标域名关联的邮箱地址
### 第五阶段:结果处理
- 对所有收集到的邮箱进行去重和验证
- 过滤掉系统地址(`noreply@`, `donotreply@` 等)
- 按域名对结果进行分组
- 将整洁、格式化的输出写入文件
## 🚀 快速开始
### 10 秒指南
```
# 1. 下载脚本
wget https://raw.githubusercontent.com/BlueDev1222/Email-Grabber/main/auto_email_grabber.py
# 2. 运行它
python auto_email_grabber.py
OR just double-click the file.
That's it. The script handles everything else.
```
📦 安装
选项 1:克隆仓库
git clone https://github.com/YOUR_USERNAME/AutoEmailGrabber.git
cd AutoEmailGrabber
python auto_email_grabber.py
选项 2:下载单个文件
wget https://raw.githubusercontent.com/YOUR_USERNAME/AutoEmailGrabber/main/auto_email_grabber.py
python auto_email_grabber.py
选项 3:只需双击(Windows/Mac/Linux)
将 auto_email_grabber.py 保存到你的桌面
双击它
看着它工作
🎮 使用方法
# 使用默认设置运行(扫描 10 个内置目标)
python auto_email_grabber.py
没有任何命令行参数。该工具被刻意设计为零配置。所有设置均在脚本内配置(参见自定义)。
运行时会发生什么
1. 显示带有版本信息的 ASCII 横幅
2. 检查依赖项,如果缺少则自动安装
3. 开始扫描所有目标(默认为 10 个网站)
4. 抓取每个目标,检查路径,查询 CT logs & PGP
5. 实时显示进度
6. 将结果保存到 emails_found.txt
7. 将摘要打印到控制台
8. 脚本暂停,直到你按下 Enter 键(以便你可以阅读输出)
📄 输出格式
结果文件 (emails_found.txt) 的格式旨在实现即时可读性:
# ======================================================================
AutoEmailGrabber — 扫描结果
版本: 2.1.0
日期: 2026-06-25 14:30:22
唯一邮箱总数: 47
── github.com (12 个邮箱) ──
```
admin@github.com
support@github.com
security@github.com
press@github.com
...
```
── google.com (8 个邮箱) ──
```
press@google.com
adsense@google.com
...
```
── microsoft.com (6 个邮箱) ──
```
mshelp@microsoft.com
...
```
# ======================================================================
报告结束
在 VS Code 中打开它:
bash
code emails_found.txt
🔧 自定义
所有配置都位于脚本顶部清晰标记的部分:
python
# ============================================================
# 配置
# ============================================================
OUTPUT_FILE = "emails_found.txt" # 输出文件名
MAX_PAGES_PER_SITE = 30 # 每个域名抓取的页面数
MAX_DOMAINS = 10 # 扫描多少个域名
CRAWL_DEPTH = 2 # 要跟踪的链接深度
REQUEST_DELAY = 1.0 # 请求之间的秒数
TIMEOUT = 10 # 请求超时时间(秒)
添加你自己的目标
用你自己的替换 AUTO_TARGETS 列表:
python
AUTO_TARGETS = [
{"name": "Your Company", "domain": "yourcompany.com", "url": "https://www.yourcompany.com"},
{"name": "Client Project", "domain": "clientdomain.com", "url": "https://www.clientdomain.com"},
]
调整扫描深度
MAX_PAGES_PER_SITE:越高 = 越彻底、越慢。越低 = 越快、覆盖越少。
CRAWL_DEPTH:1 = 仅起始页。2 = 起始页 + 链接页面。3 = 更深。
REQUEST_DELAY:如果遇到速率限制则增加。想要更快的扫描则减少。
📡 数据源
来源 方法 覆盖范围
目标网站 BFS 抓取 + HTML 解析 域名内最深至 max depth 的所有页面
常见路径 向已知 endpoint 发送 HTTP GET 请求 /contact, /team, /about, /.well-known/security.txt, /wp-json/wp/v2/users/
证书透明度 crt.sh API 为该域名颁发过的所有 SSL/TLS 证书
PGP Keyservers Ubuntu keyserver 搜索 包含该域名的公共 PGP 密钥
🛡️ 反检测
AutoEmailGrabber 包含多项功能以最大程度减少被检测和封锁:
随机 User Agent —— 每个请求都从现代浏览器池中使用随机浏览器签名
礼貌延迟 —— 请求之间可配置的延迟(默认:1 秒)
尊重式抓取 —— 限制深度和总页面数,避免使服务器过载
会话处理 —— 使用持久会话进行一致的抓取
📚 依赖项
如果缺少这些,AutoEmailGrabber 会自动安装:
库 版本 用途
requests 最新 HTTP 请求和 Web 抓取
beautifulsoup4 最新 HTML 解析和 DOM 导航
lxml 最新 用于 BeautifulSoup 的快速 HTML/XML 解析器
pyfiglet 最新 ASCII 艺术横幅生成
无需手动安装。脚本会处理这一切。
🗺️ 路线图
未来计划实现的功能:
SOCKS5/代理支持 —— 通过代理路由流量以实现匿名
Tor 集成 —— 可选的通过 Tor 网络路由
多线程抓取 —— 通过并行请求实现更快的扫描
导出格式 —— JSON, CSV, HTML 报告生成
内置域名列表 —— 100+ 常见漏洞赏金目标
Wayback Machine 集成 —— 历史邮箱提取
Shodan/Hunter.io API 支持 —— 可选的付费 API 集成
Docker 支持 —— 容器化部署
Web UI —— 用于查看结果的简单本地 Web 界面
❓ 常见问题
这合法吗?
此工具仅设计用于授权的渗透测试。在扫描任何目标之前,你必须拥有明确的许可。请参阅法律与道德部分。
我需要安装 Python 吗?
是的,需要 Python 3.7+。大多数系统都已预装。如果没有,请从 python.org 下载。
我会被封锁吗?
该工具使用了礼貌延迟和随机 User Agent。但是,激进的扫描可能会触发速率限制。如有需要,请调整 REQUEST_DELAY。
我可以扫描自己的目标吗?
可以!编辑脚本中的 AUTO_TARGETS 列表,添加任何你已获授权测试的域名。
为什么它带有内置目标?
内置目标(Google, Microsoft, GitHub 等)都是拥有公开漏洞赏金计划的知名公司,仅用于演示和测试目的。请将它们替换为你自己的授权目标。
我该如何在 VS Code 中打开结果?
bash
code emails_found.txt
或者直接双击该文件。
它在 Windows 上能用吗?
是的。Python 可以在所有平台上运行。如果安装了 Python,双击 .py 文件在 Windows 上即可生效。
⚖️ 法律与道德
⚠️ 重要 —— 请先阅读
AutoEmailGrabber 是一款仅供授权安全专业人员使用的 OSINT 工具。
可接受的使用
✅ 测试你自己的基础设施
✅ 具有书面授权的渗透测试
✅ 你已注册的漏洞赏金计划
✅ 对你拥有的系统进行安全研究
不可接受的使用
❌ 未经授权扫描系统
❌ 为垃圾邮件或网络钓鱼采集邮箱
❌ 违反任何适用法律(CFAA, GDPR, Computer Misuse Act 等)
❌ 任何可能对个人或组织造成伤害的使用
免责声明
作者对滥用此工具不承担任何责任。用户对遵守所有地方、州和联邦法律负全部责任。使用本软件即表示你同意仅出于合法、授权的目的使用它。
🤝 贡献
欢迎做出贡献!方法如下:
Fork 该仓库
创建一个功能分支 (git checkout -b feature/amazing-feature)
提交你的更改 (git commit -m 'Add amazing feature')
推送到该分支 (git push origin feature/amazing-feature)
发起一个 Pull Request
开发准则
保持简单 —— 零配置理念
保持 Python 3.7+ 兼容性
为所有主要功能添加注释
更新脚本中的版本号
尽可能在所有平台上进行测试标签:ESC4, OSINT, Python, 无后门, 网络调试, 自动化, 逆向工具