Levi1207/PhishMind

GitHub: Levi1207/PhishMind

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 и современных веб-технологиях, она предоставляет организациям мощный инструмент для оценки и улучшения их защиты от социальной инженерии. ### Ключевые цели - **Обучение безопасности**: Обучение сотрудников угрозам фишинга - **Оценка уязвимостей**: Выявление уязвимых пользователей в организации - **Тестирование соответствия**: Соответствие нормативным требованиям по обучению безопасности - **Метрики и аналитика**: Отслеживание и измерение улучшений в области безопасности ## ✨ Возможности ### Основной функционал #### 🎯 Управление кампаниями - Создание и управление несколькими фишинговыми кампаниями - Планирование кампаний на определенные временные рамки - Отслеживание жизненного цикла кампании (черновик → запущена → завершена) - Мониторинг кампаний в реальном времени #### 📧 Симуляция 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 <
标签:后端开发