Gemeinsam stark – wie schädliche Tricks zusammenarbeiten

Wir haben vor Kurzem das schädliche Office-Dokument „PO.doc“ entdeckt, das keinerlei Anzeichen für Makros, Shellcode oder eine DDE-Funktionalität zeigt, aber trotzdem Malware herunterladen und ausführen kann. Dateien wie diese finden sich typischerweise in Phishing-Mails.

Aus Sicherheitssicht ist das gefährlich, weil die schädliche Datei ohne Zutun des Users auf sein Gerät gelangen und ausgeführt werden kann. Und da sehr viele Menschen ein Windows-Betriebssystem mit Microsoft Office nutzen, ist die große Mehrheit der Computernutzer von diesem Exploit bedroht.

Aus technischer Sicht ist das Programmieren einer solchen Datei eine Herausforderung: Wie ist es möglich, dass das Dokument auf so geheimnisvolle Weise Schaden anrichtet? Bei genauerer Betrachtung fanden wir heraus, dass die Payload dieser Malware zweistufig aufgebaut ist und auch zwei verschiedene Schwachstellen ausnutzt. In Kombination können diese beiden Exploits genutzt werden, um den schädlichen Inhalt der Datei zu übertragen und schädliche Aktivitäten auszuführen, ohne dass der Nutzer irgendetwas tun muss. Zudem ist die Malware so programmiert, dass die Exploits schnell falsch klassifiziert werden, was die Absichten der Malware-Autoren verschleiert.

Los geht es mit der Analyse

(Sha256: c63499f961efd7c00e55bb903d0f7773f2fb15fe2b8d31d3d9341b33950d70ab)
(Avira Erkennungsname: EXP/W2000M.CVE-2017-8759.A)

Im ersten Schritt haben wir versucht, mithilfe verschiedener Open-Source-Tools den Typ des schädlichen Dokuments „PO.doc“ zu bestimmen. Wir analysierten die Datei mit ViperMonkey, einem Open-Source-VBA-Emulator, fanden aber keine VBA-Makros.

Danach verwendeten wir OfficeMalscanner. Dieses Open-Source-Tool kann Office-Dokumente nach eingebetteten OLE-Objekten und eingebetteten Shellcode durchsuchen und bewertet, wie schädlich das geprüfte Sample ist. Auch diese Suche ergab keine Hinweise auf schädliche Aktivitäten.

Also suchten wir wiederholt in der dekomprimierten XML-Datei nach Anzeichen für schädliches Verhalten. Hier fanden wir eine in die XML-Datei des Dokuments eingebettete schädliche URL. Es handelt sich dabei um eine Funktion von Microsoft, mit der Dokumente in andere Dokumente eingebettet oder mit ihnen verknüpft werden können.

Die Erkennungsraten des Dienstes VirusTotal für diese Art von schädlicher Payload sind sehr niedrig.

In einem anderen Dokument findet sich die zweite schädliche Payload:

Der Exploit CVE-2017-8759 braucht keine Benutzerinteraktion, um die zweite Stufe der Payload zu übertragen und auszuführen.

Über diesen Exploit wird das Dokument mit der zweiten Payload eingeschleust: eine RTF-Datei, getarnt mit einer .doc-Endung.
Hier finden Sie ein POC von diesem Exploit.

(sha256: 6e44d9eed2f9f5e6139f4b6b39045294a9e5ac61ea00c2133b07c800221cd7c6)
(Avira Erkennungsname: EXP/RTFX.CVE-2017-11882.A)

Diese RTF-Datei enthält den zweiten Exploit CVE-2017-1182, der eine Schwachstelle im alten Formel-Editor EQNEDT32.EXE nutzt. Diese Schwachstelle gibt es seit über zehn Jahren. Selbst als Microsoft den Formel-Editor 2007 ersetzte, blieb die Schwachstelle bis Ende 2017 bestehen. „EQNEDT32.EXE“ existierte aus Gründen der Abwärtskompatibilität noch auf allen Office-Versionen bis Office 2016. Wie man sieht, ist der Exploit in das im Screenshot unten hervorgehobene OLE-Objekt eingebettet.

Im Hintergrund sehen wir, dass der RTF-Exploit ausgeführt und der Prozess „EQNEDT32.EXE“ gestartet wurde. Und zwar ohne dass der Nutzer irgendetwas anderes getan hat, als ein Microsoft Office-Dokument zu öffnen.

 

Noch einmal zusammengefasst:

Erstens sind Office-Dokumente mit zwei Exploits eine Besonderheit. Zweitens nutzt fast jeder Windows und Microsoft Office, sodass es eine Vielzahl an Endpunkten gibt, die für diesen Exploit anfällig sind. Wir glauben, dass Malware-Autoren genau diese Kombination gewählt haben, um so viele Geräte wie möglich zu infizieren, ohne einen gezielten Angriff zu starten.

Hier die einzelnen Schwachstellen:

CVE-2017-8759 ist eine Schwachstelle, die eine Remote-Code-Ausführung erlaubt und auftritt, wenn das Microsoft-.Net-Framwork nicht vertrauenswürdige Eingaben verarbeitet. Genauer gesagt handelt es sich um die Schwachstelle mit einer SOAP WSDL Parser-Code-Injektion. Sie lässt den Angreifer beliebigen Code ausführen, während das .NET Framework den Inhalt der SOAP-WSDL-Definition analysiert.

CVE-2017-11882 ist ebenfalls eine Schwachstelle, die eine Remote-Code-Ausführung erlaubt, allerdings bezogen auf Microsoft Office-Software. Dies passiert, wenn Microsoft Office Objekte im Speicher nicht ordnungsgemäß verarbeitet. Der Angreifer könnte dann im Rahmen der Rechte des aktuellen Benutzers beliebigen Code auf dem betroffenen System ausführen.

In Kombination können diese beiden Exploits genutzt werden, um den schädlichen Inhalt der Datei zu übertragen und schädliche Aktivitäten auszuführen, ohne dass der Nutzer irgendetwas tun muss. Der erste Exploit wird auf den ersten Blick fälschlicherweise oft als CVE-2017-0199 eingestuft. Das ist zwar auch eine Schwachstelle, die eine Remote-Code-Ausführung erlaubt, nutzt jedoch eine Schwachstelle im HTA-Handler.

Die Verwendung von CVE-2017-8759 ist sehr interessant, da bekannt ist, dass alle Windows-Betriebssysteme standardmäßig mit dem .NET Framework ausgestattet sind. Dadurch, dass das .NET Framework aus Kompatibilitätsgründen nicht regelmäßig aktualisiert wird, vergrößert sich die Angriffsfläche und -wirkung sogar noch. Viele der heute erhältlichen Programme funktionieren nur mit einer anfälligen Version dieses Frameworks.

Dieser Artikel ist auch verfügbar in: Englisch