Come creare una ZipBomb per proteggere il proprio sito web

DiMarco Nisticò

PUBBLICATO IL 31 Ago 2017 ALLE 09:30 - AGGIORNATO IL 14 Agosto 2018 ALLE 14:58

Una ZipBomb è un file ZIP delle dimensioni di pochi byte ma che, se scompattato, manderà in crash qualsiasi sistema vista l’elevatissima dimensione del contenuto. E’ un’arma a doppio taglio, può essere usata sia per mandare in tilt un sistema che per proteggerlo. Un sito web che dovesse ricevere un simile attacco informatico di tipo DDoS andrebbe KO in un istante.

Tempo fa parlammo del più grande attacco DDoS della storia. In questo caso non vengono utilizzati pacchetti di elevate dimensioni, ma un semplice archivio che può sembrare innocuo ma non lo è. Proprio per la sua natura distruttiva può essere anche estremamente efficace per proteggere un sito web da possibili intrusioni. Infatti, se qualche pirata dovesse malauguratamente scaricare la nostra ZipBomb ed estrarla, il suo PC andrebbe letteralmente fuori uso. Per questo oggi andremo a spiegarvi come creare una ZipBomb per proteggere il proprio sito web.

ZipBomb: il caso del file 42.zip

La ZipBomb più famosa sul web è sicuramente quella relativa al file 42.zip. Questo archivio contiene 16 archivi al suo interno, che a loro volta contengono altri 16 archivi e così via per 5 volte. Alla fine ogni sottoarchivio contiene un file delle dimensioni di 4.5GB. Facendo due rapidi calcoli viene fuori che la dimensione totale dell’archivio decompresso è di 4.5PB, ovvero circa 4500TB. Una quantità di dati talmente alta da non poter essere gestita nemmeno dagli antivirus che ne tenterebbero la scansione. Infatti chiunque può decidere di inserire un virus all’interno dell’archivio e forzare la scansione dell’antivirus, che occuperà talmente tanta memoria per l’analisi da bloccare completamente il PC.
Un sistema di attacco semplice ma potente allo stesso tempo. Sul web è possibile trovare questo file e scaricarlo sul proprio PC. Ovviamente se lo fate vi consigliamo assolutamente di disattivare eventualmente l’antivirus o qualsiasi programma di scansione malware. La bomba a decompressione non avrà subito effetto alla prima estrazione poichè, come già detto, l’archivio è organizzato su più livelli e suddiviso in migliaia di archivi. Per cui si avrebbero problemi solamente se si estraessero tutti i singoli archivi, a meno che il file non contenga un virus.

[adsense]

Creare una ZipBomb fai da te

Una ZipBomb si basa sul processo di compressione dei file, operazione che svolgiamo normalmente per creare archivi di file. Una procedura tanto elementare ma che lascia spazio a file potenzialmente pericolosi come le ZipBomb. Per fare una ZipBomb manualmente, bisogna eseguire i seguenti passi:

  1. Aprire il Blocco Note.
  2. Riempire il file con una serie di zeri, almeno qualche migliaio. Per velocizzare il lavoro, fate copia-incolla di varie file per tante volte. Continuante fin quando il file non avrà raggiunto la dimensione di 10MB circa. Rinominate il file a piacimento, ad esempio nel nostro caso useremo il nome zero.txt.
  3. Iniziate a fare svariate copie del file zero.txt, almeno una decina.
  4. Ora aprite il prompt dei comandi e attraverso il comando cd C:/percorso modificate il percorso di default con quello in cui sono presenti i file di testo. Quindi inserite ora il comando copy /b *.txt combined.txt e premete Invio. A questo punto da dieci file di 10MB ciascuno avrete ottenuto un unico file di 100MB. Ripetete l’operazione facendo varie copie dei file da 100MB, ottenendo un file da 1GB.
  5. Aprire un qualsiasi programma di compressione, che sia WinRAR o 7-Zip, e comprimete al massimo il file in un archivio zip. Noterete che il file ora sarà di pochi MB. Questo perchè il processo di compressione riduce il numero di byte di una sequenza di stringhe, assegnandola ad un singolo carattere. In questo caso la stringa è composta di soli zeri, per cui è possibile ridurli ad un singolo valore, diminuendo sensibilmente la dimensione finale del file.
  6. A questo punto create varie copie dell’archivio e comprimetele a loro volta. Eseguite l’operazione per 4-5 volte. La vostra ZipBomb è pronta ad esplodere.
  7. Per proteggere il vostro sito web basterà caricare il file nel database del sito e creare uno script PHP che richiami il file. Questa operazione è necessaria poichè i browser non riescono a leggere i file ZIP ma solo i GZIP.

Questa guida è stata realizzata con il puro scopo di proteggere il vostro blog da possibili attacchi. Non siamo responsabili di un qualsiasi uso improprio della ZipBomb per scopi malevoli.

Di Marco Nisticò

Sviluppatore informatico, cerco sempre di stare al passo con i tempi in un mondo ormai circondato dalla tecnologia.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.