🛡️ SharePoint Security Monitor v5.0

🚀 Eine umfassende, auf PowerShell basierende SharePoint-Sicherheitsüberwachungslösung mit Schutz vor CVE-2023-29357 und CVE-2023-33157, intelligentem DLL-Management, erweiterter Bedrohungserkennung und automatisierten Warnfunktionen.
📋 Inhaltsverzeichnis
🌟 Projektübersicht
Das ursprüngliche PowerShell-Skript mit 5.519 Zeilen wurde zu einer leistungsstarken Sicherheitsüberwachungslösung ausgebaut und bleibt dabei im PowerShell-Ökosystem. Obwohl es sich weiterhin um ein einzelnes Skript handelt, enthält es erhebliche Verbesserungen bei Modularität und Funktionalität.
✨ Hauptfunktionen
🛡️ Sicherheitsfunktionen
- 🔍 CVE-spezifischer Schutz: Dedizierte Erkennung für CVE-2023-29357 und CVE-2023-33157
- 🧬 Intelligentes DLL-Management: Automatisches Freigabesystem mit Warteschlange für ausstehende Prüfungen
- 🎯 Echtzeit-Bedrohungserkennung: Erweiterte Identifizierung und Nachverfolgung von Bedrohungsakteuren
- 📊 Umfassende Angriffsverfolgung: Einheitliche Angriffszeitachse mit 20+ Angriffstypen
- 🔐 LSASS-Speicherschutz: Erkennung von Versuchen, Anmeldeinformationen zu stehlen
- �️ Defender-Manipulationserkennung: Überwachung auf Deaktivierung von Sicherheitssoftware
- 📋 GPO-Überwachung: Erkennung verdächtiger Änderungen an Gruppenrichtlinien
- 🔄 Erkennung reflektiver DLL-Injektion: Erweiterte Erkennung von Speicherinjektionen
- 🚨 Ransomware-Erkennung: Identifizierung mehrerer Ransomware-Familien
- 🌐 C2-Kommunikationserkennung: Überwachung bekannter C2-Domänen und -IPs
🏗️ Architekturmerkmale
- 📦 Erweiterte Architektur: Ein einziges optimiertes Skript mit modularen Funktionen
- ⚡ Leistungsoptimiert: Inkrementelles Lesen von Protokollen mit intelligenten Lesezeichen
- 🔄 Ereignis-Caching: Effiziente Filterung doppelter Ereignisse
- 💾 Intelligentes Caching: Tägliche Cache-Dateien mit automatischer Bereinigung
- 📊 Baseline-Verwaltung: Baseline-Systeme für DLL- und Dateiintegrität
- 🔒 Mehrschichtige Sicherheit: Kompatibilität mit ESET und Microsoft Defender
📢 Überwachung & Warnmeldungen
- 📧 Intelligente E-Mail-Benachrichtigungen: Konfigurierbare Warnmeldungen mit der Option -NoAlertOnWarnings
- 📈 Erweiterte HTML-Berichte: Umfassende Angriffszeitachse und Statistiken
- ⚙️ Verwaltung geplanter Aufgaben: Automatisierte stündliche, tägliche und Start-Scans
- 🔐 Detaillierte Angriffsanalyse: IP-basierte Identifizierung von Bedrohungsakteuren
- 📊 Leistungskennzahlen: Verfolgung der Ausführungszeit und Cache-Trefferraten
- 🎯 Verwaltung ausstehender DLLs: Prüf- und Freigabeworkflow für DLLs
🏗️ Lösungsarchitektur
🔧 Kernkomponenten
1️⃣ SharePoint-Security-Monitor.ps1 (Hauptskript)
- 🎯 Modularer Einstiegspunkt mit umfassender Parameterunterstützung
- 🛡️ Fehlerbehandlung und Wiederherstellungsmechanismen
- 📊 Fortschrittsberichte und Verfolgung der Ausführungszeit
- ⚡ Unterstützung für Schnellscans, Baseline-Erstellung und Aufgabenverwaltung
2️⃣ Kernfunktionalität (Integrierte Funktionen)
- 📝 Erweiterte Protokollierung: Leistungsverfolgung mit Timer-Funktionen
- 🔬 DLL-Analyse: Intelligentes Test-SuspiciousDLL mit automatischer Freigabe
- 🎯 Bedrohungserkennung: Echtzeit-Musterabgleich und Korrelation
- ⚙️ Konfiguration: JSON-basierte Konfiguration mit sicherer Handhabung
- 📊 Berichtserstellung: Umfassende HTML-Berichte mit Angriffszeitachse
3️⃣ Konfigurationssystem
- 📋 SharePointSecurityConfig.json: Produktionsreife Konfiguration
- 🌍 Umgebungsspezifische Überschreibungen (Entwicklung, Test, Produktion)
- 🔐 Sichere Handhabung von Anmeldedaten mit Verschlüsselungsunterstützung
4️⃣ Demonstration und Einrichtung
- 🎮 Demo-EnhancedScript.ps1: Interaktives Demonstrationsskript
- 📊 Erstellung von Beispieldatenstrukturen
- ✅ Modulprüfung und Testfunktionen
🚀 Schnellstartanleitung
📌 Grundlegende Verwendung
# Standard security scan with email on alerts/warnings
.\SharePoint-Security-Monitor.ps1
# Standard scan with custom max days
.\SharePoint-Security-Monitor.ps1 -MaxDaysToScan 7
🎯 Häufige Operationen
# ⚡ 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
📅 Aufgabenverwaltung
# 📥 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
🔬 Erweiterte Funktionen
# 🔍 Verbose DLL analysis with auto-approval
.\SharePoint-Security-Monitor.ps1 -VerboseDLL -AutoApproveDLLs
# 🧹 Clear caches and reset bookmarks
.\SharePoint-Security-Monitor.ps1 -ClearCache -ResetBookmarks
📁 Dateistruktur
📂 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
🆕 Neuerungen in Version 5.0
🛡️ Verbesserte Sicherheitserkennung
- 🔍 Realer CVE-Schutz: Aktualisiert zur Erkennung von CVE-2023-29357 und CVE-2023-33157 (reale Schwachstellen)
- 🎯 Erweiterte Verfolgung von Bedrohungsakteuren: Identifiziert bekannte APT-Gruppen und Ransomware-Betreiber
- 🔐 Erkennung von Anmeldedatendiebstahl: Überwachung des LSASS-Speicherzugriffs mit intelligenter Prozessfilterung
- 🛡️ Überwachung der Sicherheitssoftware: Erkennt Manipulationen an Microsoft Defender und GPO
- 💉 Erkennung reflektiver DLL-Injektion: Überwacht CreateRemoteThread-Ereignisse
- 🏷️ Umfassende Angriffsverfolgung: Einheitliche Zeitachse aller Sicherheitsereignisse
🧬 Intelligentes DLL-Management
- 🤖 Automatisches Freigabesystem: Genehmigt automatisch legitime, von Microsoft signierte DLLs
- 📋 Warteschlange für ausstehende Prüfungen: DLLs, die eine manuelle Prüfung erfordern, werden zur Freigabe vorgemerkt
- ✅ Erkennung von SharePoint-Komponenten: Intelligente Erkennung legitimer SharePoint-ASP.NET-Komponenten
- 🔍 Verbesserte Filterung: Weniger Fehlalarme durch intelligenten Musterabgleich
- 📊 Freigabeworkflow: Interaktiver Prüfprozess mit hashbasierter Nachverfolgung
⚡ Leistungsoptimierungen
- 📚 Inkrementelles Protokolllesen: Ein Lesezeichen-System verfolgt die letzte Leseposition in Protokollen
- 💾 Ereignis-Caching: Tägliche Cache-Dateien verhindern die doppelte Verarbeitung von Ereignissen
- � Intelligente Überspringlogik: Unveränderte Protokolle werden automatisch übersprungen
- 📊 Cache-Treffer-Verfolgung: Leistungskennzahlen zeigen die Cache-Effizienz
- 🧹 Automatische Bereinigung: Alte Cache- und Protokolldateien werden automatisch entfernt
📊 Erweiterte Berichterstattung
- 📈 Angriffszeitachse: Vollständige chronologische Ansicht aller Angriffe
- 🎯 Analyse der Angriffstypen: Statistische Aufschlüsselung nach Angriffskategorie
- 🌐 IP-basierte Analyse: Detaillierte Verfolgung und Korrelation von Angreifer-IPs
- 📊 Executive-Dashboard: Sicherheitskennzahlen auf einen Blick
- 🔍 Detaillierte Drill-down-Ansicht: Umfassende Angriffsdetails mit Zuordnung zu Bedrohungsakteuren
🔧 Betriebliche Funktionen
- 📅 Automatisierte Aufgabenverwaltung: Integrierte Installation und Verwaltung geplanter Aufgaben
- 🔄 Flexible Scan-Modi: Schnell (12 h), Standard (konfigurierbar), Vollständiger historischer Scan (30 Tage)
- 📧 Intelligente E-Mail-Benachrichtigungen: Konfigurierbare Warnmeldungen mit der Option -NoAlertOnWarnings
- 🧪 ESET-Kompatibilität: Intelligente Erkennung von ESET im Vergleich zu Microsoft Defender
- 🔒 Baseline-Systeme: DLL-Baseline und Prüfung der SharePoint-Dateiintegrität
🆕 Wichtige Verbesserungen gegenüber der ursprünglichen Version v3.9
⚡ Leistungsverbesserungen
- 📦 Optimiertes Design: Verbessertes Skript mit 4.823 Zeilen und modularen Funktionen
- 💾 Caching-System: Ereignis-Caching und Protokoll-Lesezeichen für die inkrementelle Verarbeitung
- 🔄 Parallele Verarbeitung: Multithread-Analyse für große Datensätze
- 🧠 Speicheroptimierung: Konfigurierbare Speicherlimits und Komprimierungs-Caching
- 📊 Fortschrittsberichte: Echtzeit-Feedback bei langlebigen Vorgängen
🔬 Erweitertes DLL-Analysesystem
- ✍️ Signaturvalidierung: Prüfung digitaler Zertifikate und Vertrauensanalyse
- 🧬 Verhaltensanalyse: Analyse von API-Importen und Entropieberechnung
- 🤖 Maschinelles Lernen: Bedrohungsbewertungsalgorithmus mit Konfidenzniveaus
- 📐 Baseline-Verwaltung: Automatisierte Erstellung und Vergleich von Baselines
- ✅ Freigabeworkflow: Interaktiver Prüfprozess für verdächtige DLLs
- 🎯 Mustererkennung: Unterscheidung legitimer und schädlicher DLLs
🛡️ Verbesserte Bedrohungserkennung
- 🔍 CVE-spezifische Muster: Erkennung von CVE-2025-53770 und Bypass-Schwachstellen
- 👤 Tools von Bedrohungsakteuren: Erkennung bekannter Angriffswerkzeuge und -techniken
- 🔗 Korrelationsanalyse: Erkennung von Multi-Vektor-Angriffen über Zeitfenster hinweg
- ⚡ Echtzeitverarbeitung: Inkrementelles Protokolllesen mit Lesezeichen
- 🎨 Benutzerdefinierte Muster: Erweiterbare Definitionen von Bedrohungsmustern
- ⏰ Zeitachsenanalyse: Ereigniskorrelation innerhalb konfigurierbarer Zeitfenster
⚙️ Konfigurationsverwaltung
- 🌍 Umgebungsunterstützung: Konfigurationen für Entwicklung, Test und Produktion
- ✅ Validierungssystem: Umfassende Konfigurationsvalidierung
- 🔐 Sichere Speicherung: Verschlüsselte Handhabung sensibler Daten
- 💾 Backup/Wiederherstellung: Automatische Konfigurationsversionierung
- 📋 Vorlagengenerierung: Erstellung von Konfigurationsvorlagen
📊 Umfassende Berichterstattung
- 🌐 HTML-Berichte: Interaktive Berichte mit CSS-Styling und responsivem Design
- 📄 Mehrere Formate: JSON-, CSV- und zukünftige PDF-Exportfunktionen
- 👔 Management-Zusammenfassung: Risikobewertung und wichtigste Ergebnisse für das Management
- 🔧 Technische Details: Detaillierte Analyse für Sicherheitsteams
- 📈 Diagramme & Grafiken: Visuelle Bedrohungstrends und Analysediagramme
- ⚡ Leistungskennzahlen: Ausführungszeit und Systemressourcennutzung
⚙️ Technische Spezifikationen
📦 Übersicht der Modulfunktionen
📝 SecurityLogger.psm1
Initialize-SecurityLogger: Protokollierungssystem einrichten
Write-SecurityLog: Strukturierte Protokolleinträge schreiben
Get-SecurityLogs: Gefilterte Protokolle abrufen
Export-SecurityLogs: Protokolle in mehreren Formaten exportieren
Close-SecurityLogger: Protokollierungsressourcen bereinigen
🔬 DLLAnalyzer.psm1
Start-DLLAnalysis: Umfassende DLL-Analyse
Analyze-DLLFile: Einzeldateianalyse
Create-DLLBaseline: Erstellung einer Baseline
Review-PendingDLLs: Interaktiver Freigabeprozess
🎯 ThreatDetector.psm1
Start-ThreatDetection: Multimuster-Bedrohungsanalyse
Analyze-LogPath: Protokollverzeichnisse verarbeiten
Analyze-LogFile: Verarbeitung einzelner Protokolldateien
Invoke-ThreatCorrelation: Korrelation von Angriffsmustern
Reset-LogBookmarks: Verarbeitungs-Lesezeichen löschen
Clear-EventCache: Ereignis-Cache zurücksetzen
⚙️ ConfigManager.psm1
Initialize-SecurityConfig: Konfiguration laden und validieren
Import-SecurityConfig: Aus JSON-Dateien importieren
Export-SecurityConfig: Konfiguration mit Verschlüsselung speichern
Test-SecurityConfig: Integrität der Konfiguration validieren
Get-ConfigValue: Konfigurationswerte abrufen
Set-ConfigValue: Konfigurationswerte aktualisieren
New-ConfigTemplate: Konfigurationsvorlagen erstellen
Backup-SecurityConfig: Konfigurationssicherungen erstellen
📊 ReportGenerator.psm1
New-SecurityReport: Umfassende Berichte erstellen
Prepare-ReportData: Ergebnisse verarbeiten und analysieren
New-HTMLReport: Interaktive HTML-Berichte erstellen
⚙️ Konfigurationskategorien
- 📧 EmailSettings: SMTP-Konfiguration und Benachrichtigungseinstellungen
- 🔍 ScanSettings: Scan-Parameter und Leistungsoptimierung
- 🔬 DLLAnalysisSettings: DLL-Analyseverhalten und Schwellenwerte
- 🎯 ThreatDetectionSettings: Einstellungen für Bedrohungsmuster und Korrelation
- 📝 LoggingSettings: Protokollstufe, Format und Aufbewahrungsrichtlinien
- ⚡ PerformanceSettings: Speicherlimits und Verarbeitungsoptimierung
- 🔐 SecuritySettings: Verschlüsselungs- und Berechtigungsanforderungen
- 📅 ScheduledTaskSettings: Konfiguration der automatischen Ausführung
- 🚨 AlertingSettings: Echtzeit-Warnmeldungen und Eskalationsregeln
- 📊 ReportingSettings: Optionen für Berichtserstellung und Formatierung
🔧 Bereitstellung und Einrichtung
📋 Voraussetzungen
- ✅ Windows PowerShell 5.1 oder PowerShell Core 6.0+
- ✅ SharePoint 2019- oder SharePoint Online-Umgebung
- ✅ Administratorrechte für die volle Funktionalität
- ✅ SMTP-Serverzugriff für E-Mail-Benachrichtigungen (optional)
📥 Installationsschritte
- 📂 Alle Dateien in ein sicheres Verzeichnis extrahieren
- ⚙️
SharePointSecurityConfig.json prüfen und anpassen
- 🎮 Demonstration ausführen:
.\Demo-EnhancedScript.ps1 -CreateSampleData
- 📐 DLL-Baseline erstellen:
.\SharePoint-Security-Monitor.ps1 -CreateBaseline
- 📅 Geplante Aufgaben installieren:
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Install
- 🔍 Ersten Scan durchführen:
.\SharePoint-Security-Monitor.ps1
🔐 Sicherheitshinweise
- 👤 Mit geeigneten Administratorrechten ausführen
- 🔒 Konfigurationsdateien an sicheren Orten aufbewahren
- 🔐 Verschlüsselte Speicherung für sensible Anmeldedaten verwenden
- 🛡️ Geeignete Zugriffskontrollen für Protokolldateien implementieren
- 💾 Regelmäßige Sicherung von Konfigurationsdaten und Baselines
⚙️ Konfiguration
Bearbeiten Sie SharePointSecurityConfig.json, um Folgendes anzupassen:
- 📧 E-Mail-Einstellungen (SMTP-Server, Empfänger)
- 🔍 Scan-Parameter (Zeiträume, Dateigrößenlimits)
- 🎯 Sicherheitsschwellenwerte und Warnstufen
- ⚡ Einstellungen zur Leistungsoptimierung
- 🛡️ Bedrohungserkennungsmuster und Korrelationsregeln
📧 E-Mail-Konfiguration
Das Skript ist vorkonfiguriert, um Warnmeldungen an folgende Adressen zu senden:
🚪 Exit-Codes
- ✅ 0: Keine Sicherheitsprobleme erkannt
- ⚠️ 1: Warnungen erkannt
- 🚨 2: Kritische Sicherheitsprobleme erkannt
- ❌ 99: Fehler bei der Skriptausführung
🎯 Erzielte Vorteile
👥 Für Sicherheitsteams
- ⚡ Schnellere Analyse: Das modulare Design ermöglicht eine gezielte Analyse bestimmter Bedrohungen
- 👁️ Bessere Transparenz: Umfassende Berichterstattung mit visuellen Diagrammen und Trends
- 🎯 Weniger Fehlalarme: ML-basierte Bewertung und Verhaltensanalyse
- 🔄 Optimierter Workflow: Automatisierte Freigabeprozesse und Aufgabenverwaltung
🔧 Für Systemadministratoren
- 🛠️ Einfachere Wartung: Die modulare Architektur vereinfacht Updates und Anpassungen
- ⚡ Bessere Leistung: Optimierte Algorithmen und Caching reduzieren die Ressourcennutzung
- ⚙️ Flexible Konfiguration: Umgebungsspezifische Einstellungen und Validierung
- 🤖 Automatisierte Abläufe: Geplante Aufgaben und automatisiertes Baseline-Management
👔 Für das Management
- 📊 Management-Berichte: Klare Risikobewertung und Zusammenfassung der wichtigsten Ergebnisse
- ✅ Compliance-Unterstützung: Detaillierte Prüfprotokolle und umfassende Dokumentation
- 💰 Kosteneffizienz: Geringerer manueller Aufwand und schnellere Reaktion auf Vorfälle
- 📈 Risikotransparenz: Echtzeit-Bewertung des Bedrohungsniveaus und Trendanalyse
📅 Versionshistorie
- 🆕 v4.0: Modulare Architektur mit spezialisierten Modulen, ML-basierter Bedrohungsbewertung und erweiterter Berichterstattung
- 📦 v3.9: Erweiterte DLL-Validierung und Musteranalyse (ursprüngliches umfassendes Einzeldatei-Skript)
- 🔄 v3.8: Automatische Freigabeworkflows und detaillierte Angriffsberichte
🔮 Zukünftige Erweiterungsmöglichkeiten
- 🤖 Integration von maschinellem Lernen: Erweiterte ML-Modelle zur Bedrohungsvorhersage
- ☁️ Cloud-Integration: Integration in das Azure/Office 365 Security Center
- 🔌 API-Entwicklung: REST-API für die Integration mit externen Systemen
- 📱 Mobiles Dashboard: Mobile-freundliche Berichtsoberfläche
- 🌐 Threat-Intelligence-Feeds: Integration mit kommerziellen Threat-Intelligence-Diensten
- 🤖 Automatisierte Reaktion: Automatisierte Eindämmungs- und Abhilfemaßnahmen
📄 Lizenz
Dieses Projekt ist für die SharePoint-Sicherheitsüberwachung und Bedrohungserkennung konzipiert.
💬 Support
Für technischen Support und Sicherheitsvorfälle kontaktieren Sie: [email protected]
🛡️ Schutz von SharePoint-Umgebungen seit 2024 🛡️
Mit ❤️ erstellt vom Security Operations Center