Archiv-Abgründe: ZIP-Malware-Tricks ausgepackt & erklärt
Seite 4: Booom!
Ein bekannter Klassiker unter den ZIP-Tricks darf in diesem Artikel natürlich nicht fehlen – nämlich jene besonders clevere Archivbombe, die der Sicherheitsforscher David Fifield 2019 konzipierte und vorstellte. Solche "Bomben" basieren auf der Idee, Inhalte so stark zu komprimieren, dass sie nach dem Entpacken ein Vielfaches der ursprünglichen Archivgröße aufweisen. Dies kann RAM, Festplatte und System überfordern und letzteres zum Absturz bringen.
Häufiger jedoch beabsichtigen die Bombenbauer, Anti-Virensoftware in endlose Scanschleifen zu versetzen und damit außer Gefecht zu setzen. Um dies zu erreichen, setzen sie gern auf eine tiefe Verschachtelung mehrfach gepackter Inhalte. Prominentes Beispiel dieses rekursiven Ansatzes: das rund 42 Kbyte große Archiv "42.zip", das ausgepackt auf 4,3 GByte anwächst.
Fifields Bombe hingegen enthält nur eine einzige, zugunsten einer geringen Archivgröße klein gewählte Datei. Der "Explosionseffekt" beim Entpacken entsteht dadurch, dass Packprogramme die Datei ("Kernel") dank der speziell konzipierten Archivstruktur mehrfach auspacken und so letztlich eine große Datenmenge auf dem System erzeugen.
(Bild:Â bamsoftware.com)
Um diesen Effekt zu erreichen, stellte Fifield dem Kernel statt nur einem gleich mehrere lokale Dateiheader voran, die er dann nacheinander über das Central Directory referenzierte. Jeder Central Directory-Eintrag wie auch der jeweils zugehörige lokale Header enthält Angaben zum Dateinamen und zur komprimierten Größe des jeweiligen Elements. Indem der Forscher fortlaufende Dateinamen (nach dem Muster "0", "1" ... "Z") generierte, verhinderte er, dass sich die entpackten Kernel-Instanzen auf dem System gegenseitig überschrieben.
Bei den Größengaben berücksichtigte er immer die noch nachfolgenden Dateiköpfe. So erreichte er, dass der verwendete DEFLATE-Kompressionsalgorithmus diese als Teil des Datenstroms interpretierte und beim Entpacken der Datei-Instanzen "mitnahm". Durch Optimierung dieses – hier sehr vereinfacht dargestellten – Verfahrens konnte Fifield letztlich stolze 281 TByte in einer 10-MByte-Bombe verstauen.
Derzeit sind Archivbomben kein brandheißes Thema. Das kann sich jedoch auch schnell wieder ändern: VirusTotal-Scanergebnisse zu Fifields Kreation belegen, dass mancher AV-Scanner bis heute nicht gut mit dem nicht-rekursiven Ansatz zurechtkommt. In seiner eigenen detaillierten Beschreibung der Bombe stellte sich Fifield zudem die Frage, ob die Erkennung wohl wirklich robust sei – oder ob nicht vielleicht schon kleinere Modifikationen des Aufbaus diese wieder aushebeln könnten.
Eine Schachtel ohne Boden
Die Beispiele aus unserem Artikel dürften Ihnen eine Vorstellung von der großen Vielfalt denkbarer Angriffs- und Anti-Analyse-Strategien auf Basis manipulierter ZIP-Strukturen vermittelt haben. Wirkungsvoll sind solche Manipulationen vor allem deshalb, weil verschiedene Programme (teils sogar versionsabhängig) völlig unterschiedlich auf sie reagieren und Cyberkriminelle dies clever auszunutzen wissen.
Zu den endlos variierbaren Format-Anomalien, die Parser abfangen müssen, gesellen sich zu allem Überfluss noch weitere Angriffsmöglichkeiten. Dazu zählt etwa der 2018 vom Snyk-Team vorgestellte "Zip Slip"-Exploit, der zahlreiche Programmbibliotheken betraf und noch heute immer wieder einmal betrifft.
Zip Slip fußt auf der Tatsache, dass ZIP, aber auch andere Archivformate wie .rar oder .7z keine Einschränkungen bezüglich des Formats von Dateinamen vorgeben. Der Dateiname "../../evil.sh" beispielsweise ist innerhalb eines solchen Archivs zulässig. Das kann zum Problem werden, wenn es auch den fürs Extrahieren zuständigen Programmbibliotheken an Kontrollmechanismen mangelt. Fehlen Zugriffsbeschränkungen für Dateien und Verzeichnisse, sind auf dem Zielsystem sogenannte Path Traversal-Angriffe möglich, bei denen die ausgepackte Datei entsprechend ihrer Namensstruktur außerhalb des ursprünglichen Zielverzeichnisses landet.
Mit immer neuen und unerwarteten Archiv-Abgründen ist auch künftig zu rechnen. Ein guter Grund, das ZIP-Format nicht zu unterschätzen und nicht nur dem offensichtlichen Inhalt verdächtiger Archive mit gesundem Misstrauen zu begegnen.
(ju)