Web application aggiornatissima, plugin ridotti al minimo, hardening generale, e chi più ne ha.
Ma quando devono, devono.
Stamattina il sito era giù, il motivo è facile da indovinare: ho dovuto metterlo in manutenzione di corsa: stanotte, intorno alle 3.40 ora italiana lo hanno infarcito con un bel segmento di codice PHP in testa ad ogni singolo file PHP presente nello spazio di hosting. Risultato: chi visitava il sito riceveva un Javascript che ne scaricava un altro dall’URL http://js .ribblestone .com/jazz/listen.php che a sua volta ne prendeva un’altro da http://panelscansecurity .org/? affid=320&subid=landing.
Il risultato era la solita scansione finta con proposta di scaricare il malware vero di turno, camuffato da fantastico super-anti-tutto.
Alla seconda visita non succede nulla, perché alla prima viene impostato un cookie con nome pwr_set_number_coalition_2, che, se presente, disattiva il redirect verso la finta scansione. C’è anche un altro elemento pericoloso: il codice Javascript iniettato controlla se il visitatore è lo spider di Google o di Yahoo, e si disattiva. Questo impedisce a Google di riconoscerlo come codice dannoso, quindi il sito non viene incluso fra quelli potenzialmente dannosi. Meno danno per il proprietario del sito, più danno per tutti, visto che la protezione dai siti trappola operata da Google non funziona più.
Il danno sul sito era totale, ogni singolo file PHP conteneva il codice iniettato. Indagando un po’, ho trovato che altri siti ospitati sullo stesso hosting hanno lo stesso problema, quindi, molto verosimilmente, si tratta di un problema dell’intero hosting.
Ho recuperato, per ora, scaricando l’intero contenuto del sito e ripulendo con uno script tutti i file PHP dai frammenti di codice iniettato. Ho poi controllato che non ci fossero “ospiti non invitati”, sia sotto forma di file che sotto altre forme. Poi ho riportato indietro i file PHP ripuliti.
Ho fatto qualche altra modifica, ma non sono molto fiducioso che possa impedire il ripetersi del problema. Se il server è compromesso, c’è poco da fare.
Precisazione
Il sito è ospitato su Register, Nobug srl offre la parte economica.


#1 da iraiscoming223 il 21 April 2010 - 15:58
Ciao!
è successa la stessa a cosa a me sia su un mio sito personale che su quello del lavoro. Vedo per altro che abbiamo lo stesso hosting (register), speriamo che tappino la falla in fretta.
Se ho capito bene, tu hai trovato codice nel sorgente php? Io non uso wordpress (nè ce l’ho installato sui domini che ho citato sopra), ma ho trovato lo script annidato direttamente nell’html, nonostante il sorgente sia in php. A questo punto mi viene il dubbio che non passi per il database come il baco che dicevano essere di wordpress (ma non era: http://wordpress.org/development/2010/04/file-permissions/) ma arrivi direttamente con i privilegi di root a modificare i file di Apache. Secondo te impostare un .htaccess *molto* restrittivo potrebbe risolvere il problema? (chiaramente nel caso mi sbagli a proposito dei privilegi di root)… O conviene spostare tutto su un altro server e forzare un redirect?
Scusa il commento così lungo, sto solo facendo un po’ di brainstorming per cercare di risolvere il problema…
Ciao,
Marco
#2 da Debba il 21 April 2010 - 16:26
Anche io ora ora: stesso provider con un sito misto: html/php/mysql.
Già a dicembre 2009 mi era capitato qualcosa di simile, spero che tappino il buco al più presto!
Pingback: The trouble with Wittgenstein | Wittgenstein
#3 da Marco il 21 April 2010 - 17:38
anche io stanotte
hosting aruba
#4 da Marco il 21 April 2010 - 17:49
solito problema su register, SITI SENZA MYSQL ma solo flat file, infettati tutti i file php appendendo all’inizio questo
#5 da vic il 21 April 2010 - 18:19
Ora il sito panelscansecurity .org redirige con un 302 (temporarily moved) a:
http://www.bing.com/search?q=freevirusscan&go=&form=QBRE&filt=all
#6 da Marco il 21 April 2010 - 18:42
anche a me gira esattamente lì
#7 da Roberto (bernablog.com) il 21 April 2010 - 18:48
Anch’io ho avuto lo stesso problema.
Sapresti dirmi come si presenta il codice PHP “infetto” in modo che possa eliminarlo anch’io?
Grazie.
#8 da Marco il 21 April 2010 - 18:57
è tutta una pappardella iniziale che inizia con /**/ eval(base64_decode(ecc ecc ecc)
#9 da Marco il 21 April 2010 - 18:59
PS: anche questo sito dove scriviamo ultimamente mi da problemi: Warning: gethostbyaddr() ecc ecc…
Pingback: Sotto attacco « DOWNUNDER by Layline
#10 da Marco il 21 April 2010 - 19:53
in giro vedo che più frequentemente invece di panelscansecurity .org reindirizzano su scaner24 .org
#11 da Fa il 21 April 2010 - 23:32
A me è successo su Wittgenstein. Devo fare qualcosa (uso Mac)? Mi ha infettato?
#12 da iraiscoming223 il 21 April 2010 - 23:35
Ma non c’è una spiegazione? Come funziona questo exploit?
Postate le vostre configurazioni software (intendo di base, non chiedo certo il php.ini o configurazioni avanzate)…
Inizio io per dare esempio:
____
hosting: linux, su macchina condivisa
script: php 5
mysql: si (ignoro la versione)
wordpress, joomla o cms: nessuno in uso e/o installato sul dominio
____
Almeno se confrontiamo le varie versioni si riesce a capire come è successo, o almeno a fare delle ipotesi…
Notte
#13 da iraiscoming223 il 21 April 2010 - 23:38
@Fa: no Fa, tranquillo.
Il file che scarica è un eseguibile di windows, mentre il codice infetto resta (purtroppo per il webmaster) nelle pagine sul server che le ospita. Tu puoi dormire sonni tranquilli.
#14 da Marco il 26 April 2010 - 21:28
Ho risolto, ma l’assistenza dice che e’ un attacco che si spiega solo con un “furto” di password ftp. possono averle fregate a me anche se mi cautelo molto, ma trovo strano che lo abbiano fatto in contemporanea ad altre decine di utenti .. NO?
#15 da Marco il 26 April 2010 - 21:37
oddio, e’ anche vero che se l’hosting non prevede una separazione dei siti, bucandone uno anche gli altri ne risentono..
#16 da francos il 6 May 2010 - 20:42
Ciao Mario e complimenti per il tuo blog, completo e informato. Ci sono capitato seguendo google alla ricerca del famigerato panelscansecurity e devo dire che ho trovato molte risposte e spunti interessanti.
Ci sono degli aggiornamenti su come risolvere il problema del sito infetto?
Grazie
#17 da Mario Pascucci il 8 May 2010 - 14:49
@francos
Per fortuna, in un certo senso, nessuna novità. Non c’è nulla da risolvere perché tutto fa pensare che sia stato un incidente esteso al servizio di hosting, e non limitato al sito.
Tutto qui.