Analisi e sfruttamento della CVE 2024-21413 Moniker Link

A cura di: Manuel Roccon (Team Hackerhood)

In questo articolo analizzeremo la recente CVE 2024-21413 (Moniker Link), pubblicata da Microsoft il 13 febbraio 2024, che affligge gli hyperlink nelle mail in Outlook.

Giorni fa avevamo parlato di questo BUG nel seguente articolo in RHC:

La vulnerabilità in oggetto aggira i meccanismi di sicurezza di Outlook quando gestisce un tipo specifico di collegamento ipertestuale, noto come Moniker Link.

Un utente malintenzionato, può abusare di ciò inviando un messaggio di posta elettronica contenente un collegamento Moniker dannoso, con il risultato che Outlook invierà le credenziali NTLM dell’utente all’utente malintenzionato una volta fatto click nel documento ipertestuale.

Alla fine dell’articolo è inserita l’analisi di CheckPoint che ne descrive approfonditamente il comportamento.

Come sempre quando escono delle vulnerabilità del mondo Office, software usati dalla maggior parte di utenti comuni, cerchiamo sempre di capire il funzionamento per poi trarre delle conclusioni per come possiamo difenderci.

In questo test utilizzeremo un link malformato: inducendo Outlook ad aprire un percorso SMB remoto rivelando hash della password locale dell’utente all’aggressore, dopo aver simulato il click sul link in una mail di spam.

In seguito vedremo come eseguire del codice remoto (RCE) concatenando un altra vulnerabilità a questa.

In passato ci eravamo già occupati di alcune vulnerabilità simili come la CVE 2023-23397 e la CVE 2023-29324 in cui l’aggressore poteva indurre la vittima a collegarsi a un percorso SMB rivelando hash della password.

Recuperiamo gli hash della vittima attraverso un link

Quando Windows si collega a un percorso SMB remoto, il dispositivo comunica anche gli hash del proprio account locale.

Nei sistemi più aggiornati viene prelevato hash NTLMv2 della vittima. L’aggressore può solo tentare di craccarlo oppure utilizzarlo attraverso la tecnica di relay, mentre se il sistema è obsoleto e utilizza il semplice NTLM, l’aggressore potrebbe anche utilizzarlo per loggarsi ai sistemi della vittima.

Con questo primo test vedremo come forzare Outlook ad aprire un percorso SMB remoto al fine di farci arrivare hash della vittima per poi craccarlo.

Importante: la nostra versione è obsoleta e non aggiornata all’ultima versione, comprendente la fix di questa CVE.

Ora prepariamo il nostro vettore di attacco, una mail di spam che tenta di far aprire il link malevolo alla vittima.

Possiamo vedere che è stato inserito un link malformato che punta a una condivisione esterna tramite il protocollo file:///. Nel link malformato è stato inserito alla fine del link !link, il nostro Moniker LinK.

Una volta ricevuta la mail, la vittima non dovrà fare altro che cliccare il link. La vittima utilizza una password debole e molto semplice.

Dopo averlo aperto, Outlook avviserà di non essere riuscito a recuperare il contenuto.

Prima di aver inviato la mail, avevamo aperto nella nostra macchina in attesa che la vittima ci contatti aprendo il link.

Una volta aperto il link ci verrà mostrato nome utente, hostname e hash NtlmV2 catturato.

Come abbiamo detto NtlmV2 non è possibile utilizzarlo direttamente per accedere ai sistemi, ma possiamo tentare di craccarlo.

Salviamo l’ hash in un file, e utilizziamo hashcat correttamente configurato per gli hash NTLM (-m 5600).

Dopo pochi secondi la password viene mostrata in chiaro.

Un altro tool è John the ripper ed il risultato è analogo

Eseguiamo del codice remoto nel dispositivo della vittima

Spesso le vulnerabilità recenti possono essere concatenate con quelle più vecchie, generando risultati devastanti.

Infatti concatenando questa CVE, che fondamentalmente si ferma nel recuperare gli hash della vittima, con una seconda, possiamo eseguire del codice remoto (RCE).

Ora proveremo a concatenare la CVE 2024-21413 sia con la CVE-2023-21716 (Microsoft Word RTF Font Table Heap Corruption), che permette di eseguire del codice remoto all’apertura di un file rtf, sia con la CVE-2022-30190 (Follina) che permette sempre una volta aperto di eseguire del codice remoto tramite attraverso lo sfruttamento del protocollo MSDT, di qui avevamo parlato già in questo articolo qui.

Iniziamo a testare il concatenamento della CVE-2023-21716.

Useremo un poc parziale che provocherà un buffer overflow Word dopo aver aperto il documento, come descritto in questo articolo che ne ha analizzato il comportamento:

https://www.netskope.com/blog/cve-2023-21716-microsoft-word-rce-vulnerability

Il poc non eseguirà del codice remoto ma le prime fasi per farlo mandando in buffer overflow Word. Quindi poi utilizzando l’exploit completo allo stesso modo è possibile eseguire i comandi remoti.

Recuperiamo il POC in questione dal ricercatore:

Quindi da questo creiamo il documento malevolo

Che inseriremo in una nuova mail come visto nel recupero del hash

Ora aprendo il link nella mail

Possiamo vedere che Outlook farà accesso alla condivisione SMB per prelevare il documento.

Dopo qualche secondo viene restituito l’errore visto in precedenza.

Questa volta in realtà, se guardiamo i processi in background, vediamo che viene aperto un processo di Word, che in seguito si chiude con successiva segnalazione di un errore.

Con process monitor, software per monitorare processi e azioni eseguiti da questi, vediamo che effettivamente c’è stato un buffer overflow con successivo crash dell’applicazione.

Se avessimo utilizzato l’exploit completo, avremmo potuto eseguire del codice remoto nel dispositivo della vittima.

Ora proviamo a concatenare anche la CVE-2022-30190 (Follina).

Per questo test possiamo utilizzare il seguente poc, per creare il documento rtf dannoso e facilmente ottenere una reverse shell nel dispositivo della vittima.

https://github.com/JohnHammond/msdt-follina/tree/main?tab=readme-ov-file

Nella parte sinistra impostiamo i parametri dell’exploit e la shell ottenuta dopo l’apertura del link, mentre nella parte destra impostiamo la solita condivisione in modo che quando la vittima clicca nel link, Outlook vada a recuperare il file test.rtf nella condivisione SMB.

Quindi cliccando al solito link, si apre la shell del dispositivo della vittima (visibile in basso a sinistra).

Anche in questo caso si apre il processo di Word  in background.

A differenza del precedente, questo exploit fa apparire un pannello di risoluzione di problemi che potrebbe destare qualche sospetto, oltre al messaggio del percorso errato visto prima.

CONCLUSIONE

In questo articolo ci siamo occupati di verificare le vulnerabilità che affliggono Outlook, strumenti molto comuni.

Ribadisco che è necessario monitorare costantemente le nuove minacce per poi agire tempestivamente applicando gli aggiornamenti dei sistemi, adottare corrette policy per la gestione delle password e MFA.

In questo caso specifico, applicando gli ultimi aggiornamenti, verrà visualizzato solo questo messaggio e l’attacco verrà bloccato.

Limitare le connessioni e porte in uscita, soprattutto in ambito aziendale, è una buona pratica per mitigare questi rischi: difficilmente ci si collega in SMB (porta 445) alla ricerca di qualche file tramite internet.

E’ inoltre presente un analisi completa e tutti i dettagli tecnici sul funzionamento di questa vulnerabilità a questo link:

https://research.checkpoint.com/2024/the-risks-of-the-monikerlink-bug-in-microsoft-outlook-and-the-big-picture/

Tags:

No responses yet

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *