Come rimuovere virus e malware da wordpress

UPDATE: ho scritto come impostare php.ini onde evitare attacchi stupidi come questo se ti interessa puoi leggerlo qui: Come difendersi da attacchi malware e script injection

Negli ultimi anni ho notato un aumento degli attacchi contro wordpress, pochi giorni fa anche questo blog è stato attaccato da un malware che ha iniettato del codice maligno in alcuni file del core di wordpress. Il codice richiamava altre pagine esterne che cercavano di attaccare il browser dell’utente che si collegava a al sito. Fortunatamente Google ha un sistema di controllo sui malware molto efficace e veloce e mette in quarantena le pagine in modo tale che il browser le possa riconoscere come contaminate e pubblichi un un avviso che allontanerà l’utente dal sito, vi riporto i due avvisi più famosi:

Segnalato sito malevolo Il sito web è stato segnalato come web malevolo ed è stato bloccato sulla base delle impostazioni di sicurezza correnti.
Mozilla Firefox
Attenzione l’apertura di questo sito potrebbe danneggiare il tuo computer!
Google Chrome

Questa situazione è l’incubo dei webmaster perchè ha vari aspetti negativi: danno all’immagine del sito, forte diminuzione di visitatori e perdita di tempo non indifferente. Se stai leggendo queste righe probabilmente il tuo sito ha subito un attacco, per rimuovere un malware da wordpress occorre mantenere la calma, individuare il problema, trovare la soluzione e risolverlo.

I sintomi

La maggior parte dei malware fa di tutto per non essere scoperti, tuttavia a volta deformano l’aspetto grafico del blog quindi se notate qualcosa di strano vi consiglio di controllare lo stato del sito su google webmaster tools e verificare che non ci siano messaggi strani come ad es. questo nella sezione salute – malware:

Google ha rilevato codice dannoso sul tuo sito e mostrerà un avviso agli utenti quando tentano di visitare le tue pagine dai risultati di ricerca di Google.
Devi ripulire il tuo sito al più presto possibile.

Potresti fare una verifica veloce controllando il file index.php che solitamente viene attaccato se vedi un codice simile al seguente significa che il tuo sito è potenzialmente pericoloso:

 eval(base64_decode('
   ZXJyb3JfcmVwb3J0aW5nKDApOw0KJGlwPSRfU0VSVkVSWyJ
		 SRU1PVEVfQUREUiJdOyRkcj0kX1NFUlZFUlsiRE9DVU1FTl
		 RfUk9PVCJdOyR1YSA9ICRfU0VSVkVSWydIVFRQX1VTRVJfQ
		 UdFTlQnXTskZGJmPSRkci4nLycubWQ1KCRkcik7DQppZigo
		 c3RycG9zKCR1YSwnV2luZG93cycpIT09ZmFsc2UpJiYoKHN
		 0cnBvcygkdWEsJ01TSUUnKSE9PWZhbHNlKXx8KHN0cnBvcy
		 gkdWEsJ09wZXJhJykhPT1mYWxzZSl8fChzdHJwb3MoJHVhL
		 CdGaXJlZm94JykhPT1mYWxzZSkpJiYoc3RycG9zKEBmaWxl
		')
 );


Rimuovere questo codice non basta perchè probabilmente altri files sono stati infettati.

Individuare e conoscere il malware

Nella maggior parte dei casi gli attacchi sono automatici, ci sono scanner che analizzano i file del sito e tramite un confronto degli hash dei files individuano quelli vulnerabili.La loro funzione è iniettare codice dentro i file il codice iniettato a volte è in base64 e viene accompagnato dalla funzione php eval, il codice sospetto inizia infatti spesso così: eval(base64_decode(. Attraverso a exploits più o meno noti riescono a scrivere su file di wordpress senza avere i diritti di scrittura e senza modificare la data di ultima modifica. Rimuovere un malware da wordpress non è possibile farlo manualmente ci sono troppi file da controllare. Esistono dei plugin che permettono di visualizzare una lista delle criticità presenti nei files e nei contenuti del database come Exploit Scan Plug-in, purtroppo il plugin non è sempre aggiornato e potrebbe dare l’errore hashes missing. Attualmente non funziona la versione 3.4.2 di wordpress e ho dovuto ricercare la soluzione nel forum di wordpress, occorre creare file hashes-3.4.2.php con dentro questo contenuto.
Se vuoi sapere che cosa conteneva il virus dovete solamente decodificare la stringa in base64 ci sono anche dei tool online come toastedSPAM
Ci sono dei siti che permettono di verificare se il sito è infetto come www.stopbadware.org e come vi ho detto prima se siete registrati Google Web Master Tool

Come rimuovere malware da wordpress

Rimuovere codice malware da wordpress non è semplice a volte occorre reinstallare tutto. Usando il plugin Exploit Scan Plug-in andrebbero individuate tutte le criticità sospette e una volta individuate quelle vere fra i falsi positivi è necessario fixare manualmente i file eliminando il codice. Solamente che questo metodo non è sicuro e ci sono tanti falsi positivi e ci vuole un mucchio di tempo. Senza contare che il virus potrebbe aver attaccato anche altri files esterni a wordpress, ho notato che avevo dei file index.php infetti in altre cartelle esterne a wordpress. Questa soluzione è consigliabile se e solo se ci si trova nello sciagurato caso in cui non si disponga di un backup del database e dei files.
La soluzione più veloce e sicura per rimuovere un malware da wordpress rimane fare tabula rasa e reinstallare da zero ecco quali sono i passaggi che ho effettuato per rimuovere il malware:

1 copiare i file infetti sul pc locale

Prima di eliminare tutto quanto è consigliabile farsi una copia dei file infetti sul computer locale, nel caso ci siano impostazioni o file che poi andranno rimesse sul sito.Se disponete un antivirus fare la scansione dei file. Importante anche effettuare un backup del database.

2 eliminare tutti i file sul server

Via ftp o ssh eliminare TUTTI i files presenti nella cartella di wordpress.

3 upload di wordpress ex novo

Andare sul sito di wordpress scarica l’ultima versione di wordpress e copiarla sul server. In seguito metterai nuovamente il template possibilmente non usare quello vecchio e infetto. Sarebbe bene avere sempre una copia di backup del proprio template in cui vi siano anche tutto il javascript per google analytics, facebook api altrimenti dovrai reimpostarli ancora. Un consiglio meno modifiche ci sono nel template meno tempo perderai usa quindi il più possibile i widgets.

4 impostare wp-config.php

Siccome non è un installazione nuova e il database è già presente occorre solo impostare le variabili inerenti al database presenti nel file wp-config.example.php:

  define('DB_NAME', 'database_name_here');
  define('DB_USER', 'username_here');
  define('DB_PASSWORD', 'password_here');
  define('DB_HOST', 'localhost');


Una volta modificato rinominarlo in wp-config.php. Successivamente accedere al pannello di amministrazione e si disattiveranno tutti i plugin.

5 reinstallare i plugin

Scaricare i plugin aggiornati che erano presenti nel vecchio wordpress e rimetterli exnovo perchè potrebbero essere infetti. Tieni presente che meno plugin si usano più wordpress sarà sicuro e veloce quindi seleziona bene quali plugin utilizzare, i plugins che non usi cancellali dalla cartella perchè possono essere utilizzati dagli scanner automatici.

6 richiedere la revisione a google

Per effettuare questa operazione occorre essere registrati a google e il blog a sua volta deve essere registrato google web master tool, ricordati di recuperare il metatag o il file di collegamento dai file vecchi del tuo blog. Per fare questa operazione imposta il tuo sito che è stato attaccato al posto di dominio.com e clicca sul pulsante con scritto revisione:
www.google.com/webmasters/tools/malware?hl=it&siteUrl=http://www.dominio.com
Armati di pazienza perchè la scansione non sarà immediata ma passeranno delle ore prima che google tolga l’avviso di sito pericoloso

Per maggiore sicurezza è consigliabile cambiare le password dell’utente FTP, WordPress e MySql e ricambiare il file di config. Se il virus ricompare è probabile che sia stato iniettato del codice malevolo nel database e occorre individuarlo ed eliminarlo o ripristinare anche quello da una copia di backup. WordPress essendo un progetto abbastanza complesso per quanto riguarda la sicurezza è un colabrodo e qualsiasi sistema di protezione adotterai potrebbe essere sempre superato. Se il tuo sito viene attaccato puoi perdere soldi e tantissimo tempo per rimetterlo a posto. Fare il backup con regolarità sia del database sia dei files è fondamentale.

Fonte articolo
Altre informazioni in inglese sull’attacco wordpress eval base64

L'articolo ti è stato utile?

Condividilo sulla tua rete di contatti Twitter, sulla tua bacheca su Facebook o semplicemente premi "+1" per suggerire questo risultato nelle ricerche in Google. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!

2 thoughts on “Come rimuovere virus e malware da wordpress

  1. Elegant Themes

    Ciao Evilripper!
    Complimenti per il post, molto dettagliato!

    Purtroppo ci sono passato anche io per questi dannati malware, e devo dire che la cosa più importante sono i vari backup (databse e file), senza di quelli sarei perso! Mai fare niente senza prima non avere copie di backup!
    Altra cosa, volevo segnalare anche il sito http://sitecheck.sucuri.net/scanner/ per eseguire uno scan del sito, mi ci trovo molto bene!

    Un saluto
    Roberto

  2. evilripper Post author

    Sitecheck è veramente un ottimo tool grazie per la segnalazione. Probabilmente mi hanno attaccato tramite inclusione di codice esterno perchè mi ero dimenticato allow_url_fopen e allow_url_include attivi che nel 99% dei casi servono solo a rendere più insicuro php! 😀

Comments are closed.