LizardStresser è una botnet scritta originariamente dal famigerato gruppo Lizard Squad. Il codice sorgente era stato rilasciato pubblicamente ad inizio 2015 spingendo molti aspiranti malintenzionati a creare le proprie botnet personali per lanciare attacchi DDoS. Il gruppo ASERT di Arbor Networks ha seguito le attività di LizardStresser registrando due preoccupanti tendenze:
1. Il numero di siti C2C (Comando & Controllo) di LizardStresser è costantemente aumentato in tutto il corso del 2016.
2. Alcuni personaggi che utilizzano LizardStresser si sono concentrati sui dispositivi IoT (Internet of Things) approfittando delle password di default che vengono condivise da intere classi di dispositivi.
Sfruttando la banda cumulativa resa disponibile da questi dispositivi IoT, un gruppo di hacker è riuscito a lanciare attacchi da 400Gbps contro siti di videogiochi, istituti finanziari brasiliani, ISP ed enti pubblici di tutto il mondo.
LizardStresser è un bot per DDoS progettato per girare su Linux. Il codice è composto da due metà, un client e un server. Il client gira su macchine Linux compromesse che si collegano a un server di controllo definito nel codice. Il protocollo è essenzialmente una versione ridotta di una chat IRC. I client infetti si collegano al server e ricevono i comandi elencati qui di seguito.
• Lanciare un attacco DDoS, utilizzando una varietà di metodi di attacco diversi.
• Eseguire comandi sul sistema infetto. utile per scaricare versioni aggiornate di LizardStresser o altri malware, anche totalmente differenti.
• Propagarsi nella rete. I client si collegano a indirizzi IP casuali cercando di effettuare un login via telnet utilizzando un elenco predefinito di nomi utente e password. I login andati a buon fine vengono segnalati al server di controllo per la successiva assimilazione all’interno della botnet.
LizardStresser è estremamente facile da diffondere. Abbiamo osservato esemplari adattati per diverse architetture come x86, ARM e MIPS, ovvero le piattaforme più comuni per i dispositivi IoT.
Le tendenze. L’ASERT ha tenuto d’occhio i server di controllo di LizardStresser fin da quando il tool ha fatto la sua comparsa sulla scena. Nel corso del 2016 abbiamo notato uno spiccato incremento nel numero di server, che a giugno è arrivato a oltre il centinaio di unità. Sebbene non possiamo essere certi di possedere i campioni di tutte le varianti attive di LizardStresser, Arbor si trova comunque nella posizione adatta per correlare l’incremento dei server con quello degli attacchi effettivi, le cui caratteristiche corrispondono con le statistiche degli attacchi DDoS mantenute da ATLAS, la piattaforma di monitoraggio di Arbor.
IoT. La funzionalità di attacco telnet di LizardStresser tenta di eseguire il login su indirizzi IP casuali utilizzando un elenco predefinito di nomi utente e password. Questo elenco costituisce ovviamente il livello assolutamente più basso della mancanza di sicurezza. Dal punto di vista di un malintenzionato, qualsiasi macchina che possa essere violata attraverso questo elenco di default è stata molto probabilmente già compromessa. Nel caso del malware DDoS, una vittima ha tanto più valore quanta più banda può utilizzare per il traffico di attacco. La bandwidth di una macchina già compromessa viene probabilmente già sfruttata da altri. Il malintenzionato può cercare di neutralizzare il malware concorrente, ma per questo occorrono tempo e lavoro.
Le cose cambiano con i dispositivi IoT. Essi sono i bot DDoS ideali per una varietà di motivi:
• Utilizzano tipicamente una versione embedded o ridotta di un sistema operativo ben conosciuto come Linux. Il malware può essere facilmente adattato all’architettura del dispositivo target.
• Se sono collegati a Internet, molto facilmente dispongono di accesso totale alla rete senza limitazioni di bandwidth né filtri.
• La versione ridotta del sistema operativo e la limitata potenza di calcolo della maggior parte dei dispositivi IoT lasciano meno spazio per le funzionalità di sicurezza, tanto che la maggior parte delle violazioni non viene notata nemmeno dagli utenti.
• Per poter risparmiare tempo di ingegnerizzazione, i fabbricanti di dispositivi IoT riutilizzano talvolta le stesse porzioni di hardware e software su differenti classi di dispositivi. In conseguenza di questo riutilizzo del software, le password di default adoperate per gestire inizialmente un determinato dispositivo potrebbero essere condivise tra categorie di dispositivi completamente diverse.
Quest’ultimo punto relativo al riutilizzo delle password di default su più classi di dispositivi risulta particolarmente interessante per i malintenzionati. Una semplice variante di LizardStresser che si avvalga di queste ben conosciute password di default spiana la strada verso un gruppo completamente nuovo di potenziali vittime.
Scenari di attacco: il Brasile e i siti di gaming L’ASERT ha tenuto sotto controllo due server di LizardStresser che pensiamo siano gestiti dal medesimo gruppo di malintenzionati. Sebbene tra di loro parlino in inglese, i loro bersagli principali riguardano soggetti aventi interessi in Brasile e i siti di gaming di tutto il mondo:
• Due grandi banche brasiliane
• Due compagnie di telecomunicazione brasiliane
• Due enti pubblici brasiliani
• Tre grandi società di videogiochi con sede negli USA
In un caso abbiamo potuto osservare i comandi di attacco trasmessi da un server di LizardStresser e correlarli con altre informazioni relative all’evento. L’attacco ha superato i 400 Gbps con diverse migliaia di indirizzi di origine. Il traffico di attacco corrispondeva esattamente a quanto prodotto dal generatore di LizardStresser: una stringa composta da lettere maiuscole. E’ interessante notare che i pacchetti degli attacchi non sembrano cercare di nascondersi, cioè che gli indirizzi sorgente presenti nei pacchetti siano effettivamente quelli degli apparati IoT compromessi.
Abbiamo poi visto come gli attaccanti fossero rapidi a far evolvere le proprie tattiche di minuto in minuto: da un flood di comandi HOLD a un flooding UDP e quindi a un flooding TCP con una varietà di flag. La parte UDP degli attacchi era ulteriormente caratterizzata da un’origine nelle porte UDP più alte verso la porta di destinazione UDP/443 con pacchetti di dimensione pari a circa 1400 byte.
Gli attacchi sono stati lanciati soprattutto dal Vietnam e in subordine dal Brasile, mentre le vittime erano sparpagliate in tutto il resto del mondo. Inviando un pacchetto HTTP "GET /" alla porta TCP 80 delle macchine attaccanti, abbiamo notato come quasi il 90% degli host che hanno risposto riportassero il titolo HTML “NETSurveillance WEB”.
Dopo qualche ricerca più approfondita, abbiamo scoperto che l’interfaccia NETSurveillance WEB sembra riferirsi a un codice generico utilizzato da una serie di webcam accessibili via Internet. La password di default per l’utente root è reperibile online, e telnet è abilitato come standard. Siamo convinti che i malintenzionati abbiano adattato il codice di LizardStresser per sfruttare questa password di default dei dispositivi IoT basati sul codice NETSurveillance.
La versione di LizardStresser disponibile pubblicamente genera in maniera casuale gli indirizzi IP da infettare, ma è possibile che il codice sia stato successivamente modificato per focalizzarsi su determinate aree geografiche. Un’altra possibilità è che Vietnam e Brasile siano i Paesi con la maggior diffusione di dispositivi IoT dotati del codice NETSurveillance.
In conclusione. LizardStresser sta diventando il botnet preferito per i dispositivi IoT grazie alla semplicità con cui è possibile apportare piccole modifiche al codice di scansione. Con una minima ricerca delle password di default dei dispositivi IoT è possibile arruolare un intero gruppo di vittime all’interno di una botnet. Arbor ha osservato l’invio di comandi di attacco dai server di LizardStresser verso i dispositivi IoT e i conseguenti attacchi DDoS fino a oltre 400Gbps senza ricorso a meccanismi di riflessione/amplificazione, un risultato notevole reso possibile da un’informazione -le password di default- pubblica ma finora trascurata.