Archiv-Abgründe: ZIP-Malware-Tricks ausgepackt & erklärt
In ZIP als Angriffsvektor steckt mehr als manche glauben – und formatspezifische Eigenarten sorgen immer wieder für böse Überraschungen.
(Bild: erstellt mit Bing Image Creator durch ovw)
ZIP-Archive sind als Bestandteil von Malware- und Phishing-Kampagnen Klassiker im negativsten Sinne. Immer wieder ziehen Hacker neue Tricks aus dem Hut, wie sie damit entweder Schutzfunktionen umgehen oder sogar direkt Angriffe starten können. In den letzten Monaten entdeckten Forscher mehrfach Malware, die sich in ZIP-Dateien gezielt an Antiviren-Software vorbeimogelte.
Deshalb erklären wir die typischen Tricks der Kriminellen anhand aktueller Phishing-Kampagnen mit aneinandergehängten Archiven sowie neu aufgetauchter Varianten erprobter Anti-Analyse-Tricks. Und wir zeigen, dass eine fünf Jahre alte Archivbombe noch heute Zündstoff für Angriffe bietet.
Videos by heise
Wann ist ein ZIP ein ZIP?
Will man die Taktiken der Angreifer verstehen, kommt man um ein wenig Theorie zum ZIP-Format nicht herum. 1989 vom Programmierer Phil Katz entwickelt und veröffentlicht, stellt es flexible Container für Dateien beliebigen Typs bereit und kann darüber hinaus auch die zugehörige Verzeichnisstruktur abbilden. Optionale, verlustfreie Kompression hilft, Speicherplatz zu sparen und Daten schneller zu übertragen. Neben diesen offensichtlichen Vorzügen dürfte auch der Public Domain-Status des Archivformats dazu beigetragen haben, dass es sich schnell verbreitete und etablierte.
Heute ist ZIP ganz selbstverständlich – und oft ohne dass wir uns dessen überhaupt bewusst sind – fester Bestandteil verschiedenster Softwareprojekte und -anwendungen. So sind E-Books mit .epub-Endung, moderne Office-Dateien (z.B. .docx, xlsx) sowie Java-Archive und Android-Packages (.jar, .apk) technisch erst einmal ZIP-Archive, deren Inhalt man sich nach Umbenennen in .zip mit einem beliebigen Packprogramm oder auch mit Bordmitteln des Betriebssystems anschauen kann. Erst zusätzliche spezifische Pflichtkomponenten und Strukturvorgaben von außerhalb der ZIP-Spezifikation machen die jeweilige Datei zum Word-Dokument oder zur Android-App.
Damit ein ZIP spezifikationsgemäß ein ZIP ist, bedarf es hingegen nur zweier Elemente am Archivende: eines sogenannten Central Directories als "Inhaltsverzeichnis" sowie eines unmittelbar dahinter folgenden End of Central Directory-Eintrags (EOCD).
(Bild: Wikimedia Commons / Niklaus Aeschbacher / CC BY-SA 3.0)
Klassischerweise analysieren Parser das ZIP-Format von hinten nach vorn. Sie identifizieren zunächst das EOCD anhand einer feststehenden, mit "PK" (für Phil Katz) beginnenden Byte-Signatur und entnehmen ihm unter anderem Informationen zu Größe und Speicheradresse (Offset) des Central Directory. Dieses wiederum widmet jedem einzelnen Element im Archiv einen Eintrag mit Metadaten und den Offsets zu den lokalen, ebenfalls mit "PK" beginnenden Dateiheadern. Jedem Element ist ein solcher Header mit Informationen vorangestellt, die zum korrekten Entpacken nötig sind.
Wer tiefer in die ZIP-Struktur eintauchen will, dem sei das detaillierte "ZIP Archive Walkthrough" von Sicherheitsforscher Corkami empfohlen.