Scrivo questo post per raccontare come ho potuto risolvere un problema che a quanto pare è molto diffuso,ovvero quando il sito viene hackerato.
Un anno fa inizio a realizzare un sito web appoggiandomi su altervista caricando joomla 1.5.22.
Dopo un po' di tempo speso lavorandoci sopra,per problemi non dipendenti da me lo lascio stare così com'è e smetto di lavorarci.
Qualche settimana fa mi viene chiesto di ricominciare a lavorare sul sito web,e di spostarlo su un hosting a pagamento.Dopo aver acquistato l'hosting vado in ftp su altervista,copio tutti i files e le cartelle ,faccio il backup del database e lo carico su nuovo hosting,ovviamente modificando il file configuration.php con i parametri relativi al nuovo hosting.
Apparentemente con firefox funziona,soltanto che non visualizzo le immagini.
Con firebug noto che il path di ogni immagine corrisponde a quello di altervista...mah.
Va bene,riscrivo i path corretti.
Vado ad aprire il sito con chrome e mi appare la pagina con l'allerta che il sito è pericoloso,che contiene malware e che se decido di entrare è a mio rischio.
Così decido di fare una scansione ,come consigliato, utilizzando gli strumenti per webmasters di google,che ovviamente non rileva assolutamente nulla.
Entro in ftp ,apro il file index.php e vedo che in alto ,le prime due righe contengono dei links che non conosco in mezzo a caratteri alfanumerici random,del tipo a3d0f8jk65f3e22...ecc
Apro il file index.html che stranamente pesa 144kb(troppo per una sola linea di codice) e vedo che anche lì ci sono dei links ,con una parola ricorrente :indometastan.
Inizio a cercare la soluzione sul forum seguendo la strada dell'installazione da zero di joomla e poi la successiva sovrascrittura dei files di backup del sito.
Cosa accade?Che quando vado a digitare l'indirizzo del sito mi appare il testo della pagina index.php come spiegato nel seguente post :
http://forum.joomla.it/index.php/topic,145154.msg646965.html#msg646965.
Provo ad installare all'interno di una sottocartella del sito la versione 1.7......idem,visualizza la pagina con il testo scritto nella index.php.........Manca l'interprete php!
Riprovo a cancellare tutto e ricaricare per 4 o 5 volte..estenuante.
Così inizio a cercare degli strumenti più attendibili rispetto a google webmasters tools.
Uno di questi è
http://www.ipvoid.com/ che esegue la scansione dell'ip del sito per trovare codici malware.
Un altro è
http://sitecheck.sucuri.net/scanner/(la scansione è gratuita,la pulizia automatica del sito no)<posso inserirlo nel forum?>
Questi mi rilevano il malware in varie pagine.
Così metto in sicurezza il sito,mettendolo offline e cambiando tutte le password possibili(ftp,pannello di controllo,DB,accesso admin ecc).
Finalmente riesco a trovare ciò che mi serve:uno script che analizza il sito e mi dice esattamente in quali files ci sono i codici malware.La maggior parte dei files modificati si trovano nei templates,ed inizialmente,prima di usare questo script,li avevo cancellati tutti.Lo trovate qui:
http://redleg-redleg.blogspot.com/p/simple-script-to-find-base64decode-in.htmlPer utilizzare lo script bisogna incollarlo in un file che chiameremo ad esempio revealer.php e lo copiamo nella root del sito joomla.
Dopodichè aprendo il browser bisogna digitare l'indirizzo del sito ad esempio
http://www.miosito.com/revealer.php.
A questo punto lo script inizia a funzionare ed il tempo che può impiegare varia a seconda della grandezza del vostro sito.
Il risultato ottenuto lo potete vedere nella pagina esempio in allegato:
Così non rimane altro che entrare nei files indicati e cancellare le linee scritte dal malware.Riprovando a scansionare con i tools online descritti sopra finalmente il sito è risultato pulito.
Inoltre navigando con chrome non è più apparso il messaggio di pericolo malware per il sito.
Una nota del creatore dello script di analisi:"Lo script funziona con la maggior parte dei siti web,l'importante è che la versione di php sia dalla 5 in poi."
Spero di esser stato chiaro e soprattutto utile.
[allegato vecchio più di un anno eliminato da un amministratore]