Furto di Password dal Browser: Credentials from Web Browsers (T1555.003)

Il furto di credenziali dai browser rappresenta una tecnica di credential access (TA0006) che sfrutta i meccanismi di memorizzazione delle password integrati nei moderni browser web. Gli attaccanti possono acquisire username e password salvati leggendo file specifici del browser target, che normalmente conservano queste informazioni in formato crittografato all'interno di database locali.

La tecnica prevede l'estrazione di credenziali da browser come Chrome, Firefox, Safari ed Edge attraverso query SQL dirette ai database delle password o chiamate API per decrittare i dati protetti. Su sistemi Windows, ad esempio, le credenziali crittografate di Chrome vengono estratte dal file AppData\Local\Google\Chrome\User Data\Default\Login Data e decrittate tramite la funzione API CryptUnprotectData, che utilizza le credenziali di accesso dell'utente vittima come chiave di decrittazione.

Questa tecnica risulta particolarmente efficace perché 23 gruppi APT la utilizzano attivamente e viene implementata attraverso 62 diversi strumenti malevoli. Il successo dell'attacco può portare al riutilizzo delle credenziali su sistemi diversi, amplificando significativamente l'impatto quando le password compromesse coincidono con account privilegiati come amministratori di dominio.

Per testare la vulnerabilità dei browser alla compromissione delle credenziali, l'ethical hacker può replicare le tecniche utilizzate dai threat actor attraverso diversi approcci operativi.

Su sistemi Windows, l'estrazione delle credenziali di Chrome richiede prima l'identificazione del database SQLite contenente le password. Il comando PowerShell Get-ChildItem -Path "$env:LOCALAPPDATA\Google\Chrome\User Data\Default" -Filter "Login Data" localizza il file target. Una volta identificato, è possibile copiare il database in una posizione temporanea per evitare lock del file: Copy-Item "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Login Data" -Destination "$env:TEMP\LoginData.db".

L'estrazione vera e propria avviene eseguendo una query SQL sul database copiato. Utilizzando tool come SQLite3 o librerie Python, la query SELECT action_url, username_value, password_value FROM logins; recupera i dati crittografati. La decrittazione richiede l'utilizzo dell'API Windows CryptUnprotectData, implementabile attraverso script PowerShell o Python che invocano direttamente la funzione di sistema.

Per Firefox su Linux, il processo differisce leggermente. Le credenziali sono memorizzate in file JSON all'interno del profilo utente. Il comando find ~/.mozilla/firefox -name "logins.json" -o -name "key*.db" individua i file rilevanti. Tool come LaZagne automatizzano l'intero processo di estrazione per multipli browser, mentre strumenti più specifici come Browser64 o BrowserPasswordDump10 offrono funzionalità mirate.

Durante i test di penetrazione, è fondamentale documentare ogni accesso ai file di credenziali e limitare l'estrazione ai soli account di test autorizzati. L'utilizzo di macchine virtuali isolate per questi esperimenti riduce il rischio di esposizione accidentale di credenziali reali.

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

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