Virus per WordPress

Non è un nuovo plugin per WordPress, ma un un trojan che si attacca al codice delle pagine del vostro sito aggiungendoci del codice Javascript malevolo.

Questo post è per chi ha un sito in WordPress e si trova nei guai perché recentemente è stato infettato da un virus; a me è successo venerdì scorso.

Non so voi, ma io ogni tanto do un’occhiata al mio blog per vedere se va tutto bene, lo so che ci sono servizi che controllano la salute del sito, ma a parte il fatto che quelli accurati e tempestivi costano, questo non mi toglierebbe il pensiero; più ne abbiamo viste, meno ci sentiamo sicuri. Come dicono i veri professionisti: “l’informatica non è una scienza esatta”, soprattutto se si parla di Web.

I blogger e i titolari di siti Small Business convivono con un’ansia sottile che si dissipa solo con la vista gratificante del proprio sito sveglio ed in salute. Un po’ come quando, prima di andare a letto, i genitori spiano per un attimo dalla porta socchiusa il figlioletto che dorme, per assicurarci che sia tutto a posto, come sempre.

Invece, venerdì scorso, mentre mi gratificavo di quei pochi attimi in cui il browser finiva di caricare la homepage, ecco che arriva la doccia fredda. Improvvisa e del tutto inattesa, si accende la sirena di allarme dell’antivirus. Il messaggio è brutalmente esplicito: “Trovato cavallo di Troia! … HTML:IFrame-MR [Trj]

Allarme avast

Panico.

Non ci credo e come un automa ricarico la pagina più volte, chiudo il browser e lo riapro, ne uso un altro, riavvio il PC, magari è solo un problema di aggiornamento dell’antivirus (anche i professionisti più capaci si affidano alla magia dello ‘spengere e riaccendere’ e a differenza degli utilizzatori inesperti, fingono di sapere perché a volte gli funziona), insomma quello che facciamo tutti quando qualcosa va storto sul PC, ma il demone non si esorcizzava.

Passi il server o il database giù, passi pure il DNS in manutenzione, quelli sono problemi transitori, ma un virus è lì per restare.

Provo con altri PC che hanno antivirus differenti e prestigiosi, ma cambia solo il nome del virus (chissà perché diavolo mai lo stesso virus ha sempre tanti nomi diversi, se i medici facessero lo stesso, la metà di noi sarebbe morta per la medicina sbagliata), il problema rimane: il mio sito è infetto, è un appestato, la gente fuggirà a gambe levate, perché oggi chiunque ha un antivirus con la sua bella sirena di allarme, che lo avverte di fuggire via da quel sito inaffidabile.

Ci ho messo tutta una giornata per capire cosa era successo: c’era stata una intrusione sul mio file system, ed uno dei file era stato modificato aggiungendovi il codice virale. Per trovare quale file, ho cercato di immedesimarmi nel programmatore che l’aveva fatto: per essere proficua, un’azione del genere doveva avere costo bassissimo ed interessare più siti possibile, per cui non poteva essere stato un intervento manuale, ma il risultato di un programma (bot).

Chi ha po’ di esperienza con i programmi batch sa che sui grandi numeri i casi imprevisti che ci si trova a gestire, crescono in modo esponenziale con la complessità del programma. Per cui la logica doveva essere semplice e robusta; il file doveva essere facile da modificare e da identificare, doveva essere uguale per tutti (indipendentemente dalla versione di WordPress e dalle personalizzazioni) e infine doveva essere parte di tutte le pagine del sito. Questo escludeva i file personalizzati e gran parte dei moduli specializzati. Sono andato a colpo sicuro sull’obiettivo più facile: il file “index.php” sotto la root e l’ho trovato. Quasi banale.

Compagni di sventura che avete un sito in WordPress, questa è la buona notizia: se venite svegliati dal vostro dolce torpore per la sirena di un attacco virus in corso, non cedete ad un attacco di panico (come ho fatto io), aprite il file index.php che sta sotto la documentroot e se non è identico a quello del pacchetto di installazione originale, rimettete semplicemente il file index.php originale al suo posto e tutto tornerà come prima.

Non dovete ripristinare l’ultimo backup (l’avete fatto il backup, vero?) e neppure il database c’entra niente, invece il vostro provider c’entra abbastanza e sarebbe bene che vi fornisse adeguate spiegazioni.
Per deformazione professionale, prima di rimuovere il file infetto l’ho scaricato sul PC per studiarlo ed è ancora lì che zampetta.

In effetti si limita a creare codice javascript che a sua volta crea codice Javascript, ecc… , non danneggia il sistema dei malcapitati che caricano la pagina infetta, soprattutto perché il codice Javascript non ha accesso alle risorse del sistema (a meno di non usare un browser con falle di sicurezza come IE6). Quindi non corrompe il sistema dei visitatori, ma la nostra reputazione. E lo fa in un attimo, in modo duraturo.

Marco Dini

Elenco Articoli di Marco Dini

Latest Comments

Post A Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *