Microsoft corregge il bypass per la patch della falla zero-click di Outlook
Questa settimana Microsoft ha corretto una nuova vulnerabilità che potrebbe essere utilizzata per aggirare le difese che l’azienda ha messo in atto a marzo per una vulnerabilità critica di Outlook sfruttata dalle cyberspie russe. Tale vulnerabilità consentiva agli aggressori di rubare gli hash NTLM semplicemente inviando e-mail appositamente create agli utenti di Outlook. L’exploit non richiede alcuna interazione da parte dell’utente.
La nuova vulnerabilità, patchata martedì e classificata come CVE-2023-29324, si trova nella piattaforma MSHTML di Windows e può essere utilizzata per ingannare un controllo di sicurezza utilizzato come parte della patch di vulnerabilità di Outlook di marzo, facendo credere che un percorso su Internet sia un percorso locale e quindi eludendo i controlli della zona di fiducia. Microsoft ha assegnato alla nuova vulnerabilità un punteggio di gravità pari a 6,5 su 10 (medio), ma il team di sicurezza di Akamai che ha scoperto la vulnerabilità ritiene che avrebbe dovuto avere un punteggio più alto.
“La nostra ricerca indica che la nuova vulnerabilità consente di sfruttare nuovamente una vulnerabilità critica che è stata vista in the wild e utilizzata dagli operatori APT”, hanno dichiarato i ricercatori di Akamai. “Riteniamo comunque che la nostra scoperta sia di elevata gravità. Nelle mani di un malintenzionato, potrebbe infatti avere le stesse conseguenze del bug originale di Outlook”.
La falla originale di Outlook e la sua correzione
La vulnerabilità di Outlook patchata a marzo è classificata come CVE-2023-23397 e ha ottenuto un punteggio di 9,8 su 10 nella scala CVSS. Viene descritta come una falla di escalation dei privilegi perché gli aggressori possono ingannare il client di posta elettronica Microsoft Outlook, così come Microsoft Exchange, per raggiungere automaticamente un server remoto su Internet utilizzando il protocollo SMB, normalmente utilizzato sulle reti locali, e far trapelare gli hash NTLM. Un hash NTLM è una rappresentazione crittografica delle credenziali locali di Windows di un utente e serve come token di autenticazione per accedere alle risorse di rete.
Gli aggressori possono tentare di crackare gli hash NTLM offline per recuperare le password degli utenti o utilizzarli in attacchi noti come NTLM relay o pass-the-hash, in cui l’hash NTLM catturato viene passato a un altro servizio legittimo per autenticarsi come utente. Al momento della patch, la falla aveva già lo status di zero-day perché un attore di minacce noto come STRONTIUM, Fancy Bear o APT28, che si ritiene sia legato all’agenzia di intelligence militare russa, la GRU, aveva già sfruttato la falla in attacchi contro organizzazioni governative, di trasporto, energetiche e militari in Europa.
L’exploit consisteva nello sfruttare una funzione di Outlook che consente agli utenti di inviare promemoria via e-mail con suoni di notifica personalizzati. Il suono personalizzato viene specificato come un percorso utilizzando una proprietà estesa della Messaging Application Programming Interface (MAPI) chiamata PidLidReminderFileParameter. Gli aggressori hanno creato messaggi di posta elettronica in cui questa proprietà era impostata su un percorso UNC appositamente creato che induceva il client Outlook a cercare di caricare il file da un server SMB remoto su Internet. Come parte dell’handshake SMB, il client inviava l’hash Net-NTLMv2 del computer.
La soluzione a questo problema consisteva nell’utilizzare un metodo dell’API della piattaforma MSHTML chiamato IInternetSecurityManager::MapUrlToZone per convalidare meglio il percorso UNC e determinare a quale zona di sicurezza appartiene. Se il percorso porta a una posizione che non fa parte delle zone locali, intranet (rete locale) o attendibili, il client Outlook non recupererà più il file audio personalizzato e riprodurrà quello predefinito. La piattaforma MSHTML è il motore di rendering HTML di Internet Explorer 11 e, nonostante IE11 non sia più supportato, il motore esiste ancora nel controllo Windows WebBrowser utilizzato da altre applicazioni come Outlook per visualizzare il contenuto HTML.
Il bypass di MapUrlToZone nella patch di Outlook di Microsoft
Ben Barnea, ricercatore di sicurezza di Akamai, ha analizzato la patch di marzo di Microsoft e ha visto che se MapUrlToZone determina che il percorso UNC rientra in una delle tre zone affidabili, viene chiamata un’altra funzione chiamata CreateFile per accedere a quel percorso. Per aggirare la correzione, avrebbe dovuto trovare un percorso che MapUrlToZone determina essere attendibile, ma che CreateFile tratta comunque come un percorso internet e cerca di accedervi tramite SMB.
Dopo aver effettuato dei test, ha scoperto che i percorsi del formato “\\.\UNC\\Akamai.com\file.wav” passavano il controllo di MapUrlToZone ma venivano trattati da CreateFile come percorsi internet. “Questo problema sembra essere il risultato della complessa gestione dei percorsi in Windows”, ha dichiarato Barnea. MapUrlToZone e CreateFile si affidano a funzioni diverse per convertire i percorsi. MapUrlToZone chiama la funzione CreateUri, che converte erroneamente il percorso in un percorso che punta a una directory chiamata UNC nella root dell’unità C:\, quindi una directory locale. Tuttavia, CreateFile utilizza una funzione chiamata RtlpDosPathNameToRelativeNtPathName per convertire il percorso e questa funzione lo converte in \??UNC\Akamai.com\file.wav. Questo fa sì che la richiesta venga instradata attraverso il driver Multiple UNC Provider (MUP), che la interpreta come un percorso SMB verso il nome di dominio Akamai.com.
“Riteniamo che questo tipo di confusione possa potenzialmente causare vulnerabilità in altri programmi che utilizzano MapUrlToZone su un percorso controllato dall’utente e poi utilizzano un’operazione di file (come CreateFile o un’API simile) sullo stesso percorso”, ha dichiarato Barnea nel suo rapporto. “Inoltre, non possiamo escludere che si verifichino altri problemi nei programmi che chiamano CreateUri”. In altre parole, la proprietà PidLidReminderFileParameter di Outlook potrebbe essere solo uno dei modi per inviare percorsi a un’applicazione Windows da recuperare, ma potrebbe non essere l’unico considerando che questa nuova vulnerabilità è presente in MapUrlToZone.
Secondo Microsoft, le mitigazioni per i server Microsoft Exchange impediscono già questo bypass, ma la patch per i client Outlook autonomi no. Di conseguenza, l’azienda ha aggiornato la guida alle mitigazioni per la falla di Outlook in modo da richiedere le patch per CVE-2023-29324 e CVE-2023-29324.