JoasASantos/PhishletGenerator-Evilginx
GitHub: JoasASantos/PhishletGenerator-Evilginx
基于 Playwright 浏览器自动化的 Evilginx v3 Phishlet 配置生成器,通过分析目标登录页面自动生成可用的钓鱼代理配置。
Stars: 18 | Forks: 7
# RTLPhishletGenerator
用于授权红队演练的自动化 Evilginx Phishlet 生成器。
## 概述
RTLPhishletGenerator 分析目标登录页面,并生成可直接用于生产环境的 Evilginx v3 phishlet YAML 配置。它利用 Playwright 浏览器自动化技术来映射认证流程、检测登录表单、捕获 cookie,并发现所有相关域名——随后生成有效的 phishlet,并可选进行 AI 优化。
**本工具专为授权的红队和紫队安全测试演练而设计。所有用户必须持有适当的 NDA 和书面授权。**
## 功能特性
- **自动化 URL 分析** — 基于 Playwright 的浏览器分析,可检测登录表单、认证流程、cookie 及所有相关域名
- **智能 Phishlet 生成** — 基于规则的引擎,内置已知平台模式(Microsoft 365、Google、Okta、GitHub、AWS)
- **AI 增强** — 可选的 LLM 集成(DeepSeek、Claude、OpenAI),通过 litellm 实现以提高准确性
- **内置验证** — Schema 验证和跨部分逻辑检查,确保与 Evilginx v3 兼容
- **YAML 编辑器** — 具备语法高亮功能的完整 Monaco 编辑器
- **实时进度** — 基于 WebSocket 的分析进度反馈,提供逐步详情
- **Web GUI** — 现代化深色主题界面,配备向导式工作流
## 前置条件
- Python 3.11+
- Node.js 20+
- Docker (可选)
## 快速开始
### 选项 1: Docker
```
cp .env.example .env
# 使用您的 AI API key 编辑 .env(可选)
docker-compose up -d
```
打开 http://localhost:3000
### 选项 2: 手动设置
```
# Backend
cd backend
pip install -r requirements.txt
playwright install chromium
cd ..
# Frontend
cd frontend
npm install
cd ..
# 同时运行两者(需要 Make)
make dev
```
- 后端: http://localhost:8000 (API 文档位于 /docs)
- 前端: http://localhost:5173
## 配置
将 `.env.example` 复制为 `.env` 并进行配置:
```
# AI 配置(可选)
AI_API_KEY=your-api-key-here
AI_MODEL=deepseek/deepseek-chat
# 其他支持的 models:
# AI_MODEL=claude-3-5-sonnet-20241022
# AI_MODEL=gpt-4o
# AI_MODEL=anthropic/claude-3-haiku
```
## AI 集成
RTLPhishletGenerator 使用 [litellm](https://github.com/BerriAI/litellm) 提供多提供商 AI 支持。AI 层是**可选的** — 基于规则的引擎始终会生成基准 phishlet。AI 会通过以下方式进行优化:
- 特定平台的 cookie/凭据知识
- 缺失子域名检测
- 跨域 sub_filter 建议
- 针对 SPA 目标的 JavaScript 注入建议
支持的提供商:DeepSeek、Anthropic Claude、OpenAI、Azure OpenAI、Google Gemini 以及任何兼容 litellm 的模型。
## 使用方法
1. **输入目标 URL** — 提供登录页面 URL(例如 `https://login.example.com/signin`)
2. **查看分析结果** — 检查发现的域名、登录表单、cookie 和认证流程
3. **生成 Phishlet** — 点击 "Generate" 生成 YAML 配置
4. **编辑与验证** — 在 Monaco 编辑器中进行微调,运行验证
5. **导出** — 下载 `.yaml` 文件以供 Evilginx 使用
## API 参考
| Endpoint | Method | 描述 |
|---|---|---|
| `/api/v1/health` | GET | 健康检查 |
| `/api/v1/analyze/` | POST | 分析目标 URL |
| `/api/v1/analyze/ws` | WebSocket | 带实时进度的分析 |
| `/api/v1/generate/from-url` | POST | 端到端:分析 + 生成 |
| `/api/v1/generate/from-analysis` | POST | 基于现有分析结果生成 |
| `/api/v1/generate/ai-status` | GET | 检查 AI 配置状态 |
| `/api/v1/validate/` | POST | 验证 phishlet YAML |
后端运行时,可在 http://localhost:8000/docs 查看完整的 API 文档。
## 项目结构
```
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI application
│ │ ├── config.py # Settings (pydantic-settings)
│ │ ├── routers/ # API endpoints
│ │ ├── services/ # Core business logic
│ │ │ ├── scraper.py # Playwright website analysis
│ │ │ ├── analyzer.py # Analysis orchestration
│ │ │ ├── generator.py # Phishlet YAML generation
│ │ │ ├── ai_service.py # LLM integration
│ │ │ └── validator.py # Phishlet validation
│ │ └── schemas/ # Pydantic models
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API client
│ │ ├── store/ # Zustand state
│ │ └── hooks/ # Custom hooks
│ └── package.json
├── docs/
│ ├── lesson-01-using-rtlphishletgenerator.md
│ └── lesson-02-creating-phishlets-manual.md
├── docker-compose.yml
├── Makefile
└── .env.example
```
## 文档
- [第 1 课:使用 RTLPhishletGenerator](docs/lesson-01-using-rtlphishletgenerator.md)
- [第 2 课:创建 Phishlet - 技巧与最佳实践](docs/lesson-02-creating-phishlets-manual.md)
## 技术栈
**后端:** Python, FastAPI, Playwright, BeautifulSoup4, ruamel.yaml, litellm, Pydantic
**前端:** TypeScript, React, Vite, TailwindCSS, Monaco Editor, TanStack Query, Zustand
## 法律免责声明
本工具仅供授权的安全测试目的使用。用户必须:
1. 拥有目标组织的书面授权
2. 在有效的 NDA/SOW 范围内进行操作
3. 遵守所有适用法律法规
4. 不得利用本工具进行未授权访问或恶意目的
开发者不对本工具的滥用承担任何责任。使用 RTLPhishletGenerator 即表示您同意仅在授权安全评估的范围内使用它。
## 许可证
私有 — 仅限 NDA 授权下使用。
标签:AI安全, Chat Copilot, Docker, ESC8, Evilginx, GNU通用公共许可证, LLM集成, M365安全, Monaco Editor, Node.js, Okta, Phishlet生成器, Playwright, Python, WebSocket, Web安全, YAML配置, 中间人攻击, 依赖分析, 双因素绕过, 反向代理, 安全防御评估, 无后门, 特征检测, 社会工程学, 紫队, 蓝队分析, 认证流程分析, 请求拦截, 逆向工具