Schlagwort-Archive: loop

Gefahrlos eine Zip-Bombe testen

In der jüngeren Vergangenheit berichteten verschiedene Online-Medien (siehe [0] und [1]) über eine neuartige sehr effiziente Zip-Bombe [2], welche der Entwickler David Fitfield entwickelt und zusammen mit einer detaillierten Beschreibung veröffentlicht [3] hat.

Es reizte mich, diese Zip-Bombe auszuprobieren. Im folgenden beschreibe ich, wie ich eine Disk-Image-Datei [4] und ein Loop-Device [5] verwendet habe, um dies gefahlos tun zu können, ohne mir mein komplettes Dateisystem vollzuschreiben.

Die Prozedur besteht aus den folgenden Schritten:

  1. Disk-Image-Datei mit definierter Größe erzeugen
  2. Dateisystem in erstellter Disk-Image-Datei erzeugen
  3. Einhängepunkt erzeugen und Disk-Image-Datei einhängen

Die einzelnen Schritte werden im Detail im folgenden Code-Block dargestellt:

[root@example.com ~]# fallocate -l 1G /tmp/zipbomb.img
[root@example.com ~]# mkfs.ext4 -F /tmp/zipbomb.img
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: done                            
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

[root@example.com ~]# mount -o loop /tmp/zipbomb.img /mnt
[root@example.com ~]# mount | grep /mnt
/tmp/zipbomb.img on /mnt type ext4 (rw,relatime,seclabel,data=ordered)
[root@example.com ~]#

Nun hängt in /mnt ein Dateisytem von 1 GB Größe, welches von der Zip-Bombe vollgeschrieben werden kann. Viel Spaß beim Ausprobieren.

Und wie probiere ich nun die Zip-Bombe aus?

Na ganz einfach:

[root@example.com ~]# cd /mnt
[root@example.com ~]# wget https://www.bamsoftware.com/hacks/zipbomb/zbsm.zip
[root@example.com ~]# unzip zbsm.zip

Es dauert auch nicht lange, bis euer Dateisystem unter /mnt voll ist.

Quellen und weiterführende Links

[0] DerStandard: Verstopfte Festplatte: „ZIP-Bombe“ verwandelt 46 Megabyte in 4,5 Petabyte
[1] Golem.de: Malware: Zip-Bombe entpackt 46 MByte zu 4,5 Petabyte
[2] Wikipedia: Archivbombe
[3] David Filield: A better zip bomb
[4] Wikipedia (en): IMG (file format)
[5] Wikipedia: Loop device