🛡️ SharePoint Security Monitor v5.0

🚀 Una soluzione completa di monitoraggio della sicurezza per SharePoint basata su PowerShell, con protezione da CVE-2023-29357 e CVE-2023-33157, gestione intelligente delle DLL, rilevamento avanzato delle minacce e funzionalità di avviso automatico.
📋 Indice
🌟 Panoramica del Progetto
Lo script PowerShell originale di 5.519 righe è stato potenziato in una soluzione di monitoraggio della sicurezza ad alte prestazioni, mantenendo l'ecosistema PowerShell. Sebbene sia ancora un singolo script, incorpora miglioramenti significativi in termini di modularità e funzionalità.
✨ Caratteristiche Principali
🛡️ Caratteristiche di Sicurezza
- 🔍 Protezione Specifica CVE: Rilevamento dedicato per CVE-2023-29357 e CVE-2023-33157
- 🧬 Gestione Intelligente delle DLL: Sistema di approvazione automatica con coda di revisione in sospeso
- 🎯 Rilevamento Minacce in Tempo Reale: Identificazione e tracciamento avanzato degli attori delle minacce
- 📊 Tracciamento Completo degli Attacchi: Cronologia unificata degli attacchi con oltre 20 tipologie
- 🔐 Protezione della Memoria LSASS: Rilevamento dei tentativi di furto di credenziali
- 🛡️ Rilevamento Manomissioni di Microsoft Defender: Monitoraggio della disabilitazione del software di sicurezza
- 📋 Monitoraggio GPO: Rilevamento di modifiche sospette ai Criteri di Gruppo
- 🔄 Rilevamento Iniezione Reflective DLL: Rilevamento avanzato di iniezione in memoria
- 🚨 Rilevamento Ransomware: Identificazione di molteplici famiglie di ransomware
- 🌐 Rilevamento Comunicazione C2: Monitoraggio di domini e IP C2 noti
🏗️ Caratteristiche Architetturali
- 📦 Architettura Migliorata: Singolo script ottimizzato con funzioni modulari
- ⚡ Ottimizzato per le Prestazioni: Lettura incrementale dei log con segnalibri intelligenti
- 🔄 Caching degli Eventi: Filtraggio efficiente degli eventi duplicati
- 💾 Smart Caching: File di cache giornalieri con pulizia automatica
- 📊 Gestione Baseline: Sistemi di baseline per DLL e integrità dei file
- 🔒 Sicurezza a Più Livelli: Compatibilità con ESET e Microsoft Defender
📢 Monitoraggio e Avvisi
- 📧 Avvisi Email Intelligenti: Avvisi configurabili con opzione -NoAlertOnWarnings
- 📈 Report HTML Migliorati: Cronologia completa degli attacchi e statistiche
- ⚙️ Gestione Attività Pianificate: Scansioni automatiche orarie, giornaliere e all'avvio
- 🔐 Analisi Dettagliata degli Attacchi: Identificazione degli attori delle minacce basata su IP
- 📊 Metriche delle Prestazioni: Tracciamento dei tempi di esecuzione e tassi di hit della cache
- 🎯 Gestione DLL in Sospeso: Flusso di lavoro di revisione e approvazione per le DLL
🏗️ Architettura della Soluzione
🔧 Componenti Principali
1️⃣ SharePoint-Security-Monitor.ps1 (Script Principale)
- 🎯 Punto di ingresso modulare con supporto completo dei parametri
- 🛡️ Meccanismi di gestione degli errori e ripristino
- 📊 Reporting dello stato di avanzamento e tracciamento dei tempi di esecuzione
- ⚡ Supporto per scansioni rapide, creazione di baseline e gestione delle attività
2️⃣ Funzionalità Principali (Funzioni Integrate)
- 📝 Registrazione Avanzata: Tracciamento delle prestazioni con funzioni timer
- 🔬 Analisi DLL: Test-SuspiciousDLL intelligente con approvazione automatica
- 🎯 Rilevamento Minacce: Corrispondenza pattern in tempo reale e correlazione
- ⚙️ Configurazione: Configurazione basata su JSON con gestione sicura
- 📊 Generazione Report: Report HTML completi con cronologia degli attacchi
3️⃣ Sistema di Configurazione
- 📋 SharePointSecurityConfig.json: Configurazione pronta per la produzione
- 🌍 Override specifici per ambiente (Sviluppo, Test, Produzione)
- 🔐 Gestione sicura delle credenziali con supporto alla crittografia
4️⃣ Dimostrazione e Configurazione
- 🎮 Demo-EnhancedScript.ps1: Script dimostrativo interattivo
- 📊 Creazione della struttura dati di esempio
- ✅ Verifica e test dei moduli
🚀 Guida Rapida
📌 Utilizzo Base
# Scansione di sicurezza standard con avviso email per allarmi/avvisi
.\SharePoint-Security-Monitor.ps1
# Scansione standard con numero massimo di giorni personalizzato
.\SharePoint-Security-Monitor.ps1 -MaxDaysToScan 7
🎯 Operazioni Comuni
# ⚡ Scansione rapida (ultime 12 ore)
.\SharePoint-Security-Monitor.ps1 -QuickScan
# 📐 Crea baseline DLL
.\SharePoint-Security-Monitor.ps1 -CreateBaseline
# 👁️ Rivedi e approva DLL in sospeso
.\SharePoint-Security-Monitor.ps1 -ReviewPendingDLLs
# 🤖 Approva automaticamente DLL legittime
.\SharePoint-Security-Monitor.ps1 -AutoApproveDLLs
# 🔍 Verifica integrità file SharePoint
.\SharePoint-Security-Monitor.ps1 -CheckIntegrity
# 📧 Forza avviso email
.\SharePoint-Security-Monitor.ps1 -ForceAlert
# 📊 Invia sempre report indipendentemente dai risultati
.\SharePoint-Security-Monitor.ps1 -AlwaysSendReport
# 🔕 Avvisa solo per problemi critici (non avvisi)
.\SharePoint-Security-Monitor.ps1 -NoAlertOnWarnings
# 🗓️ Scansione storica completa (30 giorni)
.\SharePoint-Security-Monitor.ps1 -FullHistoricalScan
# 🔄 Reimposta segnalibri lettura log
.\SharePoint-Security-Monitor.ps1 -ResetBookmarks
# 🗑️ Pulisci cache eventi
.\SharePoint-Security-Monitor.ps1 -ClearCache
# ⚙️ Gestisci attività pianificate
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Install
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Status
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Remove
# 🚫 Disabilita caching eventi per debug
.\SharePoint-Security-Monitor.ps1 -DisableEventCache
# 📏 Elabora file di log più grandi (default 250MB)
.\SharePoint-Security-Monitor.ps1 -MaxLogSizeMB 500
# ✅ Approva automaticamente DLL legittime
.\SharePoint-Security-Monitor.ps1 -AutoApproveDLLs
📅 Gestione Attività
# 📥 Installa attività pianificate
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Install
# 📊 Verifica stato attività
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Status
# 🗑️ Rimuovi attività pianificate
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Remove
🔬 Funzionalità Avanzate
# 🔍 Analisi DLL dettagliata con approvazione automatica
.\SharePoint-Security-Monitor.ps1 -VerboseDLL -AutoApproveDLLs
# 🧹 Pulisci cache e reimposta segnalibri
.\SharePoint-Security-Monitor.ps1 -ClearCache -ResetBookmarks
📁 Struttura dei File
📂 SharePoint Security Monitor/
├── 📄 SharePoint-Security-Monitor.ps1 # Script principale di monitoraggio
├── 🎮 Demo-EnhancedScript.ps1 # Script dimostrativo
├── ⚙️ SharePointSecurityConfig.json # File di configurazione
├── 📋 README.md # Documentazione
├── 📄 changelog-file.md # Storico versioni
└── 📋 contributing-guide.md # Linee guida per contribuire
📂 Directory di runtime (create automaticamente)
├── Logs/ # Log di sicurezza
│ └── SecurityMonitor_YYYYMMDD.log # File di log giornalieri
├── Reports/ # Report HTML
│ └── SecurityReport_YYYYMMDD_HHMMSS.html # Report con timestamp
├── Baselines/ # Dati baseline
│ ├── DLL_Baseline.json # Baseline inventario DLL
│ ├── SharePoint_Integrity.json # Baseline integrità file
│ ├── PendingDLLApproval.json # DLL in attesa di approvazione
│ └── ApprovedDLLs.json # DLL nella whitelist
├── Bookmarks/ # Posizioni di lettura log
│ └── LogReadingBookmarks.json # Tracciamento lettura incrementale
└── Cache/ # Cache elaborazione eventi
└── ProcessedEvents_YYYYMMDD.json # Cache eventi giornaliera
🆕 Novità nella Versione 5.0
🛡️ Rilevamento di Sicurezza Migliorato
- 🔍 Protezione Reale CVE: Aggiornato per rilevare CVE-2023-29357 e CVE-2023-33157 (vulnerabilità reali)
- 🎯 Tracciamento Avanzato Attori Minacce: Identifica gruppi APT noti e operatori ransomware
- 🔐 Rilevamento Furto Credenziali: Monitoraggio accesso memoria LSASS con filtraggio intelligente dei processi
- 🛡️ Monitoraggio Software di Sicurezza: Rileva manomissioni di Microsoft Defender e GPO
- 💉 Rilevamento Iniezione Reflective DLL: Monitora eventi CreateRemoteThread
- 🏷️ Tracciamento Completo Attacchi: Cronologia unificata di tutti gli eventi di sicurezza
🧬 Gestione Intelligente DLL
- 🤖 Sistema di Approvazione Automatica: Approva automaticamente DLL legittime firmate Microsoft
- 📋 Coda di Revisione In Sospeso: Le DLL che richiedono revisione manuale vengono messe in coda per l'approvazione
- ✅ Riconoscimento Componenti SharePoint: Riconoscimento intelligente dei componenti legittimi ASP.NET di SharePoint
- 🔍 Filtraggio Migliorato: Ridotti falsi positivi con corrispondenza pattern intelligente
- 📊 Flusso di Lavoro di Approvazione: Processo di revisione interattivo con tracciamento tramite hash
⚡ Ottimizzazioni delle Prestazioni
- 📚 Lettura Incrementale dei Log: Sistema di segnalibri tiene traccia dell'ultima posizione di lettura nei log
- 💾 Caching degli Eventi: I file di cache giornalieri prevengono l'elaborazione duplicata degli eventi
- 💡 Logica di Salto Intelligente: I log non modificati vengono automaticamente saltati
- 📊 Tracciamento Hit Cache: Le metriche delle prestazioni mostrano l'efficienza della cache
- 🧹 Pulizia Automatica: I vecchi file di cache e log vengono rimossi automaticamente
📊 Reportistica Migliorata
- 📈 Cronologia Attacchi: Vista cronologica completa di tutti gli attacchi
- 🎯 Analisi Tipologia Attacco: Suddivisione statistica per categoria di attacco
- 🌐 Analisi Basata su IP: Tracciamento e correlazione dettagliata degli IP degli attaccanti
- 📊 Dashboard Direzionale: Metriche di sicurezza a colpo d'occhio
- 🔍 Approfondimento Dettagliato: Dettagli completi dell'attacco con attribuzione agli attori delle minacce
🔧 Funzionalità Operative
- 📅 Gestione Automatica delle Attività: Installazione e gestione integrata delle attività pianificate
- 🔄 Modalità di Scansione Flessibili: Rapida (12h), Standard (configurabile), Storica Completa (30g)
- 📧 Avvisi Email Intelligenti: Avvisi configurabili con opzione -NoAlertOnWarnings
- 🧪 Compatibilità ESET: Rilevamento intelligente di ESET vs Microsoft Defender
- 🔒 Sistemi di Baseline: Baseline DLL e verifica integrità file SharePoint
🆕 Miglioramenti Chiave rispetto alla v3.9 Originale
⚡ Miglioramenti delle Prestazioni
- 📦 Design Ottimizzato: Script migliorato di 4.823 righe con funzioni modulari
- 💾 Sistema di Caching: Caching degli eventi e segnalibri di log per elaborazione incrementale
- 🔄 Elaborazione Parallela: Analisi multi-thread per grandi set di dati
- 🧠 Ottimizzazione della Memoria: Limiti di memoria configurabili e caching con compressione
- 📊 Reporting dello Stato di Avanzamento: Feedback in tempo reale sulle operazioni di lunga durata
🔬 Sistema Avanzato di Analisi DLL
- ✍️ Validazione della Firma: Verifica del certificato digitale e analisi della fiducia
- 🧬 Analisi Comportamentale: Analisi delle importazioni API e calcolo dell'entropia
- 🤖 Apprendimento Automatico: Algoritmo di punteggio delle minacce con livelli di confidenza
- 📐 Gestione Baseline: Creazione e confronto automatico delle baseline
- ✅ Flusso di Lavoro di Approvazione: Processo di revisione interattivo per DLL sospette
- 🎯 Riconoscimento Pattern: Identificazione di DLL legittime vs dannose
🛡️ Rilevamento Minacce Migliorato
- 🔍 Pattern Specifici CVE: Rilevamento per CVE-2025-53770 e vulnerabilità di bypass
- 👤 Strumenti degli Attori delle Minacce: Riconoscimento di strumenti e tecniche di attacco noti
- 🔗 Analisi di Correlazione: Rilevamento di attacchi multi-vettore su finestre temporali
- ⚡ Elaborazione in Tempo Reale: Lettura incrementale dei log con segnalibri
- 🎨 Pattern Personalizzati: Definizioni estensibili di pattern di minaccia
- ⏰ Analisi della Cronologia: Correlazione degli eventi entro finestre temporali configurabili
⚙️ Gestione della Configurazione
- 🌍 Supporto Ambienti: Configurazioni per Sviluppo, Test, Produzione
- ✅ Sistema di Validazione: Validazione completa della configurazione
- 🔐 Archiviazione Sicura: Gestione sicura dei dati sensibili con crittografia
- 💾 Backup/Ripristino: Versionamento automatico della configurazione
- 📋 Generazione Template: Creazione di template di configurazione
📊 Reportistica Completa
- 🌐 Report HTML: Report interattivi con stili CSS e design responsive
- 📄 Formati Multipli: Capacità di esportazione in JSON, CSV e futuri PDF
- 👔 Riepilogo Direzionale: Valutazione del rischio e risultati chiave per la dirigenza
- 🔧 Dettagli Tecnici: Analisi dettagliata per i team di sicurezza
- 📈 Grafici e Diagrammi: Tendenze visive delle minacce e grafici di analisi
- ⚡ Metriche delle Prestazioni: Tempo di esecuzione e utilizzo delle risorse di sistema
⚙️ Specifiche Tecniche
📦 Riepilogo Funzioni dei Moduli
📝 SecurityLogger.psm1
Initialize-SecurityLogger: Configura il sistema di registrazione
Write-SecurityLog: Scrive voci di log strutturate
Get-SecurityLogs: Recupera log filtrati
Export-SecurityLogs: Esporta log in più formati
Close-SecurityLogger: Pulisce le risorse di registrazione
🔬 DLLAnalyzer.psm1
Start-DLLAnalysis: Analisi completa delle DLL
Analyze-DLLFile: Analisi di singoli file
Create-DLLBaseline: Creazione della baseline
Review-PendingDLLs: Processo di approvazione interattivo
🎯 ThreatDetector.psm1
Start-ThreatDetection: Analisi delle minacce multi-pattern
Analyze-LogPath: Elaborazione delle directory di log
Analyze-LogFile: Elaborazione di singoli file di log
Invoke-ThreatCorrelation: Correlazione dei pattern di attacco
Reset-LogBookmarks: Cancella i segnalibri di elaborazione
Clear-EventCache: Reimposta la cache degli eventi
⚙️ ConfigManager.psm1
Initialize-SecurityConfig: Carica e valida la configurazione
Import-SecurityConfig: Importa da file JSON
Export-SecurityConfig: Salva la configurazione con crittografia
Test-SecurityConfig: Valida l'integrità della configurazione
Get-ConfigValue: Recupera valori di configurazione
Set-ConfigValue: Aggiorna valori di configurazione
New-ConfigTemplate: Genera template di configurazione
Backup-SecurityConfig: Crea backup della configurazione
📊 ReportGenerator.psm1
New-SecurityReport: Genera report completi
Prepare-ReportData: Elabora e analizza i risultati
New-HTMLReport: Crea report HTML interattivi
⚙️ Categorie di Configurazione
- 📧 EmailSettings: Configurazione SMTP e preferenze di avviso
- 🔍 ScanSettings: Parametri di scansione e ottimizzazione delle prestazioni
- 🔬 DLLAnalysisSettings: Comportamento e soglie dell'analisi DLL
- 🎯 ThreatDetectionSettings: Impostazioni dei pattern di minaccia e correlazione
- 📝 LoggingSettings: Livello del log, formato e politiche di conservazione
- ⚡ PerformanceSettings: Limiti di memoria e ottimizzazione dell'elaborazione
- 🔐 SecuritySettings: Requisiti di crittografia e privilegi
- 📅 ScheduledTaskSettings: Configurazione dell'esecuzione automatica
- 🚨 AlertingSettings: Avvisi in tempo reale e regole di escalation
- 📊 ReportingSettings: Opzioni di generazione e formattazione dei report
🔧 Distribuzione e Configurazione
📋 Prerequisiti
- ✅ Windows PowerShell 5.1 o PowerShell Core 6.0+
- ✅ Ambiente SharePoint 2019 o SharePoint Online
- ✅ Privilegi amministrativi per piena funzionalità
- ✅ Accesso al server SMTP per avvisi email (opzionale)
📥 Passaggi di Installazione
- 📂 Estrarre tutti i file in una directory sicura
- ⚙️ Rivedere e personalizzare
SharePointSecurityConfig.json
- 🎮 Eseguire la dimostrazione:
.\Demo-EnhancedScript.ps1 -CreateSampleData
- 📐 Creare baseline DLL:
.\SharePoint-Security-Monitor.ps1 -CreateBaseline
- 📅 Installare attività pianificate:
.\SharePoint-Security-Monitor.ps1 -ManageTasks -TaskAction Install
- 🔍 Eseguire la scansione iniziale:
.\SharePoint-Security-Monitor.ps1
🔐 Considerazioni sulla Sicurezza
- 👤 Eseguire con privilegi amministrativi appropriati
- 🔒 Archiviare i file di configurazione in posizioni sicure
- 🔐 Utilizzare archiviazione crittografata per le credenziali sensibili
- 🛡️ Implementare controlli di accesso adeguati sui file di log
- 💾 Backup regolare della configurazione e dei dati di baseline
⚙️ Configurazione
Modificare SharePointSecurityConfig.json per personalizzare:
- 📧 Impostazioni email (server SMTP, destinatari)
- 🔍 Parametri di scansione (intervalli di tempo, limiti dimensione file)
- 🎯 Soglie di sicurezza e livelli di avviso
- ⚡ Impostazioni di ottimizzazione delle prestazioni
- 🛡️ Pattern di rilevamento delle minacce e regole di correlazione
📧 Configurazione Email
Lo script è preconfigurato per inviare avvisi a:
🚪 Codici di Uscita
- ✅ 0: Nessun problema di sicurezza rilevato
- ⚠️ 1: Avvisi rilevati
- 🚨 2: Problemi di sicurezza critici rilevati
- ❌ 99: Errore di esecuzione dello script
🎯 Vantaggi Ottenuti
👥 Per i Team di Sicurezza
- ⚡ Analisi più Rapida: Il design modulare consente un'analisi mirata di minacce specifiche
- 👁️ Migliore Visibilità: Reportistica completa con grafici e tendenze visive
- 🎯 Falsi Positivi Ridotti: Punteggio basato su ML e analisi comportamentale
- 🔄 Flusso di Lavoro Snellito: Processi di approvazione automatizzati e gestione delle attività
🔧 Per gli Amministratori di Sistema
- 🛠️ Manutenzione più Semplice: L'architettura modulare semplifica aggiornamenti e personalizzazioni
- ⚡ Prestazioni Migliori: Algoritmi ottimizzati e caching riducono l'utilizzo delle risorse
- ⚙️ Configurazione Flessibile: Impostazioni specifiche per ambiente e validazione
- 🤖 Operazioni Automatiche: Attività pianificate e gestione automatica delle baseline
👔 Per la Dirigenza
- 📊 Reportistica Direzionale: Valutazione chiara del rischio e riepilogo dei risultati chiave
- ✅ Supporto alla Conformità: Trail di audit dettagliati e documentazione completa
- 💰 Efficienza dei Costi: Ridotto sforzo manuale e risposta agli incidenti più rapida
- 📈 Visibilità del Rischio: Valutazione del livello di minaccia e analisi delle tendenze in tempo reale
📅 Storico Versioni
- 🆕 v4.0: Architettura modulare con moduli specializzati, punteggio minacce basato su ML e reportistica migliorata
- 📦 v3.9: Validazione DLL migliorata e analisi dei pattern (script originale completo a file singolo)
- 🔄 v3.8: Flussi di lavoro di approvazione automatica e reportistica dettagliata degli attacchi
🔮 Opportunità di Miglioramento Futuro
- 🤖 Integrazione Machine Learning: Modelli ML avanzati per la previsione delle minacce
- ☁️ Integrazione Cloud: Integrazione con Azure/Office 365 Security Center
- 🔌 Sviluppo API: API REST per l'integrazione con sistemi esterni
- 📱 Dashboard Mobile: Interfaccia di reportistica ottimizzata per dispositivi mobili
- 🌐 Feed di Threat Intelligence: Integrazione con threat intelligence commerciale
- 🤖 Risposta Automatica: Azioni automatiche di contenimento e remediation
📄 Licenza
Questo progetto è progettato per il monitoraggio della sicurezza di SharePoint e il rilevamento delle minacce.
💬 Supporto
Per supporto tecnico e incidenti di sicurezza, contattare: [email protected]
🛡️ Proteggere gli Ambienti SharePoint dal 2024 🛡️
Realizzato con ❤️ dal Security Operations Center