Credential Stuffing: Riuso di Credenziali Compromesse (T1110.004)
Il Credential Stuffing è una sottotecnica di Brute Force catalogata come T1110.004 all'interno della tattica TA0006 (Credential Access) del framework MITRE ATT&CK. A differenza del brute force tradizionale, l'attaccante non tenta combinazioni casuali ma riutilizza coppie username/password ottenute da breach dump di servizi terzi, sfruttando la tendenza degli utenti a riciclare le stesse credenziali su account personali e aziendali.
La tecnica si colloca nelle fasi iniziali della kill chain, spesso a cavallo tra Initial Access e Credential Access, e mira a ottenere account validi che rendono l'intrusione più difficile da rilevare rispetto a exploit più rumorosi. I bersagli tipici sono servizi di gestione esposti — SSH (22/TCP), RDP (3389/TCP), SMB (445/TCP), LDAP (389/TCP), Kerberos (88/TCP), database come MSSQL (1433) e MySQL (3306) — ma anche portali SSO federati e applicazioni cloud come Office 365.
L'impatto operativo è duplice: da un lato l'attaccante può ottenere accesso legittimo con minimo rumore se la password è ancora valida; dall'altro, quando i tentativi falliscono in massa, si generano ondate di autenticazioni fallite e potenziali account lockout che possono trasformarsi in denial of service per gli utenti legittimi. Gruppi come Chimera hanno utilizzato questa tecnica contro servizi remoti per compromettere account validi.
Simulare un'operazione di credential stuffing in un contesto red team richiede tre ingredienti: un wordlist di coppie credenziali rappresentative, un tool di autenticazione multi-protocollo e una strategia di rate limiting per evitare lockout indesiderati sul cliente.
Le liste di riferimento più utilizzate in laboratorio provengono dalle raccolte pubbliche come SecLists (open source) mantenute su GitHub, che include collezioni tipo rockyou.txt, Top-Usernames-Shortlist.txt e combolist derivate da breach storici. Per verificare se un utente target ha credenziali compromesse in dump pubblici, il servizio Have I Been Pwned (freemium, con API a pagamento per l'accesso completo) resta lo standard, mentre in fase di raccolta OSINT il tool h8mail (open source) automatizza il lookup su più sorgenti.
Sul fronte esecuzione, Hydra (open source) copre praticamente tutti i protocolli citati nella tecnica. Un esempio classico contro SSH usa la forma:
hydra -L users.txt -P passwords.txt -t 4 -f ssh://target.lab.local
Dove -t 4 limita i thread paralleli e -f interrompe al primo successo. Per RDP il modulo dedicato è rdp, per SMB smb, per servizi HTTP form-based si usa http-post-form con la sintassi del form target. Medusa (open source) offre un'alternativa con parallelismo più granulare per host.
Contro ambienti Active Directory, CrackMapExec e il suo successore NetExec (open source) permettono di testare credenziali contro SMB, WinRM, LDAP e MSSQL in un'unica passata:
netexec smb 10.0.0.0/24 -u users.txt -p passwords.txt --continue-on-success
Per scenari cloud e SSO, MSOLSpray e TeamFiltration (entrambi open source) sono orientati a Microsoft 365 e implementano già logica di password spraying con delay configurabili. In ambienti AWS, CloudBrute (open source) copre l'enumerazione di servizi esposti.
Regola d'oro in un red team engagement: concordare sempre con il cliente le soglie di lockout documentate nelle policy AD, calibrare i delay tra tentativi (spesso 30 minuti tra round per aggirare finestre di conteggio) e mantenere log dettagliati di ogni tentativo per il report finale. In un esercizio serio, il credential stuffing va abbinato a verifiche di MFA bypass e conditional access, perché la sola validità della password raramente basta contro un tenant configurato correttamente.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo