Levi1207/PhishMind
GitHub: Levi1207/PhishMind
PhishMind 是一个基于 Go 构建的钓鱼攻击模拟平台,用于企业授权安全测试和员工反钓鱼意识培训。
Stars: 1 | Forks: 0
# PhishMind - 钓鱼攻击模拟平台



## 📋 目录
- [概述](#обзор)
- [功能](#возможности)
- [架构](#архитектура)
- [安装说明](#установка)
- [配置](#конфигурация)
- [用户指南](#руководство-пользователя)
- [API 文档](#api-документация)
- [安全性](#безопасность)
- [截图](#скриншоты)
- [技术栈](#технологический-стек)
- [项目结构](#структура-проекта)
- [法律信息](#юридическая-информация)
- [许可证](#лицензия)
## 🎯 概述
**PhishMind** 是一个专业的钓鱼攻击模拟平台,旨在用于授权的安全测试和员工培训。它基于 Go 和现代 Web 技术构建,为组织提供了一个强大的工具,以评估和改善其针对社会工程学的防御能力。
### 核心目标
- **安全培训**:针对钓鱼威胁对员工进行培训
- **漏洞评估**:识别组织内容易受攻击的用户
- **合规性测试**:满足安全培训的法规要求
- **指标与分析**:跟踪和衡量安全方面的改善情况
## ✨ 功能
### 核心功能
#### 🎯 活动管理
- 创建和管理多个钓鱼活动
- 在特定时间范围内安排活动
- 跟踪活动生命周期(草稿 → 已启动 → 已完成)
- 实时监控活动
#### 📧 邮件模拟
- SMTP 集成以发送邮件
- 可定制的邮件模板
- 用于跟踪打开情况的追踪像素
- 支持使用变量的个性化邮件内容
#### 🎨 钓鱼页面模板
- **5 个内置模板**:
- Microsoft 登录
- Facebook 登录
- GitHub 登录
- Instagram 登录
- Google 登录
- 精准复刻原始登录页面
- 适配所有设备的响应式设计
- 支持创建自定义模板
#### 👥 目标管理
- 导入目标列表(CSV/手动输入)
- 存储目标信息(姓名、电子邮件、职位)
- 对目标进行批量操作
- 对目标进行分组和细分
#### 📊 高级分析
- **实时指标**:
- 邮件送达率
- 打开跟踪
- 链接点击率
- 凭据提交率
- 单个目标跟踪
- IP 地址和 User-Agent 日志记录
- 所有交互的时间戳
- 可导出的报告
#### 🔐 安全功能
- 管理员身份验证
- 安全的凭据存储
- 支持加密的 SQLite 数据库
- 会话管理
- CSRF 防护
## 🏗️ 架构
### 系统架构
```
┌─────────────────────────────────────────────────────────────┐
│ PhishMind │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌───────────┐ │
│ │ Web UI │◄────►│ REST API │◄────►│ Database │ │
│ │ (Frontend) │ │ (Go/Mux) │ │ (SQLite) │ │
│ └──────────────┘ └──────────────┘ └───────────┘ │
│ │ │ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Шаблоны │ │ Отправитель │ │
│ │ (HTML/CSS) │ │ (SMTP) │ │
│ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌───────────────┐
│ Пользователи │
└───────────────┘
```
### 数据流
1. **创建活动**:管理员通过 Web UI 创建活动
2. **分配目标**:将目标添加到活动中
3. **发送邮件**:系统通过 SMTP 发送钓鱼邮件
4. **用户交互**:目标接收并与邮件进行交互
5. **跟踪**:系统记录打开、点击和提交行为
6. **分析**:实时仪表板展示结果
## 🚀 安装说明
### 前置条件
- **Go**:1.21 或更高版本
- **SQLite**:3.x 版本
- **SMTP 服务器**:用于发送邮件(测试时为可选)
### 快速开始
```
# 克隆仓库
git clone https://github.com/yourusername/phishmind.git
cd phishmind
# 安装依赖
go mod download
# 初始化数据库
go run init_db.go
# 配置设置
cp config.example.json config.json
nano config.json
# 运行应用
go run main.go
```
### 从源码构建
```
# 编译 binary
go build -o phishmind
# 运行 binary
./phishmind
```
### Docker 部署(可选)
```
# 构建 Docker 镜像
docker build -t phishmind:latest .
# 运行容器
docker run -d -p 3333:3333 \
-v $(pwd)/phishmind.db:/app/phishmind.db \
-v $(pwd)/config.json:/app/config.json \
phishmind:latest
```
## ⚙️ 配置
### 配置文件 (`config.json`)
```
{
"server": {
"host": "0.0.0.0",
"port": "3333"
},
"database": {
"path": "./phishmind.db"
},
"smtp": {
"host": "smtp.gmail.com",
"port": 587,
"username": "your-email@gmail.com",
"password": "your-app-password",
"from": "security@yourcompany.com"
},
"admin": {
"username": "admin",
"password": "phishmind123"
}
}
```
### 配置 SMTP
#### 配置 Gmail
1. 开启双因素身份验证
2. 生成应用密码
3. 在配置中使用应用密码
#### 配置 Office 365
```
{
"smtp": {
"host": "smtp.office365.com",
"port": 587,
"username": "your-email@company.com",
"password": "your-password",
"from": "security@company.com"
}
}
```
#### 本地测试 (MailHog)
```
# 安装 MailHog
go install github.com/mailhog/MailHog@latest
# 运行 MailHog
MailHog
# 配置 PhishMind
{
"smtp": {
"host": "localhost",
"port": 1025,
"username": "",
"password": "",
"from": "test@phishmind.local"
}
}
```
## 📖 用户指南
### 步骤 1:访问控制面板
1. 打开浏览器:`http://localhost:3333`
2. 使用以下凭据登录:
- 用户名:`admin`
- 密码:`phishmind123`
### 步骤 2:创建活动
1. 点击 **“创建活动”** 按钮
2. 填写活动详情:
- **活动名称**:例如,“2026 年第二季度安全测试”
- **模板**:从下拉列表中选择(Microsoft、Facebook 等)
- **目标**:输入电子邮件地址(每行一个)
3. 点击 **“创建活动”**
### 步骤 3:监控结果
1. 点击活动卡片查看详情
2. 查看实时统计信息:
- 目标总数
- 已发送邮件
- 已打开邮件
- 链接点击次数
- 已提交凭据
3. 查看每个目标的结果
### 步骤 4:导出报告
```
# 将活动结果导出为 CSV
sqlite3 phishmind.db <
标签:DInvoke, Go, Ruby工具, Web平台, 后端开发, 安全测试, 攻击性安全, 日志审计, 请求拦截, 调试辅助