🛡️ Монитор безопасности SharePoint v5.0

🚀 Комплексное решение для мониторинга безопасности SharePoint на базе PowerShell с защитой от CVE-2023-29357 и CVE-2023-33157, интеллектуальным управлением DLL, расширенным обнаружением угроз и автоматическими оповещениями.
📋 Содержание
🌟 Обзор проекта
Исходный PowerShell-скрипт объёмом 5 519 строк был усовершенствован до высокопроизводительного решения для мониторинга безопасности, оставаясь в экосистеме PowerShell. Несмотря на то, что это по-прежнему единый скрипт, в него внесены значительные улучшения модульности и функциональности.
✨ Ключевые возможности
🛡️ Функции безопасности
- 🔍 Защита от конкретных CVE: специализированное обнаружение CVE-2023-29357 и CVE-2023-33157
- 🧬 Интеллектуальное управление DLL: система автоматического одобрения с очередью на проверку
- 🎯 Обнаружение угроз в реальном времени: расширенная идентификация и отслеживание угроз
- 📊 Комплексное отслеживание атак: единая хронология атак с 20+ типами атак
- 🔐 Защита памяти LSASS: обнаружение попыток кражи учётных данных
- 🛡️ Обнаружение вмешательства в Defender: мониторинг отключения средств безопасности
- 📋 Мониторинг GPO: обнаружение подозрительных изменений групповых политик
- 🔄 Обнаружение отражающей инъекции DLL: расширенное обнаружение инъекций в память
- 🚨 Обнаружение программ-вымогателей: идентификация множества семейств вымогателей
- 🌐 Обнаружение C2-коммуникаций: мониторинг известных C2-доменов и IP-адресов
🏗️ Архитектурные особенности
- 📦 Улучшенная архитектура: единый оптимизированный скрипт с модульными функциями
- ⚡ Оптимизированная производительность: инкрементальное чтение журналов с умными закладками
- 🔄 Кэширование событий: эффективная фильтрация дублирующихся событий
- 💾 Умное кэширование: ежедневные файлы кэша с автоматической очисткой
- 📊 Управление эталонами: системы базовых эталонов DLL и целостности файлов
- 🔒 Многоуровневая безопасность: совместимость с ESET и Microsoft Defender
📢 Мониторинг и оповещения
- 📧 Умные email-оповещения: настраиваемые оповещения с параметром -NoAlertOnWarnings
- 📈 Улучшенные HTML-отчёты: полная хронология атак и статистика
- ⚙️ Управление запланированными задачами: автоматические сканирования ежечасно, ежедневно и при запуске
- 🔐 Детальный анализ атак: идентификация угроз по IP-адресам
- 📊 Показатели производительности: отслеживание времени выполнения и частоты попаданий в кэш
- 🎯 Управление ожидающими DLL: рабочий процесс проверки и одобрения DLL
🏗️ Архитектура решения
🔧 Основные компоненты
1️⃣ SharePoint-Security-Monitor.ps1 (основной скрипт)
- 🎯 Модульная точка входа с полной поддержкой параметров
- 🛡️ Механизмы обработки ошибок и восстановления
- 📊 Отчёт о ходе выполнения и отслеживание времени выполнения
- ⚡ Поддержка быстрого сканирования, создания эталонов и управления задачами
2️⃣ Основная функциональность (встроенные функции)
- 📝 Расширенное ведение журнала: отслеживание производительности с помощью функций-таймеров
- 🔬 Анализ DLL: интеллектуальный Test-SuspiciousDLL с автоматическим одобрением
- 🎯 Обнаружение угроз: сопоставление шаблонов и корреляция в реальном времени
- ⚙️ Конфигурация: конфигурация на основе JSON с безопасной обработкой
- 📊 Генерация отчётов: комплексные HTML-отчёты с хронологией атак
3️⃣ Система конфигурации
- 📋 SharePointSecurityConfig.json: готовая к продакшену конфигурация
- 🌍 Переопределения под конкретные среды (разработка, тестирование, продакшен)
- 🔐 Безопасная обработка учётных данных с поддержкой шифрования
4️⃣ Демонстрация и настройка
- 🎮 Demo-EnhancedScript.ps1: интерактивный демонстрационный скрипт
- 📊 Создание структуры с образцами данных
- ✅ Возможности проверки и тестирования модулей
🚀 Краткое руководство
📌 Базовое использование
# Standard security scan with email on alerts/warnings
.\SharePoint-Security-Monitor.ps1
# Standard scan with custom max days
.\SharePoint-Security-Monitor.ps1 -MaxDaysToScan 7
🎯 Типовые операции
# ⚡ Quick scan (last 12 hours)
.\SharePoint-Security-Monitor.ps1 -QuickScan
# 📐 Create DLL baseline
.\SharePoint-Security-Monitor.ps1 -CreateBaseline
# 👁️ Review and approve pending DLLs
.\SharePoint-Security-Monitor.ps1 -ReviewPendingDLLs
# 🤖 Auto-approve legitimate DLLs
.\SharePoint-Security-Monitor.ps1 -AutoApproveDLLs
# 🔍 Check SharePoint file integrity
.\SharePoint-Security-Monitor.ps1 -CheckIntegrity
# 📧 Force email alert
.\SharePoint-Security-Monitor.ps1 -ForceAlert
# 📊 Always send report regardless of findings
.\SharePoint-Security-Monitor.ps1 -AlwaysSendReport
# 🔕 Only alert on critical issues (not warnings)
.\SharePoint-Security-Monitor.ps1 -NoAlertOnWarnings
# 🗓️ Full historical scan (30 days)
.\SharePoint-Security-Monitor.ps1 -FullHistoricalScan
# 🔄 Reset log reading bookmarks
.\SharePoint-Security-Monitor.ps1 -ResetBookmarks
# 🗑️ Clear event cache
.\SharePoint-Security-Monitor.ps1 -ClearCache
# ⚙️ Manage scheduled tasks
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Install
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Status
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Remove
# 🚫 Disable event caching for debugging
.\SharePoint-Security-Monitor.ps1 -DisableEventCache
# 📏 Process larger log files (default 250MB)
.\SharePoint-Security-Monitor.ps1 -MaxLogSizeMB 500
# ✅ Auto-approve legitimate DLLs
.\SharePoint-Security-Monitor.ps1 -AutoApproveDLLs
📅 Управление задачами
# 📥 Install scheduled tasks
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Install
# 📊 Check task status
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Status
# 🗑️ Remove scheduled tasks
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Remove
🔬 Расширенные возможности
# 🔍 Verbose DLL analysis with auto-approval
.\SharePoint-Security-Monitor.ps1 -VerboseDLL -AutoApproveDLLs
# 🧹 Clear caches and reset bookmarks
.\SharePoint-Security-Monitor.ps1 -ClearCache -ResetBookmarks
📁 Структура файлов
📂 SharePoint Security Monitor/
├── 📄 SharePoint-Security-Monitor.ps1 # Main monitoring script
├── 🎮 Demo-EnhancedScript.ps1 # Demonstration script
├── ⚙️ SharePointSecurityConfig.json # Configuration file
├── 📋 README.md # Documentation
├── 📄 changelog-file.md # Version history
└── 📋 contributing-guide.md # Contribution guidelines
📂 Runtime Directories (auto-created)
├── Logs/ # Security logs
│ └── SecurityMonitor_YYYYMMDD.log # Daily log files
├── Reports/ # HTML reports
│ └── SecurityReport_YYYYMMDD_HHMMSS.html # Timestamped reports
├── Baselines/ # Baseline data
│ ├── DLL_Baseline.json # DLL inventory baseline
│ ├── SharePoint_Integrity.json # File integrity baseline
│ ├── PendingDLLApproval.json # DLLs awaiting approval
│ └── ApprovedDLLs.json # Whitelisted DLLs
├── Bookmarks/ # Log reading positions
│ └── LogReadingBookmarks.json # Incremental read tracking
└── Cache/ # Event processing cache
└── ProcessedEvents_YYYYMMDD.json # Daily event cache
🆕 Что нового в версии 5.0
🛡️ Расширенное обнаружение угроз
- 🔍 Реальная защита от CVE: обновлено для обнаружения CVE-2023-29357 и CVE-2023-33157 (реальные уязвимости)
- 🎯 Продвинутое отслеживание угроз: идентифицирует известные APT-группы и операторов программ-вымогателей
- 🔐 Обнаружение кражи учётных данных: мониторинг доступа к памяти LSASS с интеллектуальной фильтрацией процессов
- 🛡️ Мониторинг средств безопасности: обнаруживает вмешательство в Microsoft Defender и GPO
- 💉 Обнаружение отражающей инъекции DLL: отслеживает события CreateRemoteThread
- 🏷️ Комплексное отслеживание атак: единая хронология всех событий безопасности
🧬 Интеллектуальное управление DLL
- 🤖 Система автоматического одобрения: автоматически одобряет легитимные DLL, подписанные Microsoft
- 📋 Очередь на проверку: DLL, требующие ручной проверки, помещаются в очередь на одобрение
- ✅ Распознавание компонентов SharePoint: интеллектуальное обнаружение легитимных компонентов SharePoint ASP.NET
- 🔍 Улучшенная фильтрация: снижение ложных срабатываний за счёт интеллектуального сопоставления шаблонов
- 📊 Процедура одобрения: интерактивный процесс проверки с отслеживанием на основе хэшей
⚡ Оптимизация производительности
- 📚 Инкрементальное чтение журналов: система закладок отслеживает последнюю прочитанную позицию в журналах
- 💾 Кэширование событий: ежедневные файлы кэша предотвращают повторную обработку событий
- 🧠 Умная логика пропуска: неизменённые журналы пропускаются автоматически
- 📊 Отслеживание попаданий в кэш: показатели производительности отражают эффективность кэша
- 🧹 Автоматическая очистка: старые файлы кэша и журналов удаляются автоматически
📊 Улучшенные отчёты
- 📈 Хронология атак: полное хронологическое представление всех атак
- 🎯 Анализ типов атак: статистическая разбивка по категориям атак
- 🌐 Анализ на основе IP: детальное отслеживание и корреляция IP-адресов атакующих
- 📊 Сводная панель для руководства: метрики безопасности с первого взгляда
- 🔍 Детальная детализация: полные сведения об атаках с атрибуцией угроз
🔧 Эксплуатационные возможности
- 📅 Автоматическое управление задачами: встроенная установка и управление запланированными задачами
- 🔄 Гибкие режимы сканирования: быстрое (12 ч), стандартное (настраиваемое), полное историческое (30 дн.)
- 📧 Умные email-оповещения: настраиваемые оповещения с параметром -NoAlertOnWarnings
- 🧪 Совместимость с ESET: интеллектуальное распознавание ESET и Microsoft Defender
- 🔒 Системы эталонов: проверка эталона DLL и целостности файлов SharePoint
🆕 Ключевые улучшения по сравнению с оригинальной v3.9
⚡ Улучшения производительности
- 📦 Оптимизированная архитектура: улучшенный скрипт объёмом 4 823 строки с модульными функциями
- 💾 Система кэширования: кэширование событий и закладки журналов для инкрементальной обработки
- 🔄 Параллельная обработка: многопоточный анализ больших наборов данных
- 🧠 Оптимизация памяти: настраиваемые лимиты памяти и кэширование со сжатием
- 📊 Отчёт о ходе выполнения: обратная связь в реальном времени для длительных операций
🔬 Расширенная система анализа DLL
- ✍️ Проверка подписи: проверка цифровых сертификатов и анализ доверия
- 🧬 Поведенческий анализ: анализ импортируемых API и вычисление энтропии
- 🤖 Машинное обучение: алгоритм оценки угроз с уровнями уверенности
- 📐 Управление эталонами: автоматическое создание и сравнение эталонов
- ✅ Процедура одобрения: интерактивный процесс проверки подозрительных DLL
- 🎯 Распознавание шаблонов: идентификация легитимных и вредоносных DLL
🛡️ Расширенное обнаружение угроз
- 🔍 Шаблоны под конкретные CVE: обнаружение CVE-2025-53770 и уязвимостей обхода защиты
- 👤 Инструменты угроз: распознавание известных инструментов и методов атак
- 🔗 Корреляционный анализ: обнаружение многовекторных атак в пределах временных окон
- ⚡ Обработка в реальном времени: инкрементальное чтение журналов с закладками
- 🎨 Пользовательские шаблоны: расширяемые определения шаблонов угроз
- ⏰ Анализ хронологии: корреляция событий в настраиваемых временных окнах
⚙️ Управление конфигурацией
- 🌍 Поддержка сред: конфигурации для разработки, тестирования и продакшена
- ✅ Система валидации: комплексная проверка конфигурации
- 🔐 Безопасное хранение: обработка конфиденциальных данных с шифрованием
- 💾 Резервное копирование/восстановление: автоматическое версионирование конфигурации
- 📋 Генерация шаблонов: создание шаблонов конфигурации
📊 Комплексные отчёты
- 🌐 HTML-отчёты: интерактивные отчёты со стилями CSS и адаптивным дизайном
- 📄 Несколько форматов: экспорт в JSON, CSV и в будущем PDF
- 👔 Сводка для руководства: оценка рисков и ключевые выводы для руководства
- 🔧 Технические детали: детальный анализ для команд безопасности
- 📈 Диаграммы и графики: визуальные тренды угроз и аналитические диаграммы
- ⚡ Показатели производительности: время выполнения и использование системных ресурсов
⚙️ Технические характеристики
📦 Сводка функций модулей
📝 SecurityLogger.psm1
Initialize-SecurityLogger: настройка системы ведения журнала
Write-SecurityLog: запись структурированных записей журнала
Get-SecurityLogs: получение отфильтрованных журналов
Export-SecurityLogs: экспорт журналов в нескольких форматах
Close-SecurityLogger: очистка ресурсов журналирования
🔬 DLLAnalyzer.psm1
Start-DLLAnalysis: комплексный анализ DLL
Analyze-DLLFile: анализ отдельного файла
Create-DLLBaseline: создание эталона
Review-PendingDLLs: интерактивный процесс одобрения
🎯 ThreatDetector.psm1
Start-ThreatDetection: анализ угроз по нескольким шаблонам
Analyze-LogPath: обработка каталогов журналов
Analyze-LogFile: обработка отдельного файла журнала
Invoke-ThreatCorrelation: корреляция шаблонов атак
Reset-LogBookmarks: очистка закладок обработки
Clear-EventCache: сброс кэша событий
⚙️ ConfigManager.psm1
Initialize-SecurityConfig: загрузка и проверка конфигурации
Import-SecurityConfig: импорт из JSON-файлов
Export-SecurityConfig: сохранение конфигурации с шифрованием
Test-SecurityConfig: проверка целостности конфигурации
Get-ConfigValue: получение значений конфигурации
Set-ConfigValue: обновление значений конфигурации
New-ConfigTemplate: генерация шаблонов конфигурации
Backup-SecurityConfig: создание резервных копий конфигурации
📊 ReportGenerator.psm1
New-SecurityReport: генерация комплексных отчётов
Prepare-ReportData: обработка и анализ результатов
New-HTMLReport: создание интерактивных HTML-отчётов
⚙️ Категории конфигурации
- 📧 EmailSettings: SMTP-конфигурация и настройки оповещений
- 🔍 ScanSettings: параметры сканирования и настройка производительности
- 🔬 DLLAnalysisSettings: поведение анализа DLL и пороговые значения
- 🎯 ThreatDetectionSettings: настройки шаблонов угроз и корреляции
- 📝 LoggingSettings: уровень журналирования, формат и политики хранения
- ⚡ PerformanceSettings: лимиты памяти и оптимизация обработки
- 🔐 SecuritySettings: требования к шифрованию и привилегиям
- 📅 ScheduledTaskSettings: конфигурация автоматического выполнения
- 🚨 AlertingSettings: оповещения в реальном времени и правила эскалации
- 📊 ReportingSettings: параметры генерации и форматирования отчётов
🔧 Развёртывание и установка
📋 Предварительные требования
- ✅ Windows PowerShell 5.1 или PowerShell Core 6.0+
- ✅ Среда SharePoint 2019 или SharePoint Online
- ✅ Права администратора для полной функциональности
- ✅ Доступ к SMTP-серверу для email-оповещений (необязательно)
📥 Шаги установки
- 📂 Извлеките все файлы в защищённый каталог
- ⚙️ Просмотрите и настройте
SharePointSecurityConfig.json
- 🎮 Запустите демонстрацию:
.\Demo-EnhancedScript.ps1 -CreateSampleData
- 📐 Создайте эталон DLL:
.\SharePoint-Security-Monitor.ps1 -CreateBaseline
- 📅 Установите запланированные задачи:
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Install
- 🔍 Выполните первоначальное сканирование:
.\SharePoint-Security-Monitor.ps1
🔐 Рекомендации по безопасности
- 👤 Запускайте с соответствующими правами администратора
- 🔒 Храните файлы конфигурации в защищённых местах
- 🔐 Используйте зашифрованное хранение конфиденциальных учётных данных
- 🛡️ Обеспечьте надлежащий контроль доступа к файлам журналов
- 💾 Регулярно создавайте резервные копии конфигурации и эталонных данных
⚙️ Конфигурация
Отредактируйте SharePointSecurityConfig.json, чтобы настроить:
- 📧 Настройки электронной почты (SMTP-сервер, получатели)
- 🔍 Параметры сканирования (временные диапазоны, лимиты размера файлов)
- 🎯 Пороговые значения безопасности и уровни оповещений
- ⚡ Настройки оптимизации производительности
- 🛡️ Шаблоны обнаружения угроз и правила корреляции
📧 Настройка электронной почты
Скрипт предварительно настроен на отправку оповещений:
🚪 Коды выхода
- ✅ 0: Проблемы безопасности не обнаружены
- ⚠️ 1: Обнаружены предупреждения
- 🚨 2: Обнаружены критические проблемы безопасности
- ❌ 99: Ошибка выполнения скрипта
🎯 Достигнутые преимущества
👥 Для команд безопасности
- ⚡ Более быстрый анализ: модульная архитектура обеспечивает точечный анализ конкретных угроз
- 👁️ Лучшая наблюдаемость: комплексные отчёты с визуальными диаграммами и трендами
- 🎯 Снижение ложных срабатываний: скоринг на основе ML и поведенческий анализ
- 🔄 Оптимизированный рабочий процесс: автоматизированные процессы одобрения и управление задачами
🔧 Для системных администраторов
- 🛠️ Проще обслуживание: модульная архитектура упрощает обновления и настройку
- ⚡ Лучшая производительность: оптимизированные алгоритмы и кэширование снижают использование ресурсов
- ⚙️ Гибкая конфигурация: настройки под конкретные среды и валидация
- 🤖 Автоматизированные операции: запланированные задачи и автоматическое управление эталонами
👔 Для руководства
- 📊 Отчётность для руководства: понятная оценка рисков и сводка ключевых выводов
- ✅ Поддержка соответствия требованиям: детальные журналы аудита и полная документация
- 💰 Экономическая эффективность: меньше ручного труда и более быстрое реагирование на инциденты
- 📈 Прозрачность рисков: оценка уровня угроз в реальном времени и анализ трендов
📅 История версий
- 🆕 v4.0: модульная архитектура со специализированными модулями, скоринг угроз на основе ML и улучшенные отчёты
- 📦 v3.9: улучшенная валидация DLL и анализ шаблонов (оригинальный комплексный однофайловый скрипт)
- 🔄 v3.8: рабочие процессы автоматического одобрения и детальные отчёты об атаках
🔮 Возможности будущих улучшений
- 🤖 Интеграция машинного обучения: продвинутые ML-модели для прогнозирования угроз
- ☁️ Облачная интеграция: интеграция с центром безопасности Azure/Office 365
- 🔌 Разработка API: REST API для интеграции с внешними системами
- 📱 Мобильная панель: интерфейс отчётов, адаптированный для мобильных устройств
- 🌐 Каналы threat intelligence: интеграция с коммерческими источниками данных об угрозах
- 🤖 Автоматическое реагирование: автоматические действия по сдерживанию и устранению угроз
📄 Лицензия
Этот проект предназначен для мониторинга безопасности SharePoint и обнаружения угроз.
💬 Поддержка
По вопросам технической поддержки и инцидентам безопасности обращайтесь: [email protected]
🛡️ Защищаем среды SharePoint с 2024 года 🛡️
Сделано с ❤️ командой Security Operations Center