In den letzten Jahren sind mit der Polyglott-Technik erstellte Dateien immer häufiger bei Cyberangriffen aufgetaucht. Sie ermöglichen es Angreifern, Malware an E-Mail-Filtern und Dateiscannern vorbei zu schleusen, Opfer bei Phishing-Angriffen zu täuschen und die Untersuchung von Vorfällen zu erschweren. Um dies zu erreichen, erstellen Angreifer absichtlich eine Datei, die ein System als unterschiedliche Formate interpretieren kann, je nachdem, welches Programm sie öffnet. Ein klassisches Beispiel ist eine Datei, die als PNG-Bild oder als ZIP-Archiv behandelt werden kann. Es genügt, die Erweiterung der Datei zu ändern oder die Datei mit dem einen oder anderen Programm zu öffnen.
Lass uns einen Blick darauf werfen, warum Dateien wie diese überhaupt erstellt werden können, welche Formatkombinationen bei realen Angriffen aufgetreten sind und wie sich Unternehmen vor dieser Bedrohung schützen können.
Warum Polyglott-Dateien möglich sind
Die Datenformate hinter Polyglott-Dateien sind selten exotisch. Es kommt auf eine geschickte Kombination gängiger Formate an, die zufällig strukturell kompatibel sind. Polyglotten machen sich in bestimmten Dateiformaten mindestens eine der folgenden Eigenarten zunutze:
- Die meisten Dateiformate müssen ab dem ersten Byte decodiert werden, manche müssen jedoch vom Ende gelesen werden. Das deutlichste Beispiel ist ein ZIP-Archiv: Ein beschädigter oder fehlender Anfang hält Programme nicht davon ab, die Datei zu lesen, da sich alle benötigten Header tatsächlich am Ende befinden. Auf diese Weise können Angreifer einfach zwei Dateien zusammenfügen – im obigen Beispiel eine PNG und eine ZIP-Datei. Der Anfang wird als gültiges PNG-Bild gelesen, während das Ende als gültiges ZIP-Archiv gelesen wird.
- Viele Formate funktionieren wie verschachtelte russische Matroschka-Puppen: Obwohl sie äußerlich eine bestimmte Erweiterung haben, die ihrem Verwendungszweck entspricht, befindet sich im Inneren der Datei im Wesentlichen ein ZIP-Archiv mit den erforderlichen Daten. Zu dieser Gruppe gehören moderne Office-Dokumente (DOCX/XLSX/PPTX), Android-Installationspakete (APK), Java-Bibliotheksdateien (JAR) und viele andere.
- Für einige Formate gelten keine strengen strukturellen Anforderungen – oder ihre Anforderungen sind so locker, dass das Programm, das die Datei verarbeitet, das benötigte Fragment finden kann, auch wenn es sich nicht am Anfang befindet.
Das GitHub-Repository von Polydet beschreibt zahlreiche Beispiele für mögliche Dateikombinationen, um ein Polyglott zu erstellen. Unter der MITRE-Klassifikation fällt diese Technik in die Kategorie Maskerade (T1036.008, Dateityp Maskerade).
Beispiele für Polyglott-Dateien bei bekannten Cyberangriffen
Öffentlich verfügbare Analysen von Malware-Kampagnen enthüllen alle Arten von Polyglotten. Angreifer passen das gesamte Angriffsszenario an eine bestimmte Kombination von Dateitypen an.
Die Gruppe Head Mare lieferte die Malware PhantomPyramid als ZIP-Anhang. Die Datei bestand aus ausführbarem Windows-Code (EXE) mit einem kleinen ZIP-Archiv, das am Ende angefügt war. Als das Opfer das Archiv öffnete, enthielt es eine Datei mit der Erweiterung PDF.LNK, die dann denselben Polyglott-Anhang startete – diesmal als ausführbare Datei.
Bei dem von JPCERT dokumentierten Angriff erstellten Angreifer eine PDF-Datei, die von den meisten Scannern als PDF erkannt wurde, aber die Erweiterung DOC trug und in Office-Programmen als gültige DOC-Datei mit bösartigen Makros geöffnet wurde.
Bei den Angriffen zur Verbreitung der Trojaner StrRAT und Ratty wurde ein Polyglott verwendet, das aus einem signierten Windows-Installer-Paket (MSI) mit angehängtem bösartigem Java-Code (JAR) erstellt wurde.
Bei den StrelaStealer-Angriffen wurde ein Polyglott mit einer HTML-Erweiterung verwendet: eine Windows-Bibliothek (DLL) mit einem angefügten HTML-Dokument als Lockvogel. Eine Verknüpfung im Archiv startete die Datei zweimal: einmal über den Startbefehl (das entspricht einem Doppelklick, wodurch ein Browser geöffnet wird, in dem das HTML-Dokument angezeigt wird) und einmal über rundll32 (wodurch die schädliche DLL gestartet wird).
In einem simulierten, aber eleganten Angriff fügten die Forscher zwei gewöhnliche ZIP-Dateien zusammen und stellten fest, dass verschiedene gängige Archivierungstools die kombinierte Datei unterschiedlich anzeigten: Einige zeigten nur das erste Archiv, andere nur das zweite und andere zeigten beide gleichzeitig an, als ob es sich um einzelnes Archiv mit freigegebenen Inhalten handelte. Wenn der Angreifer mit der Infrastruktur des Opfers vertraut ist und weiß, welche Software er installiert hat, kann er diese Kombination verwenden, um den Sicherheitstools eine Datei und dem Opfer eine andere Datei anzuzeigen.
Angreifer setzten in einer Kampagne, die den Infostealer IcedID verbreitete, eine komplexe Malware-Matroschka ein. Sie hängten ein ZIP-Archiv an Phishing-E-Mails an; beim Entpacken entstand eine ISO-Datei. Diese ISO wurde wiederum in eine CHM-Datei (Windows-Hilfe) entpackt, die mit der Polyglott-Technik erstellt wurde. Als das Opfer sie mit der Windows-Standardhilfe öffnete, führte die Datei ein in den Hilfeinhalten eingebettetes JavaScript-Skript aus, das die Standardanwendung mshta (Microsoft HTML Application Host) startete und auf dieselbe CHM-Datei zeigte. Die Autoren der Kampagne packten eine HTA-Anwendung so in die CHM-Datei, dass ihr Vorhandensein das Lesen der Datei als harmloses Hilfedokument nicht beeinträchtigt. Der HTA-Handler überspringt seinerseits den gesamten Junk am Anfang der Datei, bis er das HTA-Skript findet.
So gehen Sicherheitstools mit Polyglott-Dateien um
Die obigen Beispiele machen deutlich, wie Angreifer mit diesem Trick des doppelten Lesens Malware auf dem Computer des Opfers verteilen können. Aber was machen E-Mail-Filter und EDR-Systeme eigentlich mit solchen Dateien? Die Antwort hängt vollständig von der jeweiligen Lösung ab und muss daher überprüft werden – entweder durch Durchsicht der technischen Dokumentation des Anbieters oder durch einen kontrollierten Test in der Unternehmensinfrastruktur unter Einhaltung aller erforderlichen Vorsichtsmaßnahmen. Im Allgemeinen gelten nur zwei Punkte auf der ganzen Linie:
- Die meisten Sicherheitslösungen vertrauen der angegebenen Erweiterung einer Datei nicht; Stattdessen überprüfen sie den Anfang, um die tatsächliche Struktur der Datei zu ermitteln. Aus diesem Grund wurde bei dem oben beschriebenen Angriff die PDF-Datei mit der Erweiterung DOC als harmloses PDF analysiert, während sich das bösartige Makro im angefügten DOC-Teil befand.
- Wenn eine Datei zunächst harmlos ist (z. B. ein Bild) und ihre Erweiterung übereinstimmt, wird sie wahrscheinlich nicht genauer analysiert. Angreifer können dies ausnutzen: Anweisungen, die der Datei beigefügt sind, können das Opfer auffordern, sie umzubenennen, damit das Systemverhalten an die zweite Nutzlast und nicht an das Bild gebunden ist.
So schützt man ein Unternehmen vor Angriffen mit Polyglott-Dateien
Zum Schutz vor Polyglott-Dateien sind keine komplexen technischen oder organisatorischen Lösungen erforderlich, sondern es wird eine solide und einheitliche Sicherheitshygiene im gesamten Unternehmen benötigt:
- Verwende geschlossene Allow-Listen mit Programmen, die auf den Workstations der Mitarbeiter ausgeführt werden dürfen. Ausgeschlossen sind veraltete Windows-Programme, ungenutzte Microsoft-Verwaltungstools, Programme für den Fernzugriff und die Dateiübertragung sowie alles andere, was als potenziell gefährlich oder veraltet gilt.
- Verwende ausgereifte E-Mail-Sicherheitslösungen, die mit CDR-Technologie (Content Disarm and Reconstruction Technology, die verdächtige Anhänge entschärft und in sicherere Versionen umbaut) und Detonationstechnologie (verdächtiges Zubehör zur Analyse in einer isolierten Umgebung ausführen) ausgestattet sind. Konfiguriere die Tiefenanalyse für Anhänge, die äußerlich polyglott sind: alle Archiv- und Office-Dateien, Dateien mit nicht standardmäßigen Erweiterungen usw.
- Ebenso kannst du die EDR-Lösung so konfigurieren, dass auch eine eingehende Analyse potenzieller Polyglotte durchgeführt wird.
- Erstelle Überwachungsregeln, die auf ungewöhnliche Kombinationen aus einem Prozess und den ihm zur Verarbeitung übergebenen Dateien aufmerksam machen – wie beispielsweise eine CHM-Datei, die über mshta gestartet wird, oder eine HTML-Datei, die über rundll32 gestartet wird, wie in den Beispielen oben gezeigt.
- Füge dem verwendeten Programm zur Verbesserung der Sicherheit grundlegende Informationen über Polyglotten hinzu, damit Benutzer wachsam bleiben, wenn sie aufgefordert werden, die Erweiterung einer Datei zu ändern oder die Datei auf andere Weise auf ungewöhnliche Weise zu behandeln – beispielsweise, um sie in einem bestimmten Programm zu öffnen.
Malware
Tipps