Hi! Im folgenden Tutorial erkläre ich, was eine Archivbombe (RAR-Bombe bzw. ZIP-Bombe) ist, wie sie funktioniert und aufgebaut ist, und wie man sich schützen kann.
Was ist eine Archiv-Bombe?
Eine große Datei die aus einem sich immer wieder wiederholenden Zeichen besteht, wird in einer Archiv Datei komprimiert.
Beispiel: In der Original Datei steht: „0000000000000“, dann muss nur gespeichert werden, dass 13 mal „0“ vorhanden ist.
Kein Problem. Aber es ist auch möglich, dass 13 Milliarden mal “0″ in der Datei steht.
Was ist daran jetzt so gefährlich?
Aktuelle Virenscanner sind darauf eingestellt, auch Archivierte Dateien zu scannen, z.B. ZIP Dateien aus E-Mails, oder RAR-Downloads. Damit die Dateien gescannt werden können, wird das Archiv entpackt.
Ein potentieller Angreifer kann so ohne großen Aufwand die Festplatte seines Opfers mit sinnlosen Daten überfluten.
Eine Datei mit minimaler Größe wird nicht für verdächtig befunden sondern wird per E-Mail heruntergeladen oder als Download auf einer Webseite. Diese minimale Größe wird dann allerdings beim (automatischen) entpacken stark multipliziert. Meist kann die Festplatte bzw. der Arbeitsspeicher diese gigantische Datenmenge nicht verwalten. So kann ein System komplett zum Stillstand kommen, der Scanvorgang dauert unnötig Zeit, oder die Festplatte ist mit den sinnlosen Daten überflutet. Deshalb kann man eine Archivbombe auch als (lokale) DoS Attacke einstufen.
Nach dieser Methode funktioniert das ‘Virus’ 42.zip (probierts aus ;))! Die Webseite unforgettable.dk schreibt über 42.zip:
Die Datei enthält 16 gezippte Dateien,
die wiederum 16 gezippte Dateien enthalten,
die wiederum 16 gezippte Dateien enthalten,
die wiederum 16 gezippte Dateien enthalten,
die wiederum 16 gezippte Dateien enthalten,
die jeweils 1 Datei mit der Größe 4.3 GB enthält.16 x 4294967295 = 68.719.476.720 (68GB)
16 x 68719476720 = 1.099.511.627.520 (1TB)
16 x 1099511627520 = 17.592.186.040.320 (17TB)
16 x 17592186040320 = 281.474.976.645.120 (281TB)
16 x 281474976645120 = 4.503.599.626.321.920 (4,5PB)
Das will ich doch gleich mal ausprobieren!
Aus Demonstrationszwecken habe ich ein kleines PHP-Skript geschrieben, das auf die schnelle, abhängig von einigen Einstellungen, eine große Datei generieren kann.
$character ist der Buchstabe mit dem die Datei gefüllt werden soll.
$filename ist der Name der Datei die generiert werden soll.
$lines ist die Anzahl der Zeilen die geschrieben werden sollen. Das ist ungefähr der MB Wert der Datei die generiert wird
Jetzt führen wir die Datei aus und generieren uns eine große Datei.
Unter Windows funktioniert das mit XAMPP ungefähr so:
C:\Programme\xampp\php\php.exe C:\mcsecu\bomb.php
Danach packen wir die erstellte Datei mit WinRAR. Wir nehmen folgende Optionen:
Archivformat: RAR
Kompressionsmethode: Sehr gut
Und unter Erweitert -> Kompression
Text-Kompression: Erzwingen
Wörterbuchgröße: 64kb
Und warten einen Moment…
Wenn du die Parameter gelassen hast, wie sie waren, war die Datei anfangs ca. 86mb groß, und ist sie jetzt nur noch 9kb groß!
Das ganze funktioniert natürlich auch in größeren Dimensionen, siehe 42.zip.
Einige ganz clevere Leute modifizieren auch die Header Informationen in den Archiv Dateien, sodass Dateien z.B. als 10kb angesehen werden, aber wenn sie entpackt werden in wirklichkeit viel mehr Speicherplatz einnehmen.
Und wie kann ich mich schützen?
Man kann sich gegen Archivbomben schützen, indem man prinzipiell nur Dateien annimmt von Personen und Webseiten, von denen man weiß, dass man ihnen vertrauen kann. Ein technischer Schutz wäre, in seinem Anti-Viren-Programm einzustellen, dass Archiv-Dateien nicht automatisch entpackt & gescannt werden! Vor einiger Zeit wurde mir dann noch ein interessanter Tipp genannt (Danke an d!zZ0r): Man erstellt sich eine extra Partition mit z.B. 5 oder 10 GigaByte und lagert dann das Tempverzeichnis des Anti-Virus Programmes auf diese Partition aus. Wenn das Anti-Virus nun ein solches Archiv automatisch entpackt, ist das kein Problem. Gegebenenfalls kann man die Partition dann einfach leeren :-). Du solltest aber einfach immer daran denken: Technik allein schützt dich nicht. Dein Computer ist nur so gut geschützt, wie der schwächste Faktor. Und das bist du! Also immer die Augen offen halten und paranoid sein. Das hilft. Wirklich.
Greetz to Makkuro, brabbelj, LuTroX und d!zZ0r, neo2k4, m0rph, AnubizZ, stalker69, katharsis, Luna, -DX-, …
« Einstellungen in INI ausgelagert – Neue 3DS Klasse »
CSS · © 2007 McSecu
Wasist dasfürein Müll,
bei xamp wenn ich die php.exe starte und das eingebe C:\mcsecu\bomb.php passiert nichts da passiert auch nichts wenn ich ein scheiß eingebe. Bitte etwas genauer beschreiben man das versteht doch nicbht jeder. Jetzt sitze ich schon 4 stunden lang rum nur um das zu verstehen.
Kommentar: Matthias – 18. Juni 2008 @ 13:05
Hallo Matthias!
Bitte entspann dich erstmal :).
Öffne einfach deine normale Konsole, bei Windows XP geht das mit Start->Ausführen: cmd
Dann gibst du dort diese beiden Pfadangaben von einem Leerzeichen getrennt ein.
C:\Programme\xampp\php\php.exe C:\mcsecu\bomb.php
Dabei ist der erste Pfad derjenige zur PHP.exe und der andere zum PHP Skript. eventuell musst du die Pfäde anpassen.
Viel Glück,
Andy
Kommentar: Andy – 24. Juni 2008 @ 16:53