Il tuo sito WordPress reindirizza improvvisamente verso siti per adulti, casinò online, piattaforme di scommesse o altri domini che non conosci? Se non hai configurato volontariamente questi reindirizzamenti, è necessario prendere seriamente in considerazione la possibilità che il sito sia stato compromesso.
È uno dei sintomi tipici di alcune infezioni WordPress: l’utente apre una pagina apparentemente normale e viene improvvisamente trasferito verso un dominio esterno, spesso contenente pubblicità, gambling, contenuti per adulti, falsi avvisi di sicurezza o altre pagine spam.
Il problema diventa ancora più difficile da diagnosticare quando il redirect non compare a ogni visita. Il proprietario può controllare il sito dal proprio computer e non notare nulla, mentre alcuni visitatori continuano a essere reindirizzati.
Può succedere, ad esempio, che il redirect venga attivato:
- soltanto alla prima visita;
- solo da smartphone o tablet;
- quando l’utente arriva da Google;
- solo per gli utenti non autenticati;
- su determinate pagine del sito;
- da alcuni browser o dispositivi;
- in maniera intermittente, apparentemente casuale.
In questa guida vedremo perché WordPress può reindirizzare verso siti indesiderati, come verificare se si tratta realmente di malware e dove cercare il codice responsabile.
Se hai già la certezza che il sito sia stato compromesso e preferisci non intervenire manualmente, puoi consultare il nostro servizio di rimozione malware WordPress.
Attenzione: eliminare il singolo codice che produce il redirect non significa necessariamente aver bonificato il sito. Se rimane una backdoor, un account compromesso o la vulnerabilità utilizzata per entrare, l’infezione può ricomparire.
Perché WordPress reindirizza a siti strani?
Quando WordPress inizia a inviare i visitatori verso un dominio completamente estraneo al sito, soprattutto verso casinò, scommesse, siti per adulti o pagine spam, una delle prime ipotesi da verificare è la presenza di codice malevolo.
L’attaccante può modificare l’installazione in modo che, durante il caricamento di una pagina, venga eseguito del codice capace di trasferire il visitatore verso un’altra destinazione.
Non esiste però un unico punto nel quale cercare.
Il codice responsabile del redirect malware WordPress può trovarsi:
- nei file del core di WordPress;
- nel tema;
- all’interno di un plugin;
- nel file
.htaccess; - nel file
wp-config.php; - nella directory
wp-content/uploads; - nei Must-Use Plugin;
- direttamente nel database.
In alcuni casi possono essere presenti più componenti contemporaneamente. Un file genera il redirect, un altro mantiene una backdoor e un terzo meccanismo può essere utilizzato per ripristinare il malware dopo la rimozione.
È per questo che una vera bonifica di WordPress non dovrebbe limitarsi alla ricerca del primo file sospetto.
Redirect verso casinò o siti per adulti: significa che WordPress è stato hackerato?
Non necessariamente ogni redirect anomalo significa che WordPress sia stato hackerato.
Un reindirizzamento può essere provocato anche da una configurazione errata, da un plugin di redirect, da impostazioni del dominio, da servizi esterni o, in alcuni casi, da un problema locale del browser.
La situazione diventa però molto più sospetta quando il sito porta improvvisamente verso:
- casinò online;
- siti di scommesse;
- pagine per adulti;
- falsi antivirus;
- pagine che chiedono di installare software;
- siti pubblicitari sconosciuti;
- domini completamente estranei all’attività del sito.
Se il comportamento è accompagnato da altri segnali anomali, è opportuno trattare l’installazione come un sito WordPress potenzialmente hackerato fino a quando non viene individuata la causa.
Tra i segnali da controllare troviamo:
- file sconosciuti comparsi sul server;
- file WordPress modificati senza motivo;
- nuovi utenti amministratori;
- segnalazioni di Wordfence o di altri scanner;
- codice insolito nel file
.htaccess; - plugin o temi che non ricordi di aver installato;
- pagine spam presenti nei risultati Google;
- redirect che scompaiono dopo una pulizia e successivamente ritornano.
Perché io vedo il sito normalmente ma i clienti vengono reindirizzati?
Questo è uno degli aspetti che crea maggiore confusione.
Il proprietario apre il sito e tutto funziona. Poco dopo un cliente segnala di essere finito su un casinò o su una pagina per adulti.
Il primo pensiero può essere che il problema riguardi il dispositivo del cliente. Non sempre è così.
Alcuni malware utilizzano redirect condizionali: prima di eseguire il reindirizzamento verificano determinate caratteristiche della visita.
Lo scopo può essere quello di mostrare il comportamento malevolo soltanto a una parte degli utenti, rendendo l’infezione meno evidente al proprietario del sito e più difficile da riprodurre durante i controlli.
WordPress reindirizza solo quando arrivo da Google
Una delle varianti più insidiose si verifica quando WordPress reindirizza soltanto gli utenti provenienti da Google o da altri motori di ricerca.
Digitando direttamente il dominio nella barra del browser il sito può funzionare perfettamente. Cercando invece il sito su Google e cliccando sul risultato, il visitatore viene inviato verso un’altra pagina.
Il codice può utilizzare le informazioni relative alla provenienza della visita per decidere se attivarsi.
Questo significa che aprire semplicemente la homepage dai preferiti non è sufficiente per stabilire che il problema sia stato risolto.
WordPress reindirizza solo da smartphone
Un’altra situazione frequente è il redirect malware che compare solamente da mobile.
Da computer il sito funziona, mentre da smartphone l’utente viene inviato verso una pagina pubblicitaria, un casinò o un altro dominio.
Il codice malevolo può distinguere determinate caratteristiche della richiesta e attivare il redirect soltanto in alcune circostanze.
Se hai ricevuto segnalazioni dai visitatori ma dal tuo computer non riesci a riprodurre il problema, una delle prime verifiche da effettuare è quindi quella da smartphone.
Redirect soltanto alla prima visita
Esistono inoltre infezioni nelle quali il reindirizzamento viene eseguito soltanto alla prima visita o una volta ogni determinato intervallo di tempo.
Cookie, indirizzo IP, sessioni o altre condizioni possono essere utilizzati per evitare di mostrare continuamente lo stesso comportamento alla stessa persona.
Il risultato è particolarmente ingannevole:
- visiti il sito e vieni reindirizzato;
- torni indietro;
- apri nuovamente la stessa pagina;
- questa volta WordPress funziona normalmente.
Il fatto che il redirect non si ripeta immediatamente non dimostra che sia scomparso.
Il redirect non compare quando sei collegato come amministratore
Il malware può anche verificare se il visitatore è autenticato.
In questo modo chi gestisce WordPress naviga normalmente dal proprio account amministratore, mentre i visitatori pubblici continuano a essere reindirizzati.
Per questo i test dovrebbero essere effettuati anche senza essere collegati al pannello di amministrazione.
Come verificare correttamente un redirect sospetto
Prima di iniziare a modificare file e database conviene cercare di riprodurre il problema in maniera sistematica.
Effettua più test:
- apri il sito in navigazione anonima;
- provalo da smartphone;
- esci dall’account amministratore WordPress;
- raggiungi il sito attraverso un risultato Google;
- prova più pagine interne;
- controlla eventuali prodotti WooCommerce e articoli;
- se possibile, prova una rete o un dispositivo differente.
Quando il redirect compare, annota:
- la pagina WordPress dalla quale è partito;
- il dominio di destinazione;
- data e ora;
- dispositivo e browser;
- se eri autenticato;
- come eri arrivato sulla pagina;
- se il redirect compare nuovamente ripetendo la visita.
Queste informazioni possono aiutare a comprendere le condizioni utilizzate dal malware per attivarsi.
Dove si nasconde il malware che reindirizza WordPress?
Una volta verificato il comportamento, bisogna iniziare l’analisi dell’installazione.
Uno degli errori più comuni consiste nel cercare un fantomatico file chiamato “virus.php” o nel pensare che tutto il malware debba trovarsi nello stesso punto.
Nella realtà il codice può essere nascosto in file esistenti, utilizzare nomi apparentemente legittimi oppure essere memorizzato nel database.
1. Controllare il file .htaccess
Il file .htaccess è uno dei primi elementi da verificare quando WordPress effettua reindirizzamenti anomali.
Questo file viene normalmente utilizzato per la gestione dei permalink e può contenere altre direttive legittime relative al server, alla cache o alla sicurezza.
Se modificato da un attaccante, può però essere utilizzato anche per reindirizzare i visitatori verso domini esterni.
Particolare attenzione deve essere prestata a:
- domini che non riconosci;
- regole
RedirectoRewriteRulemai configurate; - condizioni basate sulla provenienza del visitatore;
- blocchi di codice comparsi improvvisamente;
- ulteriori file
.htaccesspresenti nelle sottodirectory.
Se vuoi comprendere meglio come dovrebbe essere strutturato questo file, abbiamo dedicato una guida specifica al file .htaccess di WordPress.
Non cancellare indiscriminatamente il contenuto del file. Potrebbero essere presenti direttive necessarie al corretto funzionamento del sito.
2. Controllare functions.php del tema
Il file functions.php viene utilizzato dal tema per aggiungere funzionalità a WordPress ed è quindi un punto importante da verificare durante un’analisi.
Codice malevolo inserito al suo interno può essere utilizzato per caricare script esterni, eseguire istruzioni PHP o modificare il comportamento delle pagine.
Il confronto con una copia originale e affidabile della stessa versione del tema può aiutare a individuare modifiche che non dovrebbero essere presenti.
È opportuno controllare anche eventuali temi inutilizzati ancora presenti sul server.
3. Controllare header.php, footer.php e index.php
header.php e footer.php vengono caricati in numerose pagine del tema e possono quindi essere utilizzati per distribuire codice indesiderato su gran parte del sito.
Anche index.php e gli altri file PHP presenti nella root meritano attenzione quando contengono istruzioni inattese o risultano modificati in un periodo compatibile con l’inizio dell’infezione.
Il controllo dovrebbe sempre essere effettuato confrontando i file con fonti originali. Codice complesso o poco leggibile non significa automaticamente codice malevolo.
4. Plugin compromessi, vulnerabili o modificati
Un plugin può essere coinvolto in diversi modi.
Potrebbe contenere una vulnerabilità utilizzata come punto d’ingresso, essere stato modificato dopo l’attacco oppure provenire da una fonte non affidabile.
Durante l’analisi verifica soprattutto:
- plugin molto vecchi;
- componenti non più mantenuti;
- plugin scaricati da fonti non ufficiali;
- versioni nulled di prodotti premium;
- cartelle che non riconosci;
- file PHP recentemente modificati;
- plugin inutilizzati ma ancora presenti sul server.
Disattivare il plugin sospetto può essere utile per una prova, ma non equivale alla bonifica: se l’attaccante ha già inserito una backdoor o modificato il database, il sito può rimanere compromesso anche dopo la disattivazione del plugin.
5. File PHP sospetti dentro wp-content/uploads
La directory wp-content/uploads ospita normalmente immagini, PDF e altri file multimediali.
Per questo la presenza di script PHP sconosciuti merita un controllo accurato.
Durante l’analisi presta attenzione a:
- file PHP che non riconosci;
- nomi apparentemente casuali;
- directory create recentemente;
- file che imitano nomi del core WordPress;
- script molto piccoli contenenti codice offuscato.
Anche in questo caso non bisogna cancellare automaticamente ogni file insolito: alcuni plugin possono creare legittimamente file all’interno degli upload. Bisogna prima identificarne l’origine.
6. Controllare la cartella mu-plugins
La directory wp-content/mu-plugins contiene i cosiddetti Must-Use Plugins, componenti caricati automaticamente da WordPress.
Alcuni hosting e servizi utilizzano legittimamente questa directory, quindi la sua presenza non rappresenta di per sé un problema.
Durante una bonifica è però necessario verificare che ogni file presente sia conosciuto e riconducibile a un componente effettivamente utilizzato.
7. Controllare wp-config.php
wp-config.php contiene la configurazione principale dell’installazione WordPress.
Controlla che non siano presenti:
- inclusioni di file sconosciuti;
- codice PHP estraneo alla configurazione;
- riferimenti a domini esterni;
- istruzioni aggiunte prima o dopo la configurazione prevista.
Essendo un file fondamentale, qualsiasi modifica deve essere eseguita con particolare cautela.
Il malware può essere nascosto nel database WordPress
Sì. Ed è uno degli aspetti più importanti da considerare quando WordPress continua a reindirizzare nonostante i file sembrino puliti.
Un’infezione non deve necessariamente essere contenuta in un file PHP.
JavaScript, iframe, URL esterni, snippet e altre istruzioni possono essere memorizzati nel database e caricati successivamente da WordPress, dal tema, da un plugin o da un page builder.
Questo spiega perché, in alcune situazioni, la scansione dei file può non individuare la causa del problema.
Tra le tabelle che possono richiedere attenzione troviamo:
wp_options;wp_posts;wp_postmeta;- tabelle create dai plugin;
- dati utilizzati dai page builder;
- impostazioni di widget e tema.
Il prefisso wp_ è soltanto quello predefinito: l’installazione può utilizzare un prefisso differente.
Malware nella tabella wp_options
wp_options è particolarmente importante perché contiene molte impostazioni utilizzate automaticamente da WordPress e dai suoi componenti.
Durante l’analisi si possono cercare elementi come:
- URL esterni sconosciuti;
- JavaScript non previsto;
- iframe;
- stringhe fortemente offuscate;
- opzioni con nomi che non riconosci;
- dati appartenenti a plugin sospetti;
- valori modificati senza una ragione apparente.
Esistono casi documentati nei quali codice responsabile di redirect e altre attività malevole è stato memorizzato nelle opzioni del database, rendendo più difficile l’individuazione attraverso la sola scansione dei file.
Attenzione: non eliminare record dal database soltanto perché il loro contenuto appare complesso. WordPress, temi e plugin memorizzano normalmente dati serializzati e configurazioni difficili da interpretare manualmente.
Una modifica errata a wp_options può compromettere il funzionamento dell’intero sito.
Wordfence non trova malware ma il sito continua a reindirizzare
Una scansione di sicurezza senza segnalazioni è certamente positiva, ma non dovrebbe essere considerata da sola una prova definitiva che WordPress sia pulito quando esiste ancora un redirect reale e riproducibile.
Ci sono casi in cui proprietari di siti hanno continuato a osservare redirect malevoli anche dopo scansioni che non evidenziavano problemi.
Il motivo può essere diverso a seconda dell’infezione. Il codice potrebbe:
- trovarsi nel database;
- essere stato modificato o offuscato;
- attivarsi soltanto in determinate condizioni;
- essere nascosto all’interno di un componente legittimo modificato;
- essere caricato da una risorsa esterna;
- essere ripristinato attraverso una backdoor.
Lo scanner deve quindi essere considerato uno degli strumenti della diagnosi, non l’unico criterio utilizzato per stabilire se il sito sia sicuro.
Cosa non fare quando WordPress reindirizza a casinò o siti per adulti
Quando il sito è compromesso, intervenire in fretta è importante. Agire senza metodo, invece, può far perdere informazioni utili oppure creare ulteriori problemi.
Non cancellare soltanto il primo file sospetto
Il file che produce materialmente il redirect potrebbe rappresentare soltanto il sintomo visibile dell’infezione.
Se sul server rimane una backdoor, il file può essere ricreato.
Non reinstallare semplicemente WordPress pensando di aver risolto
La sostituzione dei file del core può essere utile durante una bonifica, ma non elimina automaticamente malware presenti nel tema, nei plugin, negli upload o nel database.
Non considerare il sito pulito solo perché il redirect è sparito
Come abbiamo visto, alcuni malware reindirizzano soltanto determinati visitatori o una sola volta per dispositivo.
Il fatto che tu non riesca più a riprodurre immediatamente il comportamento non dimostra che l’infezione sia stata eliminata.
Non cancellare record dal database senza sapere cosa contengono
Una modifica errata a wp_options, wp_posts o ad altre tabelle può provocare malfunzionamenti anche gravi.
Non affidarti esclusivamente a una scansione automatica
Gli scanner sono estremamente utili, ma una compromissione complessa richiede anche il controllo dei file, del database, degli utenti, delle credenziali e delle possibili modalità di accesso.
Prima della bonifica: crea una copia completa del sito compromesso
Prima di iniziare a eliminare file o modificare il database è consigliabile salvare una copia completa dello stato attuale del sito.
La copia dovrebbe comprendere:
- tutti i file WordPress;
- il database;
- quando disponibili, i log utili all’analisi.
Questa copia non deve essere considerata un backup pulito da ripristinare in futuro. È piuttosto una fotografia dell’incidente.
Può diventare utile per confrontare file, ricostruire modifiche, recuperare informazioni eliminate durante la bonifica e cercare di capire da dove sia partita la compromissione.
A questo punto è possibile passare dalla diagnosi alla fase più delicata: rimuovere il malware senza limitarsi al redirect visibile e verificare che sul sito non rimangano backdoor o altri sistemi di accesso.
Nella seconda parte della guida vedremo come eseguire la bonifica di WordPress: sostituzione dei file compromessi, ricerca delle backdoor, pulizia del database, controllo degli amministratori, cambio delle credenziali, aggiornamento dei componenti vulnerabili e verifiche necessarie per capire se il malware è stato realmente eliminato.
WordPress reindirizza a siti per adulti, casinò o scommesse: come trovare e rimuovere il malware
Il tuo sito WordPress reindirizza improvvisamente verso siti per adulti, casinò online, piattaforme di scommesse o altri domini che non conosci? Se non hai configurato volontariamente questi reindirizzamenti, è necessario prendere seriamente in considerazione la possibilità che il sito sia stato compromesso.
È uno dei sintomi tipici di alcune infezioni WordPress: l’utente apre una pagina apparentemente normale e viene improvvisamente trasferito verso un dominio esterno, spesso contenente pubblicità, gambling, contenuti per adulti, falsi avvisi di sicurezza o altre pagine spam.
Il problema diventa ancora più difficile da diagnosticare quando il redirect non compare a ogni visita. Il proprietario può controllare il sito dal proprio computer e non notare nulla, mentre alcuni visitatori continuano a essere reindirizzati.
Può succedere, ad esempio, che il redirect venga attivato:
- soltanto alla prima visita;
- solo da smartphone o tablet;
- quando l’utente arriva da Google;
- solo per gli utenti non autenticati;
- su determinate pagine del sito;
- da alcuni browser o dispositivi;
- in maniera intermittente, apparentemente casuale.
In questa guida vedremo perché WordPress può reindirizzare verso siti indesiderati, come verificare se si tratta realmente di malware e dove cercare il codice responsabile.
Se hai già la certezza che il sito sia stato compromesso e preferisci non intervenire manualmente, puoi consultare il nostro servizio di rimozione malware WordPress.
Attenzione: eliminare il singolo codice che produce il redirect non significa necessariamente aver bonificato il sito. Se rimane una backdoor, un account compromesso o la vulnerabilità utilizzata per entrare, l’infezione può ricomparire.
Perché WordPress reindirizza a siti strani?
Quando WordPress inizia a inviare i visitatori verso un dominio completamente estraneo al sito, soprattutto verso casinò, scommesse, siti per adulti o pagine spam, una delle prime ipotesi da verificare è la presenza di codice malevolo.
L’attaccante può modificare l’installazione in modo che, durante il caricamento di una pagina, venga eseguito del codice capace di trasferire il visitatore verso un’altra destinazione.
Non esiste però un unico punto nel quale cercare.
Il codice responsabile del redirect malware WordPress può trovarsi:
- nei file del core di WordPress;
- nel tema;
- all’interno di un plugin;
- nel file
.htaccess; - nel file
wp-config.php; - nella directory
wp-content/uploads; - nei Must-Use Plugin;
- direttamente nel database.
In alcuni casi possono essere presenti più componenti contemporaneamente. Un file genera il redirect, un altro mantiene una backdoor e un terzo meccanismo può essere utilizzato per ripristinare il malware dopo la rimozione.
È per questo che una vera bonifica di WordPress non dovrebbe limitarsi alla ricerca del primo file sospetto.
Redirect verso casinò o siti per adulti: significa che WordPress è stato hackerato?
Non necessariamente ogni redirect anomalo significa che WordPress sia stato hackerato.
Un reindirizzamento può essere provocato anche da una configurazione errata, da un plugin di redirect, da impostazioni del dominio, da servizi esterni o, in alcuni casi, da un problema locale del browser.
La situazione diventa però molto più sospetta quando il sito porta improvvisamente verso:
- casinò online;
- siti di scommesse;
- pagine per adulti;
- falsi antivirus;
- pagine che chiedono di installare software;
- siti pubblicitari sconosciuti;
- domini completamente estranei all’attività del sito.
Se il comportamento è accompagnato da altri segnali anomali, è opportuno trattare l’installazione come un sito WordPress potenzialmente hackerato fino a quando non viene individuata la causa.
Tra i segnali da controllare troviamo:
- file sconosciuti comparsi sul server;
- file WordPress modificati senza motivo;
- nuovi utenti amministratori;
- segnalazioni di Wordfence o di altri scanner;
- codice insolito nel file
.htaccess; - plugin o temi che non ricordi di aver installato;
- pagine spam presenti nei risultati Google;
- redirect che scompaiono dopo una pulizia e successivamente ritornano.
Perché io vedo il sito normalmente ma i clienti vengono reindirizzati?
Questo è uno degli aspetti che crea maggiore confusione.
Il proprietario apre il sito e tutto funziona. Poco dopo un cliente segnala di essere finito su un casinò o su una pagina per adulti.
Il primo pensiero può essere che il problema riguardi il dispositivo del cliente. Non sempre è così.
Alcuni malware utilizzano redirect condizionali: prima di eseguire il reindirizzamento verificano determinate caratteristiche della visita.
Lo scopo può essere quello di mostrare il comportamento malevolo soltanto a una parte degli utenti, rendendo l’infezione meno evidente al proprietario del sito e più difficile da riprodurre durante i controlli.
WordPress reindirizza solo quando arrivo da Google
Una delle varianti più insidiose si verifica quando WordPress reindirizza soltanto gli utenti provenienti da Google o da altri motori di ricerca.
Digitando direttamente il dominio nella barra del browser il sito può funzionare perfettamente. Cercando invece il sito su Google e cliccando sul risultato, il visitatore viene inviato verso un’altra pagina.
Il codice può utilizzare le informazioni relative alla provenienza della visita per decidere se attivarsi.
Questo significa che aprire semplicemente la homepage dai preferiti non è sufficiente per stabilire che il problema sia stato risolto.
WordPress reindirizza solo da smartphone
Un’altra situazione frequente è il redirect malware che compare solamente da mobile.
Da computer il sito funziona, mentre da smartphone l’utente viene inviato verso una pagina pubblicitaria, un casinò o un altro dominio.
Il codice malevolo può distinguere determinate caratteristiche della richiesta e attivare il redirect soltanto in alcune circostanze.
Se hai ricevuto segnalazioni dai visitatori ma dal tuo computer non riesci a riprodurre il problema, una delle prime verifiche da effettuare è quindi quella da smartphone.
Redirect soltanto alla prima visita
Esistono inoltre infezioni nelle quali il reindirizzamento viene eseguito soltanto alla prima visita o una volta ogni determinato intervallo di tempo.
Cookie, indirizzo IP, sessioni o altre condizioni possono essere utilizzati per evitare di mostrare continuamente lo stesso comportamento alla stessa persona.
Il risultato è particolarmente ingannevole:
- visiti il sito e vieni reindirizzato;
- torni indietro;
- apri nuovamente la stessa pagina;
- questa volta WordPress funziona normalmente.
Il fatto che il redirect non si ripeta immediatamente non dimostra che sia scomparso.
Il redirect non compare quando sei collegato come amministratore
Il malware può anche verificare se il visitatore è autenticato.
In questo modo chi gestisce WordPress naviga normalmente dal proprio account amministratore, mentre i visitatori pubblici continuano a essere reindirizzati.
Per questo i test dovrebbero essere effettuati anche senza essere collegati al pannello di amministrazione.
Come verificare correttamente un redirect sospetto
Prima di iniziare a modificare file e database conviene cercare di riprodurre il problema in maniera sistematica.
Effettua più test:
- apri il sito in navigazione anonima;
- provalo da smartphone;
- esci dall’account amministratore WordPress;
- raggiungi il sito attraverso un risultato Google;
- prova più pagine interne;
- controlla eventuali prodotti WooCommerce e articoli;
- se possibile, prova una rete o un dispositivo differente.
Quando il redirect compare, annota:
- la pagina WordPress dalla quale è partito;
- il dominio di destinazione;
- data e ora;
- dispositivo e browser;
- se eri autenticato;
- come eri arrivato sulla pagina;
- se il redirect compare nuovamente ripetendo la visita.
Queste informazioni possono aiutare a comprendere le condizioni utilizzate dal malware per attivarsi.
Dove si nasconde il malware che reindirizza WordPress?
Una volta verificato il comportamento, bisogna iniziare l’analisi dell’installazione.
Uno degli errori più comuni consiste nel cercare un fantomatico file chiamato “virus.php” o nel pensare che tutto il malware debba trovarsi nello stesso punto.
Nella realtà il codice può essere nascosto in file esistenti, utilizzare nomi apparentemente legittimi oppure essere memorizzato nel database.
1. Controllare il file .htaccess
Il file .htaccess è uno dei primi elementi da verificare quando WordPress effettua reindirizzamenti anomali.
Questo file viene normalmente utilizzato per la gestione dei permalink e può contenere altre direttive legittime relative al server, alla cache o alla sicurezza.
Se modificato da un attaccante, può però essere utilizzato anche per reindirizzare i visitatori verso domini esterni.
Particolare attenzione deve essere prestata a:
- domini che non riconosci;
- regole
RedirectoRewriteRulemai configurate; - condizioni basate sulla provenienza del visitatore;
- blocchi di codice comparsi improvvisamente;
- ulteriori file
.htaccesspresenti nelle sottodirectory.
Se vuoi comprendere meglio come dovrebbe essere strutturato questo file, abbiamo dedicato una guida specifica al file .htaccess di WordPress.
Non cancellare indiscriminatamente il contenuto del file. Potrebbero essere presenti direttive necessarie al corretto funzionamento del sito.
2. Controllare functions.php del tema
Il file functions.php viene utilizzato dal tema per aggiungere funzionalità a WordPress ed è quindi un punto importante da verificare durante un’analisi.
Codice malevolo inserito al suo interno può essere utilizzato per caricare script esterni, eseguire istruzioni PHP o modificare il comportamento delle pagine.
Il confronto con una copia originale e affidabile della stessa versione del tema può aiutare a individuare modifiche che non dovrebbero essere presenti.
È opportuno controllare anche eventuali temi inutilizzati ancora presenti sul server.
3. Controllare header.php, footer.php e index.php
header.php e footer.php vengono caricati in numerose pagine del tema e possono quindi essere utilizzati per distribuire codice indesiderato su gran parte del sito.
Anche index.php e gli altri file PHP presenti nella root meritano attenzione quando contengono istruzioni inattese o risultano modificati in un periodo compatibile con l’inizio dell’infezione.
Il controllo dovrebbe sempre essere effettuato confrontando i file con fonti originali. Codice complesso o poco leggibile non significa automaticamente codice malevolo.
4. Plugin compromessi, vulnerabili o modificati
Un plugin può essere coinvolto in diversi modi.
Potrebbe contenere una vulnerabilità utilizzata come punto d’ingresso, essere stato modificato dopo l’attacco oppure provenire da una fonte non affidabile.
Durante l’analisi verifica soprattutto:
- plugin molto vecchi;
- componenti non più mantenuti;
- plugin scaricati da fonti non ufficiali;
- versioni nulled di prodotti premium;
- cartelle che non riconosci;
- file PHP recentemente modificati;
- plugin inutilizzati ma ancora presenti sul server.
Disattivare il plugin sospetto può essere utile per una prova, ma non equivale alla bonifica: se l’attaccante ha già inserito una backdoor o modificato il database, il sito può rimanere compromesso anche dopo la disattivazione del plugin.
5. File PHP sospetti dentro wp-content/uploads
La directory wp-content/uploads ospita normalmente immagini, PDF e altri file multimediali.
Per questo la presenza di script PHP sconosciuti merita un controllo accurato.
Durante l’analisi presta attenzione a:
- file PHP che non riconosci;
- nomi apparentemente casuali;
- directory create recentemente;
- file che imitano nomi del core WordPress;
- script molto piccoli contenenti codice offuscato.
Anche in questo caso non bisogna cancellare automaticamente ogni file insolito: alcuni plugin possono creare legittimamente file all’interno degli upload. Bisogna prima identificarne l’origine.
6. Controllare la cartella mu-plugins
La directory wp-content/mu-plugins contiene i cosiddetti Must-Use Plugins, componenti caricati automaticamente da WordPress.
Alcuni hosting e servizi utilizzano legittimamente questa directory, quindi la sua presenza non rappresenta di per sé un problema.
Durante una bonifica è però necessario verificare che ogni file presente sia conosciuto e riconducibile a un componente effettivamente utilizzato.
7. Controllare wp-config.php
wp-config.php contiene la configurazione principale dell’installazione WordPress.
Controlla che non siano presenti:
- inclusioni di file sconosciuti;
- codice PHP estraneo alla configurazione;
- riferimenti a domini esterni;
- istruzioni aggiunte prima o dopo la configurazione prevista.
Essendo un file fondamentale, qualsiasi modifica deve essere eseguita con particolare cautela.
Il malware può essere nascosto nel database WordPress
Sì. Ed è uno degli aspetti più importanti da considerare quando WordPress continua a reindirizzare nonostante i file sembrino puliti.
Un’infezione non deve necessariamente essere contenuta in un file PHP.
JavaScript, iframe, URL esterni, snippet e altre istruzioni possono essere memorizzati nel database e caricati successivamente da WordPress, dal tema, da un plugin o da un page builder.
Questo spiega perché, in alcune situazioni, la scansione dei file può non individuare la causa del problema.
Tra le tabelle che possono richiedere attenzione troviamo:
wp_options;wp_posts;wp_postmeta;- tabelle create dai plugin;
- dati utilizzati dai page builder;
- impostazioni di widget e tema.
Il prefisso wp_ è soltanto quello predefinito: l’installazione può utilizzare un prefisso differente.
Malware nella tabella wp_options
wp_options è particolarmente importante perché contiene molte impostazioni utilizzate automaticamente da WordPress e dai suoi componenti.
Durante l’analisi si possono cercare elementi come:
- URL esterni sconosciuti;
- JavaScript non previsto;
- iframe;
- stringhe fortemente offuscate;
- opzioni con nomi che non riconosci;
- dati appartenenti a plugin sospetti;
- valori modificati senza una ragione apparente.
Esistono casi documentati nei quali codice responsabile di redirect e altre attività malevole è stato memorizzato nelle opzioni del database, rendendo più difficile l’individuazione attraverso la sola scansione dei file.
Attenzione: non eliminare record dal database soltanto perché il loro contenuto appare complesso. WordPress, temi e plugin memorizzano normalmente dati serializzati e configurazioni difficili da interpretare manualmente.
Una modifica errata a wp_options può compromettere il funzionamento dell’intero sito.
Wordfence non trova malware ma il sito continua a reindirizzare
Una scansione di sicurezza senza segnalazioni è certamente positiva, ma non dovrebbe essere considerata da sola una prova definitiva che WordPress sia pulito quando esiste ancora un redirect reale e riproducibile.
Ci sono casi in cui proprietari di siti hanno continuato a osservare redirect malevoli anche dopo scansioni che non evidenziavano problemi.
Il motivo può essere diverso a seconda dell’infezione. Il codice potrebbe:
- trovarsi nel database;
- essere stato modificato o offuscato;
- attivarsi soltanto in determinate condizioni;
- essere nascosto all’interno di un componente legittimo modificato;
- essere caricato da una risorsa esterna;
- essere ripristinato attraverso una backdoor.
Lo scanner deve quindi essere considerato uno degli strumenti della diagnosi, non l’unico criterio utilizzato per stabilire se il sito sia sicuro.
Cosa non fare quando WordPress reindirizza a casinò o siti per adulti
Quando il sito è compromesso, intervenire in fretta è importante. Agire senza metodo, invece, può far perdere informazioni utili oppure creare ulteriori problemi.
Non cancellare soltanto il primo file sospetto
Il file che produce materialmente il redirect potrebbe rappresentare soltanto il sintomo visibile dell’infezione.
Se sul server rimane una backdoor, il file può essere ricreato.
Non reinstallare semplicemente WordPress pensando di aver risolto
La sostituzione dei file del core può essere utile durante una bonifica, ma non elimina automaticamente malware presenti nel tema, nei plugin, negli upload o nel database.
Non considerare il sito pulito solo perché il redirect è sparito
Come abbiamo visto, alcuni malware reindirizzano soltanto determinati visitatori o una sola volta per dispositivo.
Il fatto che tu non riesca più a riprodurre immediatamente il comportamento non dimostra che l’infezione sia stata eliminata.
Non cancellare record dal database senza sapere cosa contengono
Una modifica errata a wp_options, wp_posts o ad altre tabelle può provocare malfunzionamenti anche gravi.
Non affidarti esclusivamente a una scansione automatica
Gli scanner sono estremamente utili, ma una compromissione complessa richiede anche il controllo dei file, del database, degli utenti, delle credenziali e delle possibili modalità di accesso.
Prima della bonifica: crea una copia completa del sito compromesso
Prima di iniziare a eliminare file o modificare il database è consigliabile salvare una copia completa dello stato attuale del sito.
La copia dovrebbe comprendere:
- tutti i file WordPress;
- il database;
- quando disponibili, i log utili all’analisi.
Questa copia non deve essere considerata un backup pulito da ripristinare in futuro. È piuttosto una fotografia dell’incidente.
Può diventare utile per confrontare file, ricostruire modifiche, recuperare informazioni eliminate durante la bonifica e cercare di capire da dove sia partita la compromissione.
A questo punto è possibile passare dalla diagnosi alla fase più delicata: rimuovere il malware senza limitarsi al redirect visibile e verificare che sul sito non rimangano backdoor o altri sistemi di accesso.
Nella seconda parte della guida vedremo come eseguire la bonifica di WordPress: sostituzione dei file compromessi, ricerca delle backdoor, pulizia del database, controllo degli amministratori, cambio delle credenziali, aggiornamento dei componenti vulnerabili e verifiche necessarie per capire se il malware è stato realmente eliminato.


