Fernzugriffs-Trojaner wie StrRAT und Ratty werden als eine Kombination aus polyglotten und bösartigen Java-Archivdateien(JAR) verbreitet. Dies zeigt einmal mehr, dass Bedrohungsakteure immer neue Wege finden, um unter dem Radar zu fliegen.

„Angreifer nutzen jetzt die Polyglot-Technik, um Sicherheitslösungen zu verwirren, die das JAR-Dateiformat nicht richtig validieren“, so Deep Instinct-Sicherheitsforscher Simon Kenin in einem Bericht.

Polyglot-Dateien sind Dateien, die die Syntax von zwei oder mehr verschiedenen Formaten so kombinieren, dass jedes Format geparst werden kann, ohne einen Fehler zu verursachen.

Eine dieser Kampagnen, die von der Cybersecurity-Firma entdeckt wurde, ist die Verwendung von JAR- und MSI-Formaten – d.h. eine Datei, die sowohl als JAR- als auch als MSI-Installationsprogramm gültig ist – um die StrRAT-Nutzlast zu verteilen. Das bedeutet auch, dass die Datei sowohl von Windows als auch von der Java Runtime Environment (JRE) ausgeführt werden kann, je nachdem, wie sie interpretiert wird.

Ein weiteres Beispiel ist die Verwendung von CAB- und JAR-Polyglots, um sowohl Ratty als auch StrRAT zu verteilen. Die Artefakte werden über URL-Verkürzungsdienste wie cutt.ly und rebrand.ly verbreitet, wobei einige von ihnen auf Discord gehostet werden.

„Das Besondere an ZIP-Dateien ist, dass sie durch das Vorhandensein eines End-of-Central-Directory-Records am Ende des Archivs gekennzeichnet sind“, erklärt Kenin. „Das bedeutet, dass jeder ‚Müll‘, den wir am Anfang der Datei anhängen, ignoriert wird und das Archiv trotzdem gültig ist.“

Das Fehlen einer angemessenen Validierung der JAR-Dateien führt zu einem Szenario, in dem bösartige angehängte Inhalte die Sicherheitssoftware umgehen können und unentdeckt bleiben, bis sie auf den kompromittierten Hosts ausgeführt werden.

Dies ist nicht das erste Mal, dass solche mit Malware verseuchten Polyglots in freier Wildbahn entdeckt wurden. Im November 2022 entdeckte das Berliner Unternehmen DCSO CyTec einen Informationsdiebstahl mit dem Namen StrelaStealer, der sich als DLL/HTML-Polyglot verbreitet.

„Die richtige Erkennung für JAR-Dateien sollte sowohl statisch als auch dynamisch sein“, sagt Kenin. „Es ist ineffizient, jede Datei auf das Vorhandensein eines End-of-Central-Directory-Records am Ende der Datei zu überprüfen.

„Verteidiger sollten sowohl ‚java‘ als auch ‚javaw‘ Prozesse überwachen. Wenn ein solcher Prozess ‚-jar‘ als Argument hat, sollte der als Argument übergebene Dateiname als JAR-Datei behandelt werden, unabhängig von der Dateierweiterung oder der Ausgabe des Linux-Befehls ‚file‘.“