Hai rimosso un malware da WordPress ma dopo qualche giorno il problema è comparso di nuovo? Il sito continua a generare redirect, vengono creati file sconosciuti oppure trovi modifiche che non hai effettuato? Una delle possibili cause è la presenza di una backdoor WordPress rimasta nascosta nel sito.
Una backdoor è un meccanismo che può consentire a un attaccante di mantenere o recuperare l’accesso a un sito compromesso. Per questo eliminare soltanto il file segnalato da uno scanner non significa necessariamente aver completato la bonifica.
In questa guida vediamo cosa sono le backdoor WordPress, dove possono nascondersi, quali segnali possono indicarne la presenza e come cercarle senza cancellare indiscriminatamente file legittimi.
Cos’è una backdoor WordPress?
Nel contesto di un sito compromesso, una backdoor è un accesso nascosto o un meccanismo di persistenza che permette di aggirare il normale sistema di autenticazione o di eseguire operazioni non autorizzate.
Una volta ottenuto l’accesso al sito, un attaccante può tentare di lasciare una backdoor per poter rientrare successivamente, anche quando il malware più evidente è stato individuato e rimosso.
Questo è uno dei motivi per cui una corretta bonifica di WordPress non dovrebbe limitarsi alla cancellazione dei file indicati da un antivirus o da un plugin di sicurezza.
È necessario capire cosa è stato modificato e verificare se nel sito sono rimasti altri elementi compromessi.
Backdoor e malware WordPress sono la stessa cosa?
I due termini sono collegati, ma non indicano necessariamente la stessa cosa.
Con malware WordPress possiamo indicare genericamente codice malevolo presente nel sito. Può essere utilizzato, ad esempio, per generare redirect, creare pagine spam, modificare contenuti, inserire link nascosti o eseguire altre operazioni non autorizzate.
Una backdoor, invece, ha principalmente lo scopo di mantenere un accesso nascosto o permettere nuovamente l’esecuzione di operazioni sul sito compromesso.
Nella stessa infezione possono quindi essere presenti contemporaneamente malware visibile e una o più backdoor.
Eliminare il primo senza individuare le seconde può lasciare il sito esposto a una nuova compromissione.
Perché il malware può tornare dopo una pulizia?
Quando un sito torna a essere infetto dopo una bonifica, non significa automaticamente che sia stato effettuato un nuovo attacco indipendente dal precedente.
Una possibile spiegazione è che la prima pulizia abbia eliminato gli effetti più evidenti dell’infezione senza rimuovere tutti i meccanismi utilizzati dall’attaccante.
Tra le cause da verificare possono esserci:
- una backdoor rimasta nei file;
- un account amministratore non autorizzato;
- codice malevolo ancora presente nel database;
- plugin o temi vulnerabili o compromessi;
- credenziali di accesso compromesse;
- file modificati che non sono stati individuati durante la prima pulizia;
- altri meccanismi di persistenza lasciati all’interno dell’installazione.
Per questo, quando un’infezione ricompare, è importante non limitarsi a cancellare nuovamente lo stesso file: bisogna cercare di capire come viene ricreato e quali altri elementi del sito risultano compromessi.
Dove possono nascondersi le backdoor in WordPress?
Non esiste una singola cartella nella quale cercare una backdoor. In un’installazione compromessa il codice può essere inserito in posizioni differenti, anche cercando di imitare nomi e strutture di file legittimi.
Per questo l’analisi deve prendere in considerazione l’intera installazione WordPress.
File core di WordPress
I file del core rappresentano un buon punto di controllo perché, per una determinata versione di WordPress, possono essere confrontati con quelli originali.
File core modificati, file aggiuntivi in directory dove non dovrebbero trovarsi o differenze non spiegabili devono essere verificati.
Questo non significa che qualsiasi file diverso sia automaticamente malevolo, ma il confronto con una copia originale può aiutare a individuare anomalie.
Cartella wp-content
wp-content contiene gran parte dei componenti specifici del sito e merita particolare attenzione durante l’analisi.
Al suo interno troviamo plugin, temi, upload e altre directory che possono variare da un’installazione all’altra. Proprio per questa variabilità può essere più difficile distinguere immediatamente un file legittimo da uno estraneo.
Plugin WordPress
Una backdoor può essere inserita all’interno dei file di un plugin esistente oppure presentarsi come un file aggiuntivo apparentemente innocuo.
Durante una verifica è utile controllare soprattutto modifiche recenti, file che non appartengono alla versione originale del plugin e componenti che non si riconoscono come parte dell’installazione.
Quando possibile, il confronto con una copia originale e affidabile del plugin aiuta a individuare modifiche non autorizzate.
Temi WordPress
Anche i temi possono essere modificati dopo una compromissione.
File come functions.php e altri PHP del tema devono essere analizzati quando presentano codice sconosciuto o modifiche che non corrispondono agli interventi effettuati sul sito.
Bisogna però evitare conclusioni automatiche: molti temi contengono codice complesso perfettamente legittimo. Una stringa insolita, presa isolatamente, non dimostra la presenza di una backdoor.
Cartella mu-plugins
La directory wp-content/mu-plugins merita un controllo specifico. I Must-Use Plugin vengono caricati automaticamente da WordPress e possono essere meno visibili rispetto ai normali plugin gestiti dalla relativa schermata del pannello amministrativo.
La presenza di un file in questa cartella non è di per sé sospetta: hosting, sistemi di gestione e altri servizi legittimi possono utilizzare i Must-Use Plugin.
Se però compare un file sconosciuto o non riconducibile alla configurazione del sito, deve essere verificato.
Cartella uploads
wp-content/uploads dovrebbe contenere principalmente immagini e altri file caricati attraverso WordPress.
La presenza di file PHP o di elementi eseguibili inattesi all’interno delle directory degli upload merita quindi particolare attenzione.
Non bisogna però cancellarli automaticamente: prima è necessario verificarne origine e funzione.
Root di WordPress
Anche la directory principale del sito deve essere controllata.
File PHP con nomi molto simili a quelli di WordPress, file creati recentemente o elementi non appartenenti alla normale installazione possono essere utilizzati per nascondere codice malevolo.
Il confronto con la struttura originale di WordPress è particolarmente utile per capire quali file dovrebbero effettivamente essere presenti.
Come riconoscere una possibile backdoor WordPress
Non esiste un singolo indicatore che permetta di stabilire con certezza che un file sia una backdoor. Normalmente è necessario mettere insieme più elementi.
Alcuni segnali che meritano un approfondimento sono:
- file PHP sconosciuti comparsi recentemente;
- file modificati senza un intervento conosciuto;
- PHP presente in directory dove non ci si aspetta codice eseguibile;
- account amministrativi non riconosciuti;
- redirect che ricompaiono dopo una pulizia;
- file eliminati che vengono ricreati;
- codice offuscato o particolarmente difficile da interpretare;
- modifiche anomale a plugin, temi o file core;
- nuovi file che imitano nomi appartenenti a WordPress.
Questi elementi devono essere considerati indicatori da analizzare, non prove automatiche di infezione.
Attenzione ai falsi positivi
Uno degli errori più pericolosi durante la ricerca di una backdoor è cancellare un file soltanto perché contiene codice apparentemente sospetto.
WordPress, i plugin e i temi possono utilizzare funzioni PHP complesse anche per scopi completamente legittimi. Inoltre sistemi di cache, backup, sicurezza, gestione remota e hosting possono creare file che non fanno parte direttamente del core di WordPress.
Prima di rimuovere qualcosa bisogna quindi cercare di stabilire:
- da quale componente proviene il file;
- se appartiene alla versione originale di WordPress, del plugin o del tema;
- quando è stato modificato;
- quale funzione svolge il codice;
- se esistono altri indicatori di compromissione collegati.
La ricerca delle backdoor richiede quindi una combinazione di scansione automatica, confronto dei file e analisi manuale.
Come trovare una backdoor nei file WordPress
Quando si sospetta una compromissione, l’obiettivo non dovrebbe essere semplicemente cercare una determinata parola all’interno dei file, ma individuare ciò che non appartiene alla normale installazione o che presenta un comportamento anomalo.
1. Controllare i file core
I file core possono essere confrontati con una copia originale della stessa versione di WordPress. Modifiche inattese devono essere analizzate e, quando opportuno, i file compromessi possono essere sostituiti con copie originali.
2. Confrontare plugin e temi
Quando sono disponibili copie originali affidabili, il confronto permette di individuare file aggiunti o modificati.
Questo controllo è particolarmente importante quando lo scanner indica un file appartenente a un plugin o a un tema, perché consente di capire se il codice segnalato appartiene realmente al componente.
3. Verificare i file modificati recentemente
Le date di modifica possono aiutare a ricostruire cosa è successo, soprattutto quando più file sono stati alterati nello stesso periodo.
Non rappresentano però una prova definitiva: le date possono cambiare durante aggiornamenti, migrazioni, ripristini e altre operazioni legittime.
4. Controllare file e directory insoliti
File PHP in uploads, elementi sconosciuti nella root, nuovi file nei plugin o un Must-Use Plugin non riconosciuto meritano un’analisi approfondita.
5. Utilizzare gli scanner come strumento di analisi
Plugin e scanner di sicurezza possono essere molto utili per individuare firme note, file modificati e comportamenti sospetti.
Il risultato dello scanner deve però essere interpretato. Una segnalazione può richiedere una verifica manuale e, allo stesso modo, una scansione senza rilevamenti non dimostra automaticamente che non esistano altre compromissioni.
Un caso reale: una backdoor nascosta può sopravvivere alla prima pulizia
Negli interventi tecnici effettuati da WpSupporto abbiamo incontrato siti nei quali l’infezione non era limitata al contenuto visibile nel browser.
In alcuni casi l’analisi ha richiesto il controllo di file PHP sospetti, directory anomale, database e componenti WordPress per individuare elementi che permettevano all’infezione di persistere o di manifestarsi nuovamente.
È proprio questo il motivo per cui, davanti a un sito compromesso, la domanda non dovrebbe essere soltanto “qual è il file infetto?”, ma anche “esistono altri meccanismi che permettono all’attaccante di mantenere l’accesso?”.
Quando una backdoor viene individuata durante una bonifica, è necessario verificare anche il resto dell’installazione: eliminare soltanto quel file non permette di concludere automaticamente che il sito sia completamente pulito.
Una backdoor WordPress può nascondersi anche nel database?
Quando si cerca una backdoor WordPress è facile concentrarsi esclusivamente sui file PHP. In realtà, durante l’analisi di un sito compromesso è importante verificare anche il database.
Nel database possono essere presenti codice iniettato, contenuti spam, script, URL esterni, opzioni modificate, account non autorizzati o altri elementi collegati alla compromissione.
Questo non significa che qualsiasi anomalia nel database costituisca tecnicamente una backdoor. Il punto importante è che un’infezione può coinvolgere contemporaneamente più parti dell’installazione e una bonifica limitata ai file potrebbe quindi non essere sufficiente.
Tra le tabelle che possono richiedere particolare attenzione ci sono quelle che contengono opzioni, utenti, contenuti e metadati. Il prefisso delle tabelle, inoltre, non è necessariamente wp_, perché può essere stato personalizzato durante l’installazione.
Abbiamo approfondito questo argomento nella guida dedicata al malware nel database WordPress, dove analizziamo le aree che possono essere coinvolte in una compromissione.
Controllare gli utenti amministratori di WordPress
La ricerca di una backdoor non dovrebbe limitarsi a file e database. È necessario controllare anche chi può accedere al pannello di amministrazione.
Se durante un attacco è stato creato un nuovo amministratore, l’attaccante potrebbe continuare ad avere accesso al sito attraverso un normale account WordPress, senza utilizzare nuovamente il file malevolo individuato durante la prima scansione.
È quindi importante verificare:
- tutti gli utenti con ruolo di amministratore;
- account che non riconosci;
- utenti creati recentemente senza una spiegazione;
- indirizzi email associati agli account;
- ruoli e privilegi che risultano anomali rispetto alla configurazione del sito.
Un account sconosciuto non deve essere ignorato. Prima di eliminarlo, però, è opportuno verificare che non appartenga al webmaster, all’hosting, a un collaboratore o a un servizio legittimamente utilizzato dal sito.
Codice sospetto: come capire se si tratta davvero di una backdoor
Molte backdoor cercano di rendere il proprio codice difficile da individuare o comprendere. Per questo durante una scansione possono comparire segnalazioni relative a codice offuscato, funzioni PHP particolari o sequenze apparentemente incomprensibili.
Il problema è che alcune delle stesse tecniche o funzioni possono essere utilizzate anche da software legittimo.
Per questo non è corretto stabilire che un file sia infetto soltanto perché contiene una determinata funzione PHP.
Durante l’analisi bisogna considerare il contesto:
- dove si trova il file;
- a quale plugin, tema o componente appartiene;
- se è presente nella versione originale del componente;
- quando è stato creato o modificato;
- quale comportamento produce;
- se comunica con risorse esterne inattese;
- se esistono altri indicatori di compromissione.
Un file PHP sconosciuto all’interno di una directory insolita, associato ad altri segnali di compromissione, richiede naturalmente molta più attenzione di una funzione simile presente nel codice originale di un plugin affidabile.
Come rimuovere una backdoor WordPress in sicurezza
Una volta individuata una possibile backdoor, la priorità non dovrebbe essere cancellare immediatamente tutto ciò che appare sospetto. Prima è necessario capire cosa è stato compromesso e preservare, quando possibile, lo stato utile all’analisi.
1. Effettuare una copia dello stato del sito
Prima di modificare file o database è consigliabile disporre di una copia dello stato esistente. Oltre a proteggere i dati, può essere utile per confrontare successivamente i file e ricostruire la compromissione.
Naturalmente una copia effettuata quando il sito è già compromesso deve essere considerata potenzialmente infetta e non va confusa con un backup sicuramente pulito.
2. Individuare gli elementi compromessi
Bisogna stabilire quali file, componenti, utenti o dati risultano realmente coinvolti.
Il confronto con copie originali di WordPress, plugin e temi può aiutare a distinguere modifiche legittime da alterazioni introdotte durante l’attacco.
3. Rimuovere la backdoor e il codice malevolo
I file malevoli individuati devono essere rimossi oppure sostituiti con copie affidabili quando appartengono al core, a un plugin o a un tema.
Se il codice è stato iniettato all’interno di un file legittimo, la semplice cancellazione dell’intero file potrebbe danneggiare il sito. In questi casi è necessario ripristinare una versione corretta del componente.
4. Controllare il database
Dopo la pulizia dei file è opportuno verificare che nel database non siano rimasti script, spam SEO, contenuti modificati, utenti non autorizzati o altre anomalie collegate all’infezione.
5. Verificare utenti e credenziali
Gli account amministrativi devono essere controllati e le credenziali potenzialmente compromesse devono essere sostituite.
A seconda di ciò che emerge dall’analisi, può essere necessario intervenire anche sulle credenziali dell’hosting, FTP/SFTP, database e altri servizi utilizzati per amministrare il sito.
6. Verificare plugin, temi e WordPress
Una bonifica non è completa se viene eliminata la backdoor ma rimane attivo il problema che ha consentito la compromissione.
Plugin, temi e WordPress devono quindi essere verificati e, quando appropriato, aggiornati o sostituiti. Componenti abbandonati, non più supportati o di provenienza non affidabile richiedono particolare attenzione.
7. Eseguire nuovi controlli dopo la pulizia
Terminata la bonifica è opportuno eseguire una nuova verifica del sito e controllarne il comportamento.
Se un file eliminato viene ricreato, un redirect ricompare o vengono rilevate nuove modifiche non autorizzate, significa che è necessario proseguire l’analisi per individuare ciò che è rimasto attivo.
Perché uno scanner malware da solo può non bastare
Gli scanner di sicurezza sono strumenti molto utili. Possono individuare firme malware conosciute, modifiche ai file, componenti vulnerabili e numerose altre anomalie.
Non dovrebbero però essere considerati una prova assoluta dello stato di sicurezza del sito.
Una scansione può produrre falsi positivi, segnalando come sospetto del codice legittimo, oppure può non riconoscere codice malevolo nuovo, modificato o costruito per evitare determinate firme.
Per questo il risultato di uno scanner deve essere interpretato insieme ad altri elementi: struttura dei file, confronto con le versioni originali, database, utenti, log disponibili e comportamento del sito.
Allo stesso modo, il messaggio “nessun malware rilevato” non dovrebbe essere interpretato automaticamente come garanzia che l’intera installazione sia pulita.
Come capire se la backdoor è stata eliminata
Non esiste un singolo controllo capace di garantire da solo che ogni possibile accesso nascosto sia stato rimosso. Dopo la bonifica è quindi importante verificare l’installazione nel suo insieme.
Tra i controlli utili:
- ripetere la scansione dei file;
- verificare nuovamente i file modificati;
- controllare che gli elementi eliminati non vengano ricreati;
- verificare gli account amministrativi;
- controllare il database;
- verificare che non ricompaiano redirect o contenuti spam;
- controllare plugin, temi e componenti coinvolti;
- monitorare il sito dopo la bonifica.
Il monitoraggio successivo è particolarmente importante nei casi complessi, perché permette di individuare rapidamente eventuali nuovi comportamenti anomali.
Come ridurre il rischio di nuove backdoor WordPress
Rimuovere una backdoor risolve il problema individuato, ma è altrettanto importante ridurre le possibilità che il sito venga nuovamente compromesso.
Alcune misure fondamentali sono:
- mantenere aggiornati WordPress, plugin e temi;
- rimuovere componenti inutilizzati o abbandonati;
- utilizzare plugin e temi provenienti da fonti affidabili;
- utilizzare password robuste e differenti per i vari servizi;
- proteggere gli account amministrativi;
- limitare il numero di amministratori a quelli realmente necessari;
- mantenere backup regolari separati dal sito;
- monitorare modifiche e comportamenti anomali;
- verificare periodicamente lo stato di sicurezza dell’installazione.
La sicurezza WordPress non dipende da un singolo plugin, ma dalla combinazione di aggiornamenti, configurazione, controllo degli accessi, backup e monitoraggio.
Per un approfondimento puoi consultare anche la guida su come mettere in sicurezza WordPress.
Quando è consigliabile una bonifica professionale
Alcune infezioni possono essere relativamente semplici da individuare, mentre altre coinvolgono contemporaneamente file, database, utenti e più componenti dell’installazione.
È consigliabile approfondire il problema soprattutto quando:
- il malware ricompare dopo essere stato eliminato;
- i file infetti vengono ricreati;
- il sito continua a effettuare redirect indesiderati;
- sono presenti più file sospetti in directory differenti;
- l’infezione coinvolge anche il database;
- sono comparsi amministratori sconosciuti;
- non è possibile distinguere con sicurezza i file legittimi da quelli compromessi;
- il sito contiene dati, ordini o funzionalità che non possono essere rischiati con cancellazioni indiscriminate.
WpSupporto esegue interventi di rimozione malware WordPress con analisi di file, database, utenti, backdoor e altre anomalie individuate durante la bonifica.
L’obiettivo non è semplicemente far scomparire l’avviso dello scanner, ma individuare gli elementi compromessi, ripristinare il corretto funzionamento del sito e ridurre il rischio che l’infezione si ripresenti.
Backdoor e redirect spam: perché i due problemi possono essere collegati
Uno dei sintomi più evidenti di un sito compromesso è il reindirizzamento dei visitatori verso domini estranei.
Il redirect può essere generato da file modificati, codice inserito nel database, plugin o temi compromessi oppure da altri elementi dell’infezione. La presenza di una backdoor può inoltre permettere all’attaccante di modificare nuovamente il sito dopo una prima pulizia.
Se il tuo sito apre casinò, pagine per adulti, scommesse o altri domini sconosciuti, abbiamo dedicato una guida specifica al problema: WordPress reindirizza a siti strani: come individuare il problema.
Domande frequenti sulle backdoor WordPress
Cos’è una backdoor WordPress?
È un meccanismo nascosto che può consentire a un attaccante di mantenere o recuperare l’accesso a un sito compromesso, aggirando i normali sistemi di autenticazione o permettendo l’esecuzione di operazioni non autorizzate.
Dove si nascondono le backdoor in WordPress?
Possono essere presenti in diverse aree dell’installazione: file core modificati, plugin, temi, mu-plugins, directory degli upload, root del sito o altri file aggiunti dall’attaccante. Per questo non esiste una singola cartella da controllare.
Una backdoor può trovarsi nel database WordPress?
Il database può contenere elementi collegati alla compromissione, come codice iniettato, script, spam SEO, configurazioni alterate o utenti non autorizzati. Non ogni elemento malevolo presente nel database costituisce tecnicamente una backdoor, ma il database deve comunque essere controllato durante una bonifica completa.
Un plugin di sicurezza può trovare tutte le backdoor?
Gli scanner possono individuare molte minacce conosciute e file sospetti, ma nessuno strumento dovrebbe essere considerato infallibile. I risultati devono essere valutati insieme all’analisi dei file, del database, degli utenti e del comportamento del sito.
Posso eliminare direttamente un file segnalato come backdoor?
Prima di cancellarlo è opportuno verificare a quale componente appartiene e quale funzione svolge. Se il file appartiene a WordPress, a un plugin o a un tema, potrebbe essere necessario ripristinarlo da una copia originale anziché eliminarlo. Una cancellazione errata può compromettere il funzionamento del sito.
Perché una backdoor ricompare dopo averla eliminata?
Se un file eliminato viene ricreato, potrebbe essere ancora presente un altro elemento compromesso capace di rigenerarlo oppure potrebbe esistere un diverso accesso non autorizzato. In questo caso è necessario ampliare l’analisi anziché limitarsi a cancellare nuovamente lo stesso file.
Come posso sapere se il mio sito WordPress è davvero pulito?
Non basta un singolo risultato negativo di uno scanner. È opportuno verificare file, database, utenti, componenti installati e comportamento del sito, effettuando controlli successivi alla bonifica e monitorando eventuali nuove anomalie.
Conclusioni
Una backdoor WordPress è particolarmente insidiosa perché può rimanere nascosta anche quando i sintomi più evidenti dell’infezione sono stati eliminati.
Per questo una corretta bonifica non dovrebbe concentrarsi soltanto sul file indicato dallo scanner. È necessario verificare l’intera installazione, controllando file WordPress, plugin, temi, database, utenti amministratori e gli altri elementi che possono essere stati coinvolti nella compromissione.
Se il malware continua a tornare, i file vengono ricreati oppure il sito presenta ancora redirect e modifiche non autorizzate, è importante individuare la causa prima di continuare a cancellare singoli file.
Hai trovato una backdoor o sospetti che il tuo sito WordPress sia ancora compromesso?
WpSupporto può analizzare il sito, individuare gli elementi malevoli e procedere con la bonifica completa.


