mentre piu' in generale , facendo una ricerca sul web appaiono ancora compromessi migliaia di siti in tutto il mondo con javascript che punta a banner82
Avevo gia' descritto banner82 in questo post al riguardo della tipologia fast flux utilizzata per mascherare l'IP di provenienza.
Queste alcune pagine di siti IT che al momento di scrivere il post presentavano ancora l'evidenza dell avvenuto attacco con la presenza al loro interno dello script che punta a banner82(dot)com
ed anche
ed ancora
Vediamo ora qualche dettaglio in piu' sulla botnet a cui fa capo banner82(dot)com anche attraverso alcune informazioni tratte da post pubblicati da Dancho Danchev.
Gia' da febbraio 2008 Danchev in un suo post aveva evidenziato la presenza di una botnet utilizzata per attivita' di phishing.
La creazione di tale botnet e' stata possibile attraverso lo sviluppo di un trojan (messo a punto lo scorso anno) denominato Asprox trojan, il cui scopo iniziale era quello di creare una botnet di spam
Inizialmente dedicata a inviare email di phishing, Asprox botnet si e' successivamente evoluta in strumento di diffusione di malware attraverso attacchi di sql injection contro numerosi siti web con l'inserimento di un iframe all'interno dei siti attaccati che puntava a direct84.com e successivo reindirizzamento su altre pagine con malware.
Con il piu' recente attacco di SQL injection lanciato dalla Asprox botnet abbiamo ora il tentativo di infettare nuovi host da aggiungere al botnet Banner82 per aumentare e consolidare la rete di computers zombies infetti.
I passaggi che provocano lo scaricamento del malware sul pc di chi visita un sito compromesso comprendono una prima esecuzione dello script b.js hostato su banner82(dot)com ( il cui IP varia in quanto facente parte della botnet fastflux Asprox )
Questo lo script presente su sito infetto
che carica ed esegue il successivo script b.js
di cui vediamo una breve descrizione riga per riga del codice sorgente
Riga | Azione | Descrizione | Note |
1 | Setta la status bar della finestra del browser a “” | In pratica nessun testo viene visualizzato nella barra in basso del browser | |
2 | pone nella variabile cookieString il contenuto dei cookies associati al documento corrente | Legge il contenuto dei cookies relativi alla pagina banner82 caricata dal browser | I cookie sono inviati dal sito web e memorizzati sul computer, Sono quindi re-inviati al sito web al momento delle visite successive. |
3 | Pone nella variabile start il risultato della ricerca del cookie della stringa “banner82=” attraverso l'uso di IndexOf(.... | Verifica se e' gia' stata visitata la pagina banner82 attraverso la presenza o meno del relativo cookie | IndexOf restituisce -1 se non trova corrispondenza con la stringa cercata |
4 | Se la variabile start e' != (diversa) da -1 non esegue alcuna operazione () else ---> altrimenti esegue le righe successive | Confronta il valore della variabile start con -1 e se != diverso procede con lo script | |
5 | else | Inizia la parte di script se start diversa da -1 (cookies non presenti e pagina mai visitata o cookie expired (scaduto)) | |
6 | Crea expires come oggetto data ( new date() ) contenente il giorno del mese attuale | In pratica la variabile expires conterra' il valore del giorno espresso come numero 1,2,3....30.31 | |
7 | Setta expires utilizzando getTime ed aggiungendo l'equivalente in millisecondi di 1 giorno (24*1*60*60*1000) | In pratica setta expires in modo da settare il cookie relativo a questa pagina con vita massima di 1 giorno dopo di che il cookie verra' eliminato | Cookie (expiration date) è un attributo opzionale che permette di stabilire la data di scadenza del cookie. Può essere espressa come data, come numero massimo di giorni oppure come Now (adesso) |
8 | Scrive il cookie con la 'exipration date' aggiornata | | |
9 10 11 12 | Document write crea due iframe nascosti e che contengono la proprieta' src = http//..... che carica il contenuto presente alle pagine di indirizzo IP | Settando width height frameborder a 0 si rende invisibile l'iframe | |
13 | catch(e) e' un costrutto try ... catch per la gestione degli errori. | | Le versioni più nuove di JavaScript (come quelle usate in Internet Explorer 5 e Netscape 6) includono la possibilità di un costrutto try ... catch per la gestione degli errori. |
da cui si rileva che viene utilizzata una gestione dei cookies per filtrare l'esecuzione del codice probabilmente per evitare che piu' scripts presenti nella pagina generino una 'raffica' di chiamate ai siti linkati dal codice.
Codice, che una volta eseguito, linka a due contenuti malware sotto forma di script offuscati.
Ed il cui whois punta a
Notate, nel secondo whois, il riferimento all'organizzazione che ha registrato il dominio e che punta a nota nazione europea che ospita numerosi server web da cui provengono minacce malware.
I due script presenti a loro volta tentano di caricare exploit che sfruttano diverse vulnerabilita del browser explorer o di software installati sul pc colpito.(di solito player video)
Edgar
Nessun commento:
Posta un commento