Levi1207/PhishMind

GitHub: Levi1207/PhishMind

PhishMind 是一个基于 Go 构建的钓鱼攻击模拟平台,用于企业授权安全测试和员工反钓鱼意识培训。

Stars: 1 | Forks: 0

# PhishMind - 钓鱼攻击模拟平台 ![PhishMind Logo](https://img.shields.io/badge/PhishMind-Security%20Testing-red?style=for-the-badge) ![Go Version](https://img.shields.io/badge/Go-1.21+-00ADD8?style=for-the-badge&logo=go) ![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge) ## 📋 目录 - [概述](#обзор) - [功能](#возможности) - [架构](#архитектура) - [安装说明](#установка) - [配置](#конфигурация) - [用户指南](#руководство-пользователя) - [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平台, 后端开发, 安全测试, 攻击性安全, 日志审计, 请求拦截, 调试辅助