Punti chiave
- Il password spraying si manifesta con tentativi di accesso falliti ripetuti su molti account, spesso tramite protocolli legacy come IMAP e SMTP.
- Le query Sentinel/KQL sui SigninLogs individuano gli schemi di spraying correlando i tentativi falliti tra utenti e indirizzi IP.
- Il log di controllo unificato di Purview offre un’alternativa più leggera, interrogabile tramite PowerShell.
- Le policy di blocco account tramite GPO e la disattivazione dell’autenticazione legacy rafforzano il livello OS contro i tentativi di spraying.
Questa guida ti mostra come rilevare e bloccare gli attacchi password spray in Microsoft 365. Illustra le strategie per monitorare i log alla ricerca di segnali di attacco, tra cui l’uso di Microsoft Sentinel e del linguaggio KQL, dei log di controllo unificati, di PowerShell per rilevare l’uso dell’autenticazione legacy e la scansione dei log con comandi eseguibili dal prompt dei comandi o tramite strumenti di automazione della sicurezza.
Come si rileva un attacco di password spraying?
Gli attacchi password spray sono attacchi di forza bruta in cui gli hacker tentano di accedere a più account utilizzando password comuni o trapelate. Anche se i metodi di autenticazione moderni (come l’MFA) aiutano a bloccarli, gli aggressori sfruttano spesso i metodi di autenticazione legacy (come le semplici credenziali di email e nome utente usate per accedere alla posta tramite POP3) o i portali di accesso per aggirarli negli ambienti che non hanno ancora completato il passaggio a metodi di autenticazione più sicuri.
Questi attacchi password spray si possono rilevare monitorando i log alla ricerca di tentativi di accesso falliti ripetuti e di attività sospette sugli endpoint di autenticazione legacy. L’automazione è fondamentale per rilevare e mitigare gli attacchi password spray, perché ogni accesso non autorizzato va bloccato immediatamente e le credenziali degli utenti coinvolti vanno aggiornate.
Gli obiettivi principali dell’automazione della protezione di Microsoft 365 dagli attacchi password spray dovrebbero includere:
- Rilevare schemi di accessi falliti su più account
- Correlare i tentativi di accesso da indirizzi IP o geolocalizzazioni insoliti
- Bloccare l’autenticazione legacy
- Automatizzare i blocchi degli account o la generazione di alert al momento del rilevamento
- Eseguire l’hardening dei sistemi tramite modifiche a policy, script e registro di sistema
Prima di poter implementare la prevenzione automatizzata del password spraying, ti servono:
- Un tenant Microsoft 365 con il controllo abilitato
- Azure Sentinel o Microsoft 365 Defender Plan 2 (per l’advanced hunting)
- Il log di controllo unificato abilitato in Microsoft Purview
- Accesso amministrativo per Microsoft Graph, PowerShell e la configurazione delle GPO
La protezione degli endpoint e l’automazione si possono potenziare integrando le tue distribuzioni Microsoft 365 con il monitoraggio e gestione da remoto (RMM), che consente un monitoraggio e un sistema di alert centralizzati e automatizza la remediation su tutta l’infrastruttura.
Rilevare gli schemi di password spray con Microsoft Sentinel e KQL
Il Kusto Query Language (KQL) si può usare per interrogare Microsoft Sentinel e rilevare comportamenti indicativi di attacchi password spray. Di seguito un esempio di query KQL che cerca più accessi falliti con la stessa password:
SigninLogs
| where ResultType == 50053
| summarize Attempts=count() by UserPrincipalName, IPAddress
| where Attempts > 5
Esempio KQL 2 – Monitorare gli accessi falliti dallo stesso IP verso più utenti:
SigninLogs
| where ResultType == 50053 or ResultType == 50126
| summarize CountByIP = count(), AccountsTargeted = dcount(UserPrincipalName) by IPAddress
| where AccountsTargeted > 10 and CountByIP > 30
Esempio KQL 3 – Escludere le località sicure note:
| where Location != "YourSafeLocation"
Questa query si può usare per configurare le regole di analisi di Sentinel che generano alert al superamento delle soglie.
Rilevamento leggero con i log di controllo unificati di Microsoft 365 in Purview
Abilita il log di controllo unificato in Microsoft Purview con il seguente comando in Exchange Online PowerShell:
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true
Puoi quindi cercare i tentativi di accesso falliti con il comando:
Search-UnifiedAuditLog -StartDate (Get-Date).AddHours(-1) -EndDate (Get-Date) -Operations UserLoggedIn |
Where-Object { $_.AuditData.ResultStatus -eq “Failed” }
Gli strumenti di analisi permettono poi di correlare queste voci con gli indirizzi IP e la frequenza per dedurre i tentativi di attacco e bloccare queste origini. A questo scopo puoi esportare i dati del log di controllo in formato .csv:
Export-Csv -Path "C:\Logs\M365_LoginFailures.csv" -NoTypeInformation
Individuare l’uso dell’autenticazione legacy con PowerShell (frequente nei tentativi di password spray)
Gli attacchi password spray prendono di mira comunemente protocolli legacy come POP, IMAP e SMTP. Anche se questi protocolli sono stati deprecati in Microsoft 365, alcune organizzazioni li hanno ancora abilitati o mantengono infrastrutture collegate che usano tecnologie di autenticazione obsolete e non sicure. Puoi rilevare l’autenticazione email legacy eseguendo il seguente comando in Exchange Online PowerShell:
Get-SignInLogs | Where-Object { $_.ClientAppUsed -in @(“IMAP”, “POP”, “SMTP”, “MAPI”, “Exchange ActiveSync”) } |
Select-Object UserPrincipalName, ClientAppUsed, IPAddress
Poi, per disabilitare questi metodi per un utente specifico:
Set-CASMailbox [email protected] -ImapEnabled $false -PopEnabled $false -MAPIEnabled $false -SmtpClientAuthenticationDisabled $true
Bloccare i protocolli legacy e imporre il blocco account tramite GPO
Oltre a proteggere Microsoft 365 dal password spraying, puoi proteggere i dispositivi endpoint dai tentativi di accesso ripetuti usando i Criteri di gruppo in un ambiente di dominio Windows. Per usare i Criteri di gruppo e applicare le regole a livello di OS negli ambienti ibridi:
- Apri la console di gestione dei Criteri di gruppo
- Vai a Configurazione del computer > Impostazioni di Windows > Impostazioni sicurezza > Criteri account > Criteri di blocco account
- Imposta Soglia di blocchi account su 5 tentativi non validi
- Imposta Durata blocco account su 15 minuti
wevtutil si può usare per cercare nei log di sicurezza i tentativi di accesso falliti, eventualmente in modo automatizzato tramite la distribuzione di script o soluzioni RMM:
wevtutil qe Security “/q:*[System[(EventID=4625)]]” /c:20 /f:text
Puoi anche imporre l’autenticazione moderna e disabilitare l’autenticazione di base come fallback in Outlook tramite i Criteri di gruppo, distribuendo il valore di registro “AlwaysUseMSOAuthForAutoDiscover”=dword:00000001 nella chiave di registro situata in HKEY_CURRENT_USER\Software\Microsoft\Exchange.
Risoluzione dei problemi e altri consigli e strumenti di rilevamento
Per avere la certezza che le tue misure di mitigazione del password spraying in Microsoft 365 funzionino in modo efficace, verifica che:
- L’acquisizione del log di controllo unificato sia abilitata.
- Gli IP o le aree geografiche attendibili siano inseriti in whitelist nelle query di Sentinel per ridurre i falsi positivi, mentre gli accessi da Paesi remoti da cui non ti aspetteresti mai un tentativo di login vengano bloccati del tutto.
- L’accesso condizionale venga usato per bloccare l’autenticazione e le app legacy, invece di affidarsi agli utenti perché compiano la transizione da soli.
- Gli intervalli temporali delle query KQL vengano ampliati e le variabili di soglia vengano regolate per cogliere i comportamenti sospetti.
- Gli account utente vengano bloccati automaticamente quando il rischio di accesso è elevato.
Per prevenire attacchi password spray andati a buon fine si può implementare l’MFA su tutta l’infrastruttura IT per tutti gli utenti. Anche gli accessi di terze parti andrebbero controllati regolarmente, così da rimuovere gli account di servizio inutilizzati o rivederne le autorizzazioni. Gli utenti finali dovrebbero inoltre ricevere una formazione regolare sulle best practice di cybersecurity e di gestione dei dati (ad esempio su come riconoscere richieste di accesso sospette e tentativi di phishing), così da garantire protezione e conformità all’organizzazione.
Come l’RMM di NinjaOne aiuta a ridurre l’esposizione al password spraying e ad altri attacchi
Il password spraying prende di mira i percorsi di accesso più deboli: per questo il monitoraggio e gestione da remoto (RMM) di NinjaOne aiuta i tecnici a ridurre i rischi legati agli endpoint rimuovendo il software legacy, applicando configurazioni sicure, monitorando condizioni definite dei dispositivi e automatizzando le attività di remediation approvate.
NinjaOne RMM consente ai tecnici di distribuire script che disinstallano il software legacy che potrebbe tentare di autenticarsi con Microsoft 365 usando metodi di autenticazione obsoleti. I team possono anche applicare configurazioni predefinite sicure su tutti i dispositivi gestiti tramite policy ed eseguire script per risolvere i problemi su larga scala.
NinjaOne RMM può avvisare i tecnici quando i dispositivi gestiti soddisfano le condizioni configurate, aiutandoli a identificare i problemi sugli endpoint e a intervenire. Può inoltre affiancare gli strumenti di identità e sicurezza per rafforzare la postura di sicurezza complessiva degli endpoint Windows, macOS e Linux gestiti.
Guida rapida
Rilevamento degli attacchi password spray in Microsoft 365
Anche se NinjaOne non dispone di uno strumento integrato per il rilevamento degli attacchi password spray, puoi mettere in pratica diverse strategie:
1. Monitoraggio con Microsoft Sentinel
– Usa Microsoft Sentinel per monitorare i log di accesso
– Cerca:
– Più tentativi di accesso falliti su account diversi
– Accessi da indirizzi IP o località geografiche insoliti
– Schemi di autenticazione sospetti
2. Analisi dei log di controllo
– Esamina i log di accesso di Azure AD
– Verifica:
– Un volume elevato di tentativi di accesso falliti
– Tentativi da indirizzi IP anonimi o sospetti
– Tentativi di accesso su più account utente in un breve intervallo di tempo
3. Altre protezioni consigliate
– Abilita l’autenticazione a più fattori (MFA)
– Implementa policy di accesso condizionale
– Usa Azure AD Password Protection
– Imposta soglie per i tentativi di accesso
4. Script complementari di NinjaOne
– NinjaOne mette a disposizione uno script chiamato “Check for Brute Force login attempts” che può aiutare a rilevare schemi di accesso sospetti
Consiglio: anche se NinjaOne non risolve direttamente questo problema, ti consigliamo di usare Microsoft Sentinel o il monitoraggio avanzato di Azure AD insieme ad approcci di sicurezza multilivello.