Fuga delle credenziali NTLM tramite i temi di Windows
Editoriale e commenti aggiuntivi di Tricia Howard
Analisi riassuntiva
Tomer Peled , ricercatore della sicurezza di Akamai, ha recentemente scoperto una vulnerabilità di spoofing nei temi di Microsoft, a cui è stato assegnato il codice CVE-2024-21320 con un punteggio CVSS di 6,5.
La vulnerabilità può attivare la coercizione di un'autenticazione, ossia un attacco in cui la vittima viene forzata ad inviare le proprie credenziali (di solito, sotto forma di hash NTLM tramite SMB) al computer di un criminale, che, successivamente, potrà decifrarle offline.
Per sfruttare questa vulnerabilità, il criminale deve solo far scaricare alla vittima un file di temi sul suo computer. Quando l'utente visualizza il file in Internet Explorer, il browser invia automaticamente i pacchetti di handshake SMB (Server Message Block) con le credenziali al server del criminale.
Sono interessate tutte le versioni di Windows perché la funzione Temi è integrata nel sistema operativo Windows.
Microsoft ha risolto questa vulnerabilità nella Patch Tuesday di gennaio 2024.
Forniamo un file dei temi PoC (Proof-of-Concept) , nonché un video PoC, e presentiamo diversi modi per mitigare questa vulnerabilità.
Introduzione
Dall'epoca di Windows XP, Microsoft ha fornito varie opzioni di personalizzazione previsive immediatamente disponibili, ad es., colori, font e cursori. Questa personalizzazione è intuitiva: per visualizzare i temi installati, gli utenti possono fare semplicemente clic con il pulsante destro sul desktop, selezionare "Personalizza" e fare clic su "Temi". I file dei temi hanno il suffisso .theme e possono essere creati utilizzando questa panoramica presentata da MSDN.
Questa utilità apparentemente innocua può dare adito ad alcune vulnerabilità subdole. Nella nostra analisi della Patch Tuesday di settembre 2023, abbiamo brevemente discusso dell'impatto della CVE-2023-38146, una vulnerabilità presente nella funzione Temi. Durante l'analisi della vulnerabilità, abbiamo deciso di "giocare" con i valori presenti in un file di temi e abbiamo scoperto che alcuni parametri non vengono convalidati.
Abusando di questa mancanza di convalida, è possibile lanciare un attacco senza alcuna interazione da parte dell'utente. Gli utenti devono solo scaricare un file di temi dannoso, che, una volta visualizzato in Internet Explorer, avvia lo sfruttamento della vulnerabilità.
Abbiamo documentato cosa dovete sapere su questa vulnerabilità, incluse le relative mitigazioni e una PoC. Continuate a leggere.
Come funziona
Il formato del file di temi è costituito da vari blocchi di parametri. In questo post, discuteremo di due parametri: il parametro BrandImage all'interno del blocco [Theme] (Figura 1) e il parametro Wallpaper (Figura 2) all'interno del blocco [Control Panel\Desktop] .
Ogni file in Windows ha una miniatura che dovrebbe corrispondere alla sua funzione. La miniatura può raffigurare qualsiasi cosa, dal logo del prodotto all'immagine del suo utilizzo (come, ad esempio, l'icona della calcolatrice). Le miniature dei file dei temi sono costituite da tre parti: uno sfondo (il rettangolo nero), un file in stile MS (il quadrato violetto) e l'immagine del brand (l'immagine di Infection Monkey ; Figura 3).
Questi componenti sono scritti nel file dei temi con tre diversi parametri: BrandImage, Wallpaper e VisualStyle, che sono tutti percorsi remoti verso gli endpoint UNC.
Come viene sfruttata la vulnerabilità
Quando viene creato o visualizzato un file dei temi, Windows cerca di creare la giusta miniatura partendo dai suoi tre componenti. Il processo di creazione delle miniature viene avviato automaticamente nel processo di Esplora risorse. La Figura 4 illustra il flusso del codice relativo alla creazione di una miniatura di un file dei temi.
Poiché vengono avviate automaticamente, queste azioni rappresentano il punto di partenza ideale da cui i criminali possono trovare il modo per manipolare i relativi risultati. Uno dei modi con cui i criminali eseguono questa operazione consiste nel cambiare il valore di ciascuno di questi tre parametri in un percorso UNC che punta ad un server da loro controllato, sperando che il computer della vittima tenti di effettuare l'autenticazione sul loro sistema.
Abbiamo notato che l'immagine può avere un qualsiasi percorso legittimo, incluso un percorso UNC. Se si cambiano i valori del parametro "BrandImage" o "Wallpaper", ne risulta una connessione dal computer della vittima, che porta ad un attacco di coercizione dell'autenticazione, ossia, durante la connessione al server remoto, il client esegue una negoziazione SMB tramite la quale vengono inviate le relative credenziali NTLM.
Le conseguenza di una fuga delle credenziali NTLM
Con le credenziali NTLM di una vittima, un criminale può eseguire un attacco di inoltro NTLM, ossia un attacco sferrato contro sistemi che accettano le credenziali NTLM per concedere l'accesso. Inoltrando gli hash NTLM, un criminale potrebbe farsi autenticare come utente legittimo, ottenendo così l'accesso a sistemi a cui normalmente non avrebbe accesso.
Un'altra opzione disponibile per i criminali consiste nell'inserire le credenziali NTLM per accedere ad un'applicazione di tipo "password-cracking", come John the Ripper, per tentare di violare la password della vittima con un attacco di forza bruta.
Un esempio della potenza dell'impatto di un attacco di questo tipo è rappresentato dalla nota vulnerabilità di Outlook, che è stata inizialmente segnalata a Microsoft nel mese di marzo 2023. È stato rilevata un'altra vulnerabilità di questo tipo che viene attivamente sfruttata in rete a indicare che questo vettore di attacco è ancora rilevante e redditizio per i criminali.
La vulnerabilità segnalata a marzo ha consentito ad un criminale di inviare un'e-mail alla sua vittima e di attivare il download di un file audio. Il percorso a questo file audio poteva puntare ovunque, anche ad un server remoto (tramite un percorso UNC). Il ricercatore di Akamai Ben Barnea ha scritto diffusamente su questa vulnerabilità e ha trovato vari modi per correggerla con una patch.
Che cosa ha corretto la patch?
Nella sua patch, Microsoft ha aggiunto una chiamata ad una funzione che controlla se viene immesso un percorso UNC ("PathIsUNC") e un valore del Registro di sistema per verificare che i percorsi UNC siano consentiti per l'utilizzo del file dei temi (Figura 6). Se si tratta di un percorso UNC, ma i percorsi di questo tipo non sono consentiti, la miniatura non verrà caricata. Se questi percorsi sono consentiti, la miniatura verrà creata con i parametri BrandImage e Wallpaper.
Il valore "DisableThumbnailOnNetworkFolder" si trova al seguente percorso del Registro di sistema: "HKCU/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/Mitigation". Il valore viene controllato nella funzione appena aggiunta, "IsUNCPathAllowedForThumbnailImage()", che si trova all'interno della libreria themeui.dll.
Nella sezione delle domande frequenti relative a questa vulnerabilità, Microsoft ha scritto: "...quindi, (i criminali) convincono l'utente a manipolare il file appositamente creato, senza necessariamente richiedere di fare clic o aprire il file dannoso". Questa procedura sembra errata alla luce della nostra ricerca. Come abbiamo spiegato, non è richiesta alcuna modifica al contenuto del file perché la semplice visualizzazione del file attiva l'invio delle credenziali.
Mitigazione
In Windows 11, è possibile bloccare l'utilizzo dell'autenticazione NTLM in SMB con sistemi remoti tramite le policy di gruppo. A tale scopo, gli amministratori devono modificare Modelli amministrativi > Rete > Workstation Lanman > Blocca NTLM.
Microsoft ha suggerito di utilizzare un'altra policy, denominata "Limita NTLM", che consente di mitigare questa vulnerabilità e può essere attivata consultando il manuale di Microsoft.
Tramite la microsegmentazione, gli amministratori di rete possono bloccare il traffico SMB in posizioni remote all'esterno della rete. Di solito, non si prevede il verificarsi di queste connessioni poiché SMB viene utilizzato perlopiù nelle comunicazioni con controller di dominio e file server. Consultate il nostro blog completo sulla microsegmentazione per ulteriori informazioni sulla segmentazione del traffico SMB.
Conclusione
Gli attacchi di coercizione dell'autenticazione sono ben noti e ampiamente utilizzati dai criminali per il movimento laterale e il credential stuffing. Ad esempio, alcuni anni fa, il gruppo denominato Dragonfly ha usato i file LNK modificati per ottenere le credenziali tramite SMB. L'attivazione di questo tipo di attacco mediante i file dei temi è un vettore sorprendentemente nuovo.
Questa vulnerabilità sottolinea l'importanza di adottare un protocollo anti-phishing all'interno delle organizzazioni poiché i criminali possono facilmente inviare un file apparentemente innocuo che, in realtà, è in grado di avviare l'attacco.
Siamo lieti di notare che Microsoft sta tentando di mitigare questo vettore di attacco con l'aggiunta delle appropriate policy di gruppo. Consigliamo agli addetti alla sicurezza di aggiornare i loro endpoint con le ultime patch di sicurezza.
Cronologia delle divulgazioni
20/09/2023: vulnerabilità segnalata al MSRC (Microsoft Security Response Center)
01/10/2023: altre informazioni inviate al MSRC
18/10/2023: il MSRC afferma che la vulnerabilità richiede una patch
09/01/2024: Microsoft rilascia una patch per questa vulnerabilità
06/03/2024: pubblicazione del blog di Akamai