Furto Credenziali da Password Store: Credentials from Password Stores (T1555)

La tecnica T1555 – Credentials from Password Stores descrive l'insieme di azioni con cui un attaccante estrae credenziali dai depositi in cui sistemi operativi, browser, client di posta, gestori di password e vault cloud le custodiscono. Il framework MITRE ATT&CK la colloca nella tattica TA0006 (Credential Access), la fase della kill chain in cui l'avversario cerca di ottenere nomi utente e password per consolidare l'accesso, muoversi lateralmente e raggiungere dati riservati con minore rumore rispetto a un exploit.

A differenza del semplice keylogging, qui il bottino è già confezionato: il Windows Credential Manager, il DPAPI, i login keychain di macOS, il GNOME Keyring o KWallet su Linux, i database SQLite dei browser e i file di configurazione di client FTP, SSH e VPN contengono credenziali pronte all'uso, spesso protette da chiavi derivate dalla password di login utente.

L'impatto è documentato in modo esteso: 12 gruppi APT e 24 famiglie di malware riconducibili a questa tecnica, con una campagna di riferimento come la SolarWinds Compromise (C0024) in cui APT29 ha usato credenziali raccolte per accedere a Group Managed Service Account. Sul lato difensivo, MITRE indica 3 mitigazioni principali (M1026 Privileged Account Management, M1027 Password Policies, M1051 Update Software) e quattro analitiche di detection multipiattaforma (Windows, Linux, macOS, IaaS).

In un ingaggio red team autorizzato, T1555 rappresenta uno degli obiettivi post-exploitation più remunerativi. Su Windows il riferimento è Mimikatz (open source), che con moduli come sekurlsa::logonpasswords, vault::cred e dpapi::cred estrae rispettivamente credenziali da LSASS, dal Credential Vault e dai blob DPAPI. La variante managed SharpDPAPI (open source) esegue la stessa logica senza toccare mimikatz.exe, riducendo le firme AV: SharpDPAPI.exe credentials /rpc recupera le master key via RPC quando si opera come utente di dominio.

Per i browser Chromium-based il flusso è noto: leggere Login Data in *%LocalAppData%\Google\Chrome\User Data\Default* e decrittare i blob AES-GCM con la chiave protetta da DPAPI in Local State. Tool come SharpChrome (open source) o HackBrowserData (open source) automatizzano il processo anche per Edge e Firefox.

LaZagne (open source) rimane lo swiss-army knife multipiattaforma: laZagne.exe all enumera oltre cento applicazioni tra mail client, database, Wi-Fi, VNC e RDCMan. Su Windows, il comando nativo cmdkey /list (usato dal gruppo HEXANE) mostra le credenziali salvate nel Credential Manager senza tool esterni, utile per un primo triage silenzioso.

Su Linux il target è duplice: gli hash in /etc/shadow (richiedono privilegi root, poi passabili a hashcat o John the Ripper, entrambi open source) e i keyring utente. Il file ~/.local/share/keyrings/login.keyring di GNOME contiene segreti cifrati con la password di login; keyringstealer e script Python basati su secretstorage estraggono i valori quando la sessione è sbloccata. Per SSH conviene raccogliere ~/.ssh/id_rsa e ~/.ssh/known_hosts prima di tentare pivot.

Su macOS il login.keychain in ~/Library/Keychains/ è il bersaglio principale. Con contesto utente attivo, security find-generic-password -a -s -w restituisce la password in chiaro; Chainbreaker (open source) opera invece offline sul file estratto se si conosce la password di login. BeaverTail dimostra l'interesse anche per wallet crypto, leggendo ~/.config/solana/id.json.

In ambiente cloud, un red teamer con credenziali IAM compromesse enumera i segreti con aws secretsmanager list-secrets seguito da get-secret-value, oppure az keyvault secret list su Azure. In laboratorio è essenziale operare in tenant di test e documentare ogni chiamata API per il report finale.

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.