Levi1207/PhishMind
GitHub: Levi1207/PhishMind
Stars: 1 | Forks: 0
# PhishMind - Платформа для симуляции фишинговых атак



## 📋 Содержание
- [Обзор](#обзор)
- [Возможности](#возможности)
- [Архитектура](#архитектура)
- [Установка](#установка)
- [Конфигурация](#конфигурация)
- [Руководство пользователя](#руководство-пользователя)
- [API Документация](#api-документация)
- [Безопасность](#безопасность)
- [Скриншоты](#скриншоты)
- [Технологический стек](#технологический-стек)
- [Структура проекта](#структура-проекта)
- [Юридическая информация](#юридическая-информация)
- [Лицензия](#лицензия)
## 🎯 Обзор
**PhishMind** - это профессиональная платформа для симуляции фишинговых атак, предназначенная для авторизованного тестирования безопасности и обучения сотрудников. Построенная на Go и современных веб-технологиях, она предоставляет организациям мощный инструмент для оценки и улучшения их защиты от социальной инженерии.
### Ключевые цели
- **Обучение безопасности**: Обучение сотрудников угрозам фишинга
- **Оценка уязвимостей**: Выявление уязвимых пользователей в организации
- **Тестирование соответствия**: Соответствие нормативным требованиям по обучению безопасности
- **Метрики и аналитика**: Отслеживание и измерение улучшений в области безопасности
## ✨ Возможности
### Основной функционал
#### 🎯 Управление кампаниями
- Создание и управление несколькими фишинговыми кампаниями
- Планирование кампаний на определенные временные рамки
- Отслеживание жизненного цикла кампании (черновик → запущена → завершена)
- Мониторинг кампаний в реальном времени
#### 📧 Симуляция email
- SMTP интеграция для доставки писем
- Настраиваемые шаблоны писем
- Пиксели отслеживания для определения открытия
- Персонализированный контент писем с переменными
#### 🎨 Шаблоны фишинговых страниц
- **5 готовых шаблонов**:
- Вход в Microsoft
- Вход в Facebook
- Вход в GitHub
- Вход в Instagram
- Вход в Google
- Точные копии оригинальных страниц входа
- Адаптивный дизайн для всех устройств
- Поддержка создания пользовательских шаблонов
#### 👥 Управление целями
- Импорт списков целей (CSV/ручной ввод)
- Хранение информации о целях (имя, email, должность)
- Массовые операции с целями
- Группировка и сегментация целей
#### 📊 Расширенная аналитика
- **Метрики в реальном времени**:
- Процент доставки email
- Отслеживание открытий
- Процент переходов по ссылкам
- Процент отправки учетных данных
- Индивидуальное отслеживание целей
- Логирование IP-адресов и User-Agent
- Временные метки для всех взаимодействий
- Экспортируемые отчеты
#### 🔐 Функции безопасности
- Аутентификация администратора
- Безопасное хранение учетных данных
- База данных SQLite с поддержкой шифрования
- Управление сессиями
- CSRF защита
## 🏗️ Архитектура
### Архитектура системы
┌─────────────────────────────────────────────────────────────┐
│ PhishMind │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌───────────┐ │
│ │ Web UI │◄────►│ REST API │◄────►│ Database │ │
│ │ (Frontend) │ │ (Go/Mux) │ │ (SQLite) │ │
│ └──────────────┘ └──────────────┘ └───────────┘ │
│ │ │ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Шаблоны │ │ Отправитель │ │
│ │ (HTML/CSS) │ │ (SMTP) │ │
│ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌───────────────┐
│ Пользователи │
└───────────────┘
### Поток данных
1. **Создание кампании**: Администратор создает кампанию через Web UI
2. **Назначение целей**: Цели добавляются в кампанию
3. **Доставка email**: Система отправляет фишинговые письма через SMTP
4. **Взаимодействие пользователя**: Цели получают и взаимодействуют с письмами
5. **Отслеживание**: Система логирует открытия, клики и отправки
6. **Аналитика**: Панель в реальном времени отображает результаты
## 🚀 Установка
### Требования
- **Go**: Версия 1.21 или выше
- **SQLite**: Версия 3.x
- **SMTP сервер**: Для доставки email (опционально для тестирования)
### Быстрый старт
# Клонировать репозиторий
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
### Сборка из исходников
# Собрать бинарник
go build -o phishmind
# Запустить бинарник
./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. Заполнить детали кампании:
- **Название кампании**: например, "Тест безопасности Q2 2026"
- **Шаблон**: Выбрать из выпадающего списка (Microsoft, Facebook и т.д.)
- **Цели**: Ввести email адреса (по одному на строку)
3. Нажать **"Создать кампанию"**
### Шаг 3: Мониторинг результатов
1. Нажать на карточку кампании для просмотра деталей
2. Просмотреть статистику в реальном времени:
- Всего целей
- Отправлено писем
- Открыто писем
- Переходов по ссылкам
- Отправлено учетных данных
3. Просмотреть результаты по каждой цели
### Шаг 4: Экспорт отчетов
# Экспорт результатов кампании в CSV
sqlite3 phishmind.db <
标签:后端开发