La botnet Storm
November 14th, 2007 — IppatsuMan
Una “botnet” indica in gergo informatico un gruppo di computer infetti da un trojan che permette a un cracker di controllare completamente da remoto il computer “zombie”.
Un classico uso di una botnet è quello di mandare spam: pubblicità per viagra, imitazioni di orologi, falsi diplomi, truffe pump-and-dump e quant’altro possono essere inviate a milioni di caselle email in poco tempo sfruttando una botnet. Un altro utilizzo è il lancio di attacchi DDoS: tutti i computer della botnet mandano richieste di collegamento a un unico server, saturandone la banda e bloccandone a tutti gli effetti l’accesso alla rete.
Una botnet che sta suscitando particolari preoccupazioni da Gennaio 2007 è la cosiddetta Storm Botnet, che prende nome dal trojan che l’ha creata (noto anche come Zhelatin, W32/Small.DAM, Trojan.Peacomm, Win32/Nuwar). Non ci sono stime realmente affidabili sulla dimensione della botnet: generalmente si pensa che sia formata da un numero compreso tra 1.000.000 e 50.000.000 di macchine Windows infette (anche se Brandon Enright ha sostenuto al Toorcon che potrebbero essere appena 160.000).
È importante notare che Storm non si diffonde sfruttando falle di sicurezza di Windows come è successo per altri worm come Nimda, Blaster o Code Red, ma usa unicamente il “social engineering”: si autoinvia ai contatti email trovati sulle macchine infette spacciandosi come una notizia politica, come un programma per scaricare musica gratis e così via. Ultimamente ha sfruttato un bug su youtube.com per inviare come messaggio personale un link che portava a un sito malizioso che si spacciava come correlato a Halo 3 che induceva la vittima a scaricare il trojan.
Gli effetti che permettono di stimare la dimensione della botnet sono preoccupanti: si stima che ogni giorno le macchine controllate da Storm inviino miliardi se non decine di miliardi di email; quando Artists Against 419 fu sottoposto a DDoS, l’attaccò superò i 400GiB all’ora - era quindi portato a segno da qualcosa come 300.000 macchine con connessione ADSL.

Storm è stato incluso da Microsoft come obiettivo del Malicious Software Removal Tool: dal 11 Settembre 2007 al 23 Settembre MSRT ha rimosso il trojan da circa 275.000 macchine, sui 2,6 milioni analizzate. Per ammissione dello staff Microsoft (in particolare Jimmy Kuo - guru del team anti-malware) sembra che le macchine “disinfettate” non facessero parte dei rami attivi della botnet, quindi l’operazione avrebbe utilità quasi puramente simbolica. Inoltre appena Storm è stato inserito tra gli obiettivi di MSRT coloro che controllano Storm hanno aggiornato i loro zombie con una nuova versione che non era rilevata dal tool di rimozione di malware.
I computer “zombie” che fanno parte della botnet inoltre vengono usati per ospitare siti web maliziosi per fare phishing. L’uso di una tecnica nota come fast-flux e la mancanza di un nodo centralizzato che controlli la botnet rende difficile il compito di individuare le macchine infette.
Le caratteristiche tecniche
Considerazioni etiche a parte Storm è un trojan eccezionalmente raffinato, come si può vedere dall’analisi di Jon Stewart.
Il modulo principale di Storm è un rootkit (il cui driver si trova nel file wincom.sys) che si collega a una rete P2P crittata che usa il protocollo eDonkey/Overnet. Tale modulo recupera dalla rete P2P un URL da cui scarica un programma, che di solito si chiama game0.exe , che si occupa di scaricare altri cinque moduli:
- game1.exe : relay SMTP per inviare spam
- game2.exe : modulo che raccoglie gli indirizzi email presenti sul sistema
- game3.exe : modulo che invia copie del trojan via posta elettronica
- game4.exe : modulo per gli attacchi DDoS
- game5.exe : modulo che scarica la versione aggiornata del worm
Nessun file viene scambiato attraverso la rete P2P, che è solo un mezzo per poter ottenere l’URL da cui scaricare il resto del trojan. Questa tecnica permette di evitare il problema di dover fornire un indirizzo costante da cui scaricare il resto del trojan.
Il modulo che si occupa di lanciare gli attacchi DDoS scarica i suoi obiettivi da un file di configurazione il cui URL è contenuto nell’eseguibile di Storm. Durante un attacco è in grado di effettuare syn flood sulla porta 80, ICMP flood o entrambi. Tra le vittime dei DDoS ci sono stati anche siti web associati alla distribuzione del virus Warezov: è probabile che quest’ultimo sia opera di un gruppo rivale di colui o coloro che controllano la botnet di Storm.
Un altro comportamento peculiare di Storm è che implementa una tecnica di autodifesa: quando un host controllato dal trojan si accorge che è stato scansionato da uno scanner che cerca gli “zombie”, comunica con gli altri elementi della botnet e lancia un DDoS contro lo scanner (fonte).
Da poco più di un mese (attorno al 15 Ottobre 2007) si è osservato un comportamento interessante nella botnet di Storm: “branche” della rete stanno utilizzando chiavi crittografiche diverse, suddividendo così effettivamente l’intera botnet in sottoreti. L’ipotesi più verosimile è che pezzi della rete controllata dai cracker siano in vendita o quanto meno disponibili “in affitto” a gruppi di spammer o cracker.
Questo finalmente è diventato un vantaggio per i whitehat: è infatti relativamente semplice individuare e bloccare il traffico generato da zombie che utilizzano questa variante del trojan. Le regole di Snort che lo permettono sono:
alert udp $HOME_NET 1024:65535 -> $EXTERNAL_NET 1024:65535 (msg:”BLEEDING-EDGE TROJAN Storm Worm Encrypted Variant 1 Traffic (1)”; dsize:25; content:”|10 a6 d4 c3|”; depth:4; threshold: type both, count 1, seconds 60, track by_src; classtype:trojan-activity; sid:2007701; rev:1;)
alert udp $HOME_NET 1024:65535 -> $EXTERNAL_NET 1024:65535 (msg:”BLEEDING-EDGE TROJAN Storm Worm Encrypted Variant 1 Traffic (2)”; dsize:25; content:”|10 a0 d4 c3|”; depth:4; threshold: type both, count 1, seconds 60, track by_src; classtype:trojan-activity; sid:2007702; rev:1;)
Potete trovare versioni aggiornati di regole per Snort che permettono di individuare gli host infetti con Storm all’indirizzo http://doc.bleedingthreats.net/bin/view/Main/StormWorm.