Zeitlose Klassiker oder eine Übersicht über neue Angriffsmethoden über Microsoft Office

Bild
Hacker nutzen seit Jahrzehnten menschliche Leichtgläubigkeit und Nachlässigkeit. Die meisten Benutzer öffnen ohne zu zögern einen harmlosen E-Mail-Anhang auf den ersten Blick und starten, ohne es zu wissen, Malware. Um sich vor solchen Angriffen zu schützen, müssen Sie den Feind persönlich kennen. Heute werden wir versuchen herauszufinden, wie die drei neuen Techniken zur Ausführung von Code in Office-Anwendungen, die in diesem Jahr entdeckt wurden, angeordnet sind und welche Methoden zum Schutz gegen sie existieren.


Xlm-Makros


Outflank-Experten haben eine neue Methode eingeführt, um Code in MS Office Excel über sogenannte XLM-Makros auszuführen (nicht zu verwechseln mit XML). Obwohl die XLM-Makrotechnologie seit über 26 Jahren verwendet wird (erstmals in Excel 4.0 für Windows 3.0 / 3.1 verfügbar), wird sie von allen Versionen von Microsoft Office Excel bis Office 2016 weiterhin unterstützt.


Um ein XLM-Makro in Excel zu erstellen, müssen Sie die folgenden Schritte ausführen:
Wählen Sie im Kontextmenü der Excel-Tabelle „Einfügen“.


Bild


Wählen Sie als nächstes "MS Excel 4.0".


Bild


Infolgedessen wird das Blatt „Macro1“ angezeigt, in dessen Zelle mit der Funktion „EXEC“ der gewünschte Prozess gestartet werden kann. Um ein Makro automatisch auszuführen, muss die erste Zelle in "Auto_open" umbenannt werden (ähnlich der AutoOpen () -Prozedur in VBA-Makros).


Nach dem Öffnen eines gespeicherten Dokuments wird eine Standardbenachrichtigung mit der Aufforderung zum Ausführen eines Makros angezeigt.


Bild


Das Makroblatt kann durch Auswahl von „Ausblenden“ im Kontextmenü ausgeblendet werden.


Zusätzlich zur Möglichkeit, Prozesse zu starten, können XLM-Makros mithilfe der Funktionen REGISTER und CALL auf die Win32-API zugreifen. Das Folgende ist der PoC-Code für ein Makro, das eine Shellcode-Injektionstechnik implementiert.


Bild


Gleichzeitig wird die CHAR-Codierungsfunktion verwendet, um die Zeichen des Shell-Codes in der Makrozelle zu speichern. Um Null-Bytes zu entfernen, können Sie das Dienstprogramm msfvenom verwenden, das Teil des Metasploit Framework ist.


Durch die Speichermethode in einer Excel-Datei unterscheiden sich XLM-Makros erheblich von den klassischen VBA-Makros, die ein Jahr später in Excel 5.0 angezeigt wurden. Im neuen Excel-XLSM-Format, bei dem es sich um ein ZIP-Archiv handelt, werden XLM-Makros in einer XML-Datei im Makrosheets-Verzeichnis gespeichert. Im XLSL-Format (Excel 97-2003) wird das Makro in einem OLE-Stream gespeichert.


Ferner ist zu sehen, dass das VBA-Makro in einem separaten Container (in der Abbildung links) gespeichert ist, während sich die XLM-Makros im selben Datencontainer befinden.


Bild


Diese Unterschiede bei den Methoden zum Speichern von Makros wirken sich erheblich auf die Qualität ihrer Erkennung durch Virenschutzprogramme aus. Insbesondere die AMSI-Technologie (Antimalware Scanning Interface) unterstützt XLM trotz der behaupteten Unterstützung durch Office 365 nicht.


Beispielsweise wurde der Metasploit Powershell-Code web_delivery in Excel mithilfe von VBA- und XLM-Makros implementiert (in den folgenden Abbildungen).


Bild


Bild


In Virustotal löste ein Excel-Dokument mit einem VBA-Makro 21 von 59 Antivirenprogrammen aus.


Bild


Gleichzeitig erregte ein ähnliches Dokument mit einem XLM-Makro keinen Verdacht auf Virenschutz.


Bild


Demonstration
Codeausführung über XLM-Makros in Office



Microsoft Office Online-Video


Das Cumulate-Forschungsteam hat eine neue Möglichkeit gefunden, Code in Word auszuführen, indem Videos mithilfe von Online-Videos eingefügt werden. Mit diesem Element können Sie dem Dokument YouTube-Videos hinzufügen und den Link dazu durch JavaScript-Code ersetzen, der in Internet Explorer ausgeführt wird, wenn Sie das Dokument öffnen und auf das Video klicken. Die folgenden Vektoren eignen sich am besten für Social Engineering:


  • Hinzufügen eines Exploit-Codes für IE / Flash in einem Iframe mit einem YouTube-Video.
  • Hinzufügen von JavaScript-Code im Iframe mit dem YouTube-Video mithilfe der msSaveOrOpenBlob-Methode, über die empfohlen wird, die schädliche Datei herunterzuladen und auszuführen. Der Hauptteil der Datei ist in Base64-Javascript enthalten.

So erstellen Sie eine Datei mit der Erweiterung docx Bei der beschriebenen Belastung müssen Sie folgende Schritte ausführen:


1. Fügen Sie ein YouTube-Video über „Einfügen - Online-Video“ hinzu.


Bild


2. Speichern Sie die erstellte docx-Datei.


3. Entpacken Sie das gespeicherte Dokument. Docx-Format ist ein Zip-Archiv mit folgenden Inhalten:
Bild


4. Fügen Sie im Word-Verzeichnis in der Datei document.xml im Element embeddedHtml Ihren JavaScript-Code hinzu, indem Sie ihn in den iframe-Text einfügen oder den entsprechenden Link (src) im iframe ersetzen.


5. Erstellen Sie ein Zip-Archiv (mit der Erweiterung docx) mit den vorgenommenen Änderungen.


Außerdem muss der Benutzer beim Öffnen der generierten docx-Datei auf den Videolink klicken und die heruntergeladene Datei starten. Alternativ können Sie einen Screenshot mit einem Vorschlag zum Aktualisieren von Flash Player anzeigen und den Benutzer auffordern, die Datei herunterzuladen und auszuführen. Es werden keine Sicherheitswarnungen angezeigt.


Bild


Wie bei XLM-Makros wird diese Technik der Codeausführung von keinem Virenschutzprogramm auf Virustotal erkannt und sieht für Virenschreiber sehr attraktiv aus. Sie ist auch im Rahmen von Penetrationstests im Social Engineering üblich.


Demonstration
Codeausführung über Online-Video in Office



Vba stampft


Auf der Derbycon 2018-Konferenz wurde eine Technik zum Starten von VBA-Makros in Office-Dokumenten vorgestellt , die als VBA-Stomping bezeichnet wird. Die Essenz der Technik besteht darin, den VBA-Quellcode im Hauptteil des Office-Dokuments zu löschen / zu ändern (als Alternative zum Füllen mit Nullen), wobei der kompilierte Makrocode namens p-Code unberührt bleibt. Der VBA-Code sowie seine kompilierte Version befinden sich in der Datei vbaProject.bin im Zip-Archiv (Datei mit der Erweiterung .docm, .xslm).


Bild


Daher läuft die Technik darauf hinaus, einen Teil der Datei vbaProject.bin zu löschen / mit Nullen zu füllen.


Bild


Infolgedessen verursacht das Dokument keinen Verdacht bei Antivirenprogrammen, die ein Makro nur anhand seines Quellcodes analysieren. Mithilfe dieser Technik konnten die Forscher beispielsweise die Anzahl der Antiviren-Antworten auf den Emotet-Banking-Trojaner, der über Office-Dateien verteilt wird, auf Virustotal von 36/59 auf 7/58 reduzieren.


Bild


Bild


Diese Technik macht es auch schwierig, die Datei zu analysieren, da kein einziges Tool ohne Rückgriff auf die Dekompilierung den VBA-Quellcode extrahieren kann, der auch erst im Office-Makro-Editor angezeigt wird, wenn er aufgelöst ist.


Schutz


Empfehlungen zum Gegensteuern der beschriebenen Techniken sind traditionell zum Schutz vor Social-Engineering-Methoden:


  1. Sensibilisierung der Mitarbeiter für Fragen der Informationssicherheit.
  2. Verbieten Sie die Verwendung von Makros in Microsoft Office.
  3. Ein integrierter Ansatz zur Gewährleistung der Informationssicherheit, einschließlich der Verwendung von Endpoint-Lösungen sowie von Perimeter-Sicherheitstools (Firewalls der nächsten Generation, UTM-Lösungen, Mail-Gateways).

Source: https://habr.com/ru/post/de433142/


All Articles