Abbiamo più volte fatto riferimento alla brutta abitudine di Windows di inviare nome utente e hash della password dell’account utente in uso non soltanto quando si prova ad accedere a risorse condivise in locale ma anche quando si dovesse raggiungere un oggetto remoto (al di fuori della LAN) condiviso usando il protocollo SMB. Ne abbiamo parlato nei seguenti articoli: Disattivate il download automatico dei file nel browser: attacchi in vista e Se usate TeamViewer aggiornatelo subito: scoperto un pericoloso bug.
Si tratta di un trucchetto conosciuto da anni che viene puntualmente “rispolverato” per mettere le mani sulle password altrui.
Il fatto che la password di un account utente Windows venga trasmessa previo hashing non offre un particolare livello di protezione. Gli hash NTLMv2 delle password, infatti, consentono di ottenere la password in chiaro con pochi secondi di lavoro.
Con Windows 10 si sta puntando tantissimo sull’utilizzo degli account utente Microsoft: così visitando una risorsa remota condivisa via SMB da un aggressore si rischia di mettergli su un piatto d’argento il proprio nome utente (indirizzo email) e l’hash della password corrispondente. Il malintenzionato potrebbe forzare l’hash ricevuto, risalire alla password dell’utente e accedere all’account email così come a tutti i servizi Microsoft ad esso collegati (a meno che la vittima non abbia attivato l’autenticazione a due fattori come ulteriore misura di protezione).
Il ricercatore Jimmy Bayne ha scoperto che i file dei temi di Windows possono essere facilmente modificati per aggiungere riferimenti a risorse remote: non appena l’utente proverà a installare il tema, il sistema operativo trasmetterà le credenziali dell’utente (username e password sotto forma di hash) alla risorsa SMB remota.
Come abbiamo visto nell’articolo Sfondi desktop, come gestirli in Windows 10, i temi per Windows contengono insiemi di sfondi per il desktop, file audio, puntatori, combinazioni di colori particolari. Sono memorizzati nelle cartelle %appdata%\Microsoft\Windows\Themes
e %localappdata%\Microsoft\Windows\Themes
.
Modificando il contenuto dei file .theme
si può fare riferimento a risorse remote.
Tenendo presente che i temi possono essere memorizzati sotto forma di un unico pacchetto .deskthemepack
e inviati via email semplicemente cliccandovi con il tasto destro nella finestra Temi e scegliendo Salva tema per la condivisione, essi possono diventare un veicolo primario per l’aggressione di qualunque utente.
Come difendersi: bloccare l’invio delle credenziali ai server remoti
Fortunatamente Windows offre una policy di sistema che permette di evitare l’invio di nomi utenti e hash delle corrispondenti password verso server remoti.
Purtroppo si tratta di un’impostazione sconosciuta che è comunque attivabile aggiungendo un solo valore nel registro di sistema.
Per procedere si può premere la combinazione di tasti Windows+R
, digitare cmd
, premere CTRL+MAIUSC+INVIO
per aprire il prompt dei comandi con i diritti amministrativi e impartire il seguente comando:
Gli amministratori di sistema possono eventualmente aggiungere il valore ClientAllowedNTLMServers
(valore multistringa) in corrispondenza della stessa chiave HKLM\System\CurrentControlSet\Control\Lsa\MSV1_0
per indicare esplicitamente i server verso i quali si possono trasmettere nomi utente e hash degli account. Diversamente potrebbe non risultare più possibile anche l’accesso ad alcune risorse locali.
Se si volesse successivamente ripristinare il comportamento predefinito di Windows, basterà digitare il comando: