Ricognizione Password: Password Policy Discovery (T1201)

Quando un attaccante prende piede in una rete, tra le prime mosse c'è spesso la mappatura delle policy di password. Questa ricognizione apparentemente innocua rivela informazioni cruciali: lunghezza minima delle password, requisiti di complessità, soglie di blocco account e durata della validità. Dati che trasformano un attacco brute force da tentativo alla cieca a operazione chirurgica.

La tecnica si inserisce nella fase Discovery (TA0007) della kill chain, quel momento in cui l'avversario sta ancora studiando il terreno. Turla, OilRig e Chimera hanno dimostrato quanto sia efficace: con un semplice comando come net accounts /domain ottengono la roadmap per aggirare le difese password dell'intera organizzazione.

L'impatto è sottile ma pervasivo. Se la policy richiede minimo 8 caratteri, l'attaccante scarterà "pass123". Se il blocco scatta dopo 6 tentativi, testerà massimo 4 password per non destare sospetti. È la differenza tra un attacco che genera alert a raffica e uno che passa sotto i radar.

Su Windows, il comando classico è net accounts. Eseguilo localmente per vedere la policy della macchina, oppure net accounts /domain per quella del dominio. PowerShell offre alternative più dettagliate: Get-ADDefaultDomainPasswordPolicy restituisce un oggetto ricco di proprietà come ComplexityEnabled e MinPasswordLength.

Linux richiede un approccio diverso. Il comando chage -l username mostra le policy di scadenza per un utente specifico. Per requisiti di complessità, dovrai esplorare la configurazione PAM con cat /etc/pam.d/common-password o grep password /etc/security/pwquality.conf.

Su macOS, pwpolicy getaccountpolicies è il punto di partenza. L'output XML può essere verboso, quindi prepara un parser. Per policy di dominio in ambiente enterprise, potresti dover interrogare Open Directory.

CrackMapExec automatizza il processo cross-platform. Lancia crackmapexec smb 192.168.1.0/24 --pass-pol per enumerare le policy su un'intera subnet Windows. PoshC2 include il comando Get-PassPol per operazioni post-exploitation più discrete.

L'escalation naturale dopo questa ricognizione è generare wordlist conformi alla policy scoperta. Se MinPasswordLength è 12 e ComplexityEnabled è true, costruisci pattern come "Primavera2024!" che rispettano i requisiti ma rimangono prevedibili. Tools come Kwampirs integrano questa logica direttamente nel malware.

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

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo