Scoperta Policy Password: Password Policy Discovery (T1201)

La tecnica T1201 – Password Policy Discovery rientra nella tattica TA0007 (Discovery) del framework MITRE ATT&CK e descrive il comportamento con cui un attaccante, già presente in un ambiente compromesso, interroga il sistema operativo, la directory aziendale o il tenant cloud per ottenere i parametri della policy password: lunghezza minima, complessità richiesta, storico, soglia di lockout e durata dell'account.

L'obiettivo è calibrare attacchi successivi di Brute Force e Password Spraying in modo da rimanere sotto le soglie difensive. Se il lockout scatta dopo sei tentativi falliti, l'avversario limiterà i tentativi a tre o quattro per account; se la lunghezza minima è dodici caratteri, escluderà dai dizionari le password brevi. Il risultato è una riduzione drastica del rumore generato e un incremento del tasso di successo delle credenziali indovinate.

La tecnica è cross-platform e si manifesta su Windows tramite net accounts /domain e cmdlet PowerShell, su Linux via chage e ispezione dei file PAM, su macOS con pwpolicy, sui dispositivi di rete con show aaa e nel cloud tramite API come GetAccountPasswordPolicy di AWS. I dati MITRE censiscono 3 gruppi APT, 4 famiglie di software e 1 campagna documentata (Operation CuckooBees) che hanno impiegato questa tecnica come fase di ricognizione avanzata post-exploitation.

In un ingaggio red team la scoperta della policy password è una delle prime azioni post-foothold, perché condiziona ogni successiva attività di credential access. Su un host Windows joinato a dominio il comando canonico è net accounts /domain, che restituisce lunghezza minima, età massima, storico e soglia di lockout senza richiedere privilegi elevati. In ambiente PowerShell con RSAT disponibile, Get-ADDefaultDomainPasswordPolicy fornisce l'equivalente strutturato come oggetto, utile per parsing automatico; per policy granulari (Fine-Grained Password Policies) si ricorre a Get-ADFineGrainedPasswordPolicy.

Quando gli operatori vogliono restare fuori dal binario net.exe, si appoggiano a framework di post-exploitation. PoshC2 (open source) espone la funzione Get-PassPol, mentre CrackMapExec — ora mantenuto come NetExec (open source) — permette di enumerare la policy da remoto con:

nxc smb -u -p --pass-pol

È un approccio particolarmente efficace in fase di lateral movement, perché evita di lanciare processi sul target. Su Kali o Parrot è anche possibile usare rpcclient (open source) con il comando getdompwinfo verso un domain controller raggiungibile.

Su Linux la ricognizione passa per l'ispezione dei file di configurazione PAM. I comandi tipici sono cat /etc/pam.d/common-password su famiglia Debian, cat /etc/security/pwquality.conf su RHEL/CentOS e cat /etc/login.defs per parametri di aging. Per un utente specifico chage -l restituisce scadenza e ultima modifica della password. Su macOS il comando nativo è pwpolicy -getaccountpolicies, che dumpa la policy in formato XML.

Sul fronte cloud, in AWS l'operazione è una singola chiamata:

aws iam get-account-password-policy

richiede il permesso iam:GetAccountPasswordPolicy, tipicamente presente in ruoli di audit. Su Azure/Entra ID la lettura avviene via Microsoft Graph interrogando le authentication methods policies. Sui dispositivi di rete Cisco IOS/NX-OS i comandi show aaa e show aaa common-criteria policy all espongono le regole configurate.

Per un esercizio lab-safe conviene modellare la catena completa: policy discovery → costruzione di un dizionario conforme → spraying controllato con Kerbrute (open source) o il modulo --continue-on-success di NetExec, mantenendo il rate al di sotto della soglia di lockout osservata.

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.