Password Spraying: Distribuzione Password Comuni su Molti Account (T1110.003)

Il Password Spraying rappresenta una variante particolarmente insidiosa degli attacchi di forza bruta. Invece di tentare molte password contro un singolo account — approccio che scatta rapidamente i meccanismi di lockout — l'attaccante inverte la logica: prende una singola password verosimile (come Password01, Welcome2024, Estate2024!) e la prova contro centinaia o migliaia di username differenti.

La tecnica si colloca nella tattica TA0006 (Credential Access) del framework MITRE ATT&CK e viene tipicamente sfruttata nelle fasi di Initial Access o lateral movement. I bersagli preferiti sono servizi di management esposti — SSH (22), RDP (3389), SMB (445), LDAP (389), Kerberos (88), MSSQL (1433) — e portali web di autenticazione federata come Office 365, Okta, portali OWA e console SSO.

L'impatto è significativo: 11 gruppi APT documentati impiegano questa tecnica, tra cui APT28, APT29, APT33, HAFNIUM, Lazarus Group e Chimera. Due campagne di rilievo (C0051 Nearest Neighbor e C0055 Quad7 Activity) mostrano come lo spraying venga throttled deliberatamente — un tentativo ogni 24 ore da IP distribuiti — per eludere le soglie di detection. L'attaccante privilegia protocolli come LDAP e Kerberos, che generano meno eventi ad alta visibilità rispetto al classico EventID 4625 di SMB, complicando notevolmente il lavoro dei SOC.

Un esercizio di red team su password spraying richiede una preparazione accurata della lista username e password. La fase OSINT parte da fonti come LinkedIn, i database di data breach recuperabili tramite Have I Been Pwned (freemium), e strumenti di username enumeration come linkedin2username (open source) o CrossLinked (open source), che generano permutazioni realistiche del formato nome.cognome, n.cognome, ncognome basate sul dominio target.

Per la fase attiva su ambienti on-premise, CrackMapExec (open source, oggi mantenuto come NetExec) resta lo strumento di riferimento per protocolli SMB, LDAP, WinRM, MSSQL e RDP. Un esempio classico contro SMB:

nxc smb 10.10.10.0/24 -u users.txt -p 'Autumn2024!' --continue-on-success

Il flag --continue-on-success è cruciale: senza di esso il tool si ferma al primo hit, mentre lo scopo è mappare tutti gli account validi. Per Kerberos, kerbrute (open source, di Ropnop) permette pre-authentication spraying che non genera eventi 4625:

kerbrute passwordspray -d dominio.local users.txt 'Password123'

Contro ambienti cloud e Microsoft 365, MailSniper (open source) è lo strumento storico. Un modulo tipico:

Invoke-PasswordSprayOWA -ExchHostname mail.target.com -UserList users.txt -Password 'Winter2024'

Alternative moderne includono MSOLSpray (open source) per Azure AD/Entra ID, TrevorSpray (open source) che integra rotazione via proxy SSH per distribuire l'origine delle richieste, e Spray365 (open source) per campagne pianificate contro Microsoft 365 con jitter temporale.

La regola d'oro operativa è il throttling: mai superare 2-3 tentativi per account nella finestra di lockout policy (tipicamente 30 minuti in Active Directory). Uno spraying condotto correttamente prevede una password ogni ciclo, con pausa di 30-60 minuti tra un ciclo e il successivo. La campagna C0055 (Quad7 Activity) ha portato questo concetto all'estremo con un solo tentativo per account nell'arco di 24 ore, sfruttando una botnet di router SOHO compromessi come pool di IP sorgente.

Per FTP, SSH e servizi generici, Hydra (open source) e Medusa (open source) restano validi, ma vanno configurati con delay elevati. In ambienti ESXi, il target è la porta 443 dell'interfaccia web o SSH sulla 22 quando abilitato. Documenta sempre nel report gli account che risultano già lockati prima del test per evitare falsi attribuzioni.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.