Il DoS (Denial of Service) è la tipologia di attacco informatico di cui più si sente parlare, nonchè la più diffusa ed eclatante. Spesso questa tecnica viene scelta soprattutto da gruppi di attivisti come forma di protesta, in quanto consente di negare o almeno rallentare i servizi offerti da una macchina, generalmente un webserver, e per giunta è anche piuttosto semplice: per rendervi conto della portata e dell’influenza che essa ha assunto nei nostri tempi, potete consultare la mappa che tiene traccia, in tempo reale, degli attacchi DoS nel mondo.
Come avviene un attacco DoS?
L’idea è quella di inviare numerose richieste al server vittima, più di quante effettivamente potrebbe riceverne, in modo che questo non riesca più a gestirle contemporaneamente, così da rallentare fino a riavviarsi o andare addirittura in crash.
Ogni webserver infatti si compone di una coda di attesa in cui transitano tutte le richieste che vengono eseguite sequenzialmente. Un attacco DoS non fa altro che saturare questa coda rendendo il servizio inagibile.
Per fare un esempio pratico, supponiamo che il server sia la porta di un supermercato a cui tutti possono accedere liberamente per fare i propri acquisti: se entrano tre o quattro persone contemporaneamente, il traffico è scorrevole e il servizio è garantito a tutti, ma se a cercare di entrare sono centinaia di persone, allora a quel punto tutti resteranno bloccati davanti alla porta e il supermercato diventerà inaccessibile.
La questione è che per saturare un webserver bisognerebbe avere una macchina e soprattutto una connessione estremamente potente, oppure si potrebbe pensare di far partire l’attacco simultaneamente da più macchine. E’ questo il principio su cui si basa l’attacco DDoS (Distributed Denial of Service); in questo scenario generalmente un singolo attaccante malintezionato - detto botmaster - fa in modo di infettare (con dei malware) un grande numero di macchine - dette bot o zombie - che vanno a costituire una botnet; così il server riceverà migliaia di richieste per ciascuna delle decine, centinaia o addirittura migliaia di macchine infettate e la potenza dell’attacco aumenterà esponenzialmente.
Si può pensare all’attacco DDoS come ad un’evoluzione del DoS.
Come difendersi da un attacco DoS/DDoS?
Se il problema è il numero di richieste allora basta “semplicemente” limitarlo. Ci sono però anche dei software che lavorano sul server e consentono di filtrare le richieste in base alla loro matrice, analizzandole e scartando quelle che provengono dai bot (macchine infette): un esempio è il servizio offerto da Cloudflare.
Dopo questa buona base di teoria possiamo passare alla pratica.
Per questa dimostrazione utilizzeremo “Torshammer” che è uno script scritto in Python (la sua estensione è proprio .py): si tratta di uno strumento piuttosto semplice ed efficace, considerando che, come suggerisce il nome, può funzionare anche sotto rete TOR per assicurarsi l’anonimato. Come in tutta la serie, andremo a lanciare lo script dalla macchina BackBox per attaccare la Metasploitable.
Ricordiamo che l’attacco alle proprie macchine, fisiche o virtuali che siano, non costituisce un reato perseguibile penalmente.
Adesso dal browser della BackBox provate a digitare l’indirizzo IP della Metasploitable: vi si aprirà una pagina di questo tipo, segnale che la richiesta è avvenuta correttamente.
Adesso per sferrare l’attacco bisogna lanciare da terminale il seguente comando:
python torshammer.py -t <IP_vittima/Hostname> -p <porta> -r <pacchetti>. Un esempio potrebbe essere:
python torshammer.py -t 192.168.1.101 -p 80 -r 1000
Notate una cosa interessante: l’esecuzione di questo script non richiede i privilegi di root (sudo) dal momento che il suo compito è semplicemente quello di inviare richieste al webserver vittima, come fosse un utente legittimo.
Se, durante l’attacco, provate a richiamare sul browser l’IP della Metasploitable riceverete un “Connection timed out”!
Per fermare l’attacco usate la classica combinazione CTRL+C che arresta qualunque esecuzione da terminale.
CURIOSITÀ
- Il semplice attacco DoS può essere ancora efficace. Tempo fa è stato hackerato il webserver di Amazon: ne hanno assunto il controllo e hanno sfruttato la sua enorme potenza per scagliare un potente attacco contro i server della BBC. In quel caso ad attaccare era effettivamente una sola macchina, estremamente potente ma pur sempre una! (602 Gbs di potenza pura)
- Non sempre un attacco DDOS è considerato illegale. In Germania è stato realizzato un attacco di questo tipo contro la compagnia aerea Lufthansa come segno di protesta, quindi al pari di uno sciopero, e il tribunale tedesco incaricato della questione stabilì che IN QUEL CASO il metodo di protesta poteva considerarsi lecito.