Elimini un file infetto, esegui una scansione e il sito sembra nuovamente pulito. Dopo qualche ora o qualche giorno, però, il malware compare di nuovo.
Quando succede, una delle possibili cause è la presenza di una backdoor nel sito web o di un altro meccanismo di persistenza rimasto nascosto dopo la prima pulizia.
È uno degli errori più comuni durante la gestione di un sito compromesso: concentrarsi sul file malevolo visibile senza verificare come sia arrivato, quali altri componenti siano stati modificati e se l’attaccante disponga ancora di un modo per rientrare.
Una backdoor sito web può trovarsi nei file, in un plugin, nel tema, nel database oppure essere affiancata da utenti amministratori, attività pianificate o credenziali compromesse.
In questa guida vediamo 9 segnali che possono indicare una compromissione ancora attiva e perché eliminare soltanto il primo malware individuato potrebbe non essere sufficiente.
Cos’è una backdoor in un sito web?
Una backdoor è un meccanismo che permette di ottenere o mantenere un accesso non autorizzato al sito dopo la compromissione iniziale.
In pratica, l’attaccante può sfruttare una vulnerabilità o una credenziale compromessa per entrare nel sito e successivamente lasciare uno o più sistemi che gli permettono di tornare.
Questo spiega perché può verificarsi una sequenza apparentemente incomprensibile:
malware trovato → malware eliminato → scansione pulita → malware nuovamente presente.
Il file eliminato potrebbe infatti essere soltanto una conseguenza della compromissione e non la causa.
Backdoor e malware non sono necessariamente la stessa cosa
È utile distinguere i due concetti.
Il malware può eseguire numerose attività dannose, per esempio:
- mostrare redirect indesiderati;
- creare pagine spam;
- inviare email;
- iniettare JavaScript;
- modificare file;
- caricare altro codice.
La backdoor ha invece soprattutto lo scopo di consentire all’attaccante di mantenere o recuperare l’accesso.
I due elementi possono comunque essere presenti contemporaneamente.
1. Il file malware ricompare dopo essere stato eliminato
Questo è uno dei segnali più evidenti.
Un sistema di sicurezza individua, per esempio:
/wp-content/uploads/file-sospetto.phpIl file viene cancellato.
Dopo qualche ora ricompare nello stesso percorso oppure con un nome differente.
In questo scenario bisogna chiedersi:
chi o cosa sta ricreando il file?
Potrebbero esserci:
- un’altra backdoor;
- codice infetto in un plugin;
- codice inserito nel tema;
- un’attività pianificata;
- un processo ancora attivo;
- un’altra installazione compromessa;
- credenziali ancora nelle mani dell’attaccante.
Cancellare continuamente lo stesso file senza cercare l’origine difficilmente risolve il problema.
2. Compaiono utenti amministratori che non riconosci
Un altro importante indicatore è la presenza di account amministrativi sconosciuti.
Su WordPress puoi controllare:
Utenti → Tutti gli utenti
e verificare gli account con ruolo amministratore.
Presta attenzione a:
- username mai creati;
- indirizzi email sconosciuti;
- account registrati recentemente;
- amministratori che nessuno riconosce.
La presenza di un amministratore non autorizzato deve essere approfondita.
Limitarsi a cancellare quell’utente potrebbe non essere sufficiente, perché durante il periodo nel quale disponeva dei privilegi amministrativi potrebbero essere state effettuate altre modifiche.
3. File importanti vengono modificati nuovamente
Un altro comportamento sospetto consiste nel vedere modifiche ricorrenti a file che erano già stati ripristinati.
Per esempio:
index.php;.htaccess;- file del tema;
- file dei plugin;
- file di configurazione.
Le modifiche legittime sono naturalmente possibili, soprattutto durante aggiornamenti o operazioni del CMS.
Il problema nasce quando file già verificati vengono nuovamente alterati senza che nessun amministratore abbia effettuato operazioni sul sito.
4. Esistono attività pianificate sconosciute
I CMS e i server utilizzano normalmente sistemi di pianificazione per eseguire operazioni automatiche.
WordPress, per esempio, utilizza WP-Cron.
Anche il server può avere cron job dedicati all’account.
Una compromissione può però sfruttare meccanismi pianificati per:
- scaricare nuovamente un file;
- ricreare codice rimosso;
- eseguire periodicamente uno script;
- ripristinare configurazioni malevole.
La presenza di un’attività pianificata sconosciuta merita quindi una verifica.
5. Il database contiene codice che non dovrebbe esserci
Non tutto il malware vive necessariamente nei file.
Una compromissione può coinvolgere anche il database.
Su WordPress, per esempio, il database contiene:
- configurazioni;
- contenuti;
- widget;
- opzioni;
- utenti;
- metadati;
- impostazioni dei plugin.
Un attaccante può tentare di nascondere codice o configurazioni anomale all’interno di questi dati.
Questo significa che:
sostituire soltanto i file WordPress non garantisce automaticamente che il sito sia pulito.
6. Il redirect malevolo compare solo in alcune condizioni
Alcune infezioni cercano di non mostrare il comportamento malevolo a tutti i visitatori.
Un redirect potrebbe comparire soltanto:
- da smartphone;
- alla prima visita;
- da una determinata provenienza;
- per utenti non autenticati;
- in alcune pagine;
- in determinati momenti.
Questo rende la compromissione più difficile da individuare.
Il proprietario del sito potrebbe aprire continuamente la homepage senza vedere nulla, mentre altri utenti vengono inviati verso pagine indesiderate.
7. Compaiono pagine spam che nessuno ha pubblicato
Un sito compromesso può essere utilizzato anche per creare automaticamente contenuti spam.
Potresti trovare nei risultati dei motori di ricerca pagine relative a:
- prodotti mai venduti;
- farmaci;
- giochi o scommesse;
- contenuti in altre lingue;
- pagine commerciali sconosciute;
- URL che non esistono nella normale struttura del sito.
Queste pagine possono essere generate dai file, dal database o da regole di riscrittura modificate.
Se vengono eliminate e continuano a ricomparire, bisogna verificare la presenza di un meccanismo di persistenza.
8. Il sito invia nuovamente spam
Un altro segnale frequente è l’invio anomalo di email.
Può capitare che venga individuato e rimosso un primo script di spam, ma l’attività riprenda successivamente.
In questo caso la causa potrebbe non essere stata completamente eliminata.
È opportuno verificare:
- script PHP;
- plugin;
- utenti;
- account email;
- credenziali;
- log;
- attività pianificate.
9. Google continua a segnalare problemi di sicurezza
Google Search Console dispone di un Report Problemi di sicurezza che può indicare malware, contenuti compromessi e altri comportamenti potenzialmente pericolosi.
Google spiega che un sito coinvolto può anche ricevere avvisi nei risultati di ricerca o nel browser.
La documentazione ufficiale è disponibile nella guida Problemi di sicurezza di Google Search Console.
Se il sito sembra pulito ma continua a generare segnalazioni, è necessario verificare attentamente gli URL indicati e accertarsi che l’infezione sia stata effettivamente rimossa.
Perché cancellare il file segnalato dall’antivirus può non bastare?
Uno scanner può svolgere un ruolo fondamentale nell’individuazione del malware.
Ma bisogna distinguere:
rilevare un file malevolo
da:
ricostruire l’intera compromissione.
Immaginiamo questo scenario:
- un plugin vulnerabile viene sfruttato;
- viene caricato un file malevolo;
- il file crea una seconda backdoor;
- viene aggiunto un amministratore;
- il primo malware viene rilevato;
- il proprietario cancella quel file;
- la backdoor rimasta sul sito lo ricrea.
La prima scansione ha quindi trovato realmente malware, ma la compromissione era più ampia.
Il sito può sembrare completamente normale
Un sito compromesso non deve necessariamente mostrare una pagina completamente distrutta.
Alcuni attaccanti hanno interesse a mantenere il sito funzionante proprio per evitare che il proprietario si accorga rapidamente del problema.
Tra gli indicatori di compromissione citati anche dalla documentazione WordPress troviamo, per esempio, account sconosciuti, segnalazioni di malware e utilizzo del sito per attività non autorizzate.
WordPress raccoglie indicazioni specifiche nella guida ufficiale Il mio sito è stato hackerato.
Controllare soltanto WordPress Core non è sufficiente
Su un’installazione WordPress il controllo dovrebbe considerare l’intero ambiente applicativo.
Tra gli elementi da verificare ci sono:
- WordPress Core;
- plugin;
- temi;
- mu-plugin;
- uploads;
- database;
- utenti;
- cron;
- file di configurazione;
- permessi;
- log.
Una backdoor può trovarsi in un punto diverso da quello in cui compare il sintomo visibile.
Attenzione anche a plugin e temi disattivati
Un componente disattivato non è necessariamente irrilevante.
Se rimane fisicamente presente sul server e contiene codice vulnerabile o modificato, può continuare a rappresentare un problema in determinate circostanze.
La documentazione ufficiale WordPress raccomanda di mantenere plugin e temi aggiornati e di rimuovere i componenti che non vengono utilizzati.
Puoi approfondire nella guida Hardening WordPress.
Una backdoor può trovarsi anche negli upload?
La directory degli upload dovrebbe contenere principalmente file multimediali e altri contenuti caricati dal sito.
In presenza di una compromissione, però, possono comparire file che non appartengono alla normale struttura dell’applicazione.
Per questo una verifica completa non dovrebbe limitarsi alle directory del Core.
Il backup risolve sempre il problema?
Un backup può essere fondamentale, ma deve essere realmente precedente alla compromissione.
Se una backdoor era già presente quando è stata creata la copia di sicurezza, ripristinare quel backup significa ripristinare anche la backdoor.
È quindi utile chiedersi:
- quando sono comparsi i primi segnali?
- quanto è vecchia l’infezione?
- quali file risultano modificati?
- quando sono stati creati eventuali utenti sospetti?
- quali backup sono disponibili?
Il backup è uno strumento di recupero, non sostituisce l’analisi dell’incidente.
Le password vanno cambiate?
Dopo una compromissione bisogna considerare anche la possibilità che alcune credenziali siano state sottratte.
In funzione dell’incidente può essere necessario intervenire su:
- amministratori CMS;
- cPanel;
- FTP/SFTP;
- SSH;
- database;
- account email;
- API e token.
Il cambio delle password deve però essere accompagnato dalla rimozione della causa tecnica della compromissione.
Una password nuova non elimina una backdoor già installata.
Aggiornare WordPress elimina una backdoor?
Non necessariamente.
Aggiornare WordPress, un plugin o un tema può correggere la vulnerabilità che ha consentito l’accesso iniziale.
Ma eventuali file, utenti o codice malevolo già introdotti dall’attaccante possono rimanere presenti.
Bisogna quindi distinguere:
- patch della vulnerabilità;
- rimozione della compromissione già avvenuta.
Spesso sono necessarie entrambe.
Una scansione pulita garantisce che non esistano backdoor?
No scanner può essere interpretato come una garanzia assoluta.
I sistemi automatici sono estremamente utili per individuare firme note, comportamenti sospetti e file modificati, ma una compromissione complessa può richiedere anche analisi manuale.
Per questo, soprattutto quando il malware continua a ricomparire, è importante analizzare il sito nel suo insieme.
Come ridurre il rischio di una nuova reinfezione
Dopo aver eliminato la compromissione è importante intervenire anche sulla causa.
Tra le attività normalmente da valutare:
- aggiornamento del CMS;
- aggiornamento di plugin e temi;
- rimozione dei componenti inutilizzati;
- controllo degli utenti;
- rotazione delle credenziali interessate;
- verifica dei permessi;
- controllo dei cron;
- monitoraggio dei file;
- backup regolari;
- WAF e sistemi di protezione.
La guida ufficiale WordPress sottolinea proprio l’importanza di aggiornamenti, permessi, backup, logging e monitoraggio come parti della strategia di hardening.
Quando il problema richiede un’analisi completa
Se il malware ricompare, sono presenti utenti sconosciuti oppure non è possibile stabilire quali file siano stati modificati, la semplice cancellazione manuale dei file segnalati potrebbe essere insufficiente.
In questi casi è necessario ricostruire l’incidente verificando file, database, configurazioni, utenti e possibili meccanismi di persistenza.
Per chi non dispone delle competenze o degli accessi necessari, Xlogic mette a disposizione un
servizio professionale di analisi e rimozione malware
che comprende anche il controllo di backdoor e meccanismi di persistenza.
WordPress, WooCommerce, Joomla e PrestaShop
Il concetto di backdoor non riguarda esclusivamente WordPress.
Lo stesso principio può interessare:
- WooCommerce;
- Joomla;
- PrestaShop;
- altri CMS;
- applicazioni PHP personalizzate.
Cambiano struttura e componenti, ma la logica rimane simile:
eliminare il sintomo senza eliminare l’accesso dell’attaccante può portare a una nuova compromissione.
9 segnali di una possibile persistenza: riepilogo
- ✓ il malware ricompare dopo la cancellazione;
- ✓ vengono creati amministratori sconosciuti;
- ✓ file ripristinati vengono modificati nuovamente;
- ✓ compaiono attività pianificate sospette;
- ✓ il database contiene codice o configurazioni anomale;
- ✓ redirect malevoli compaiono soltanto in alcune condizioni;
- ✓ vengono generate nuove pagine spam;
- ✓ riprende l’invio di email indesiderate;
- ✓ Google continua a rilevare problemi di sicurezza.
Domande frequenti sulle backdoor nei siti web
Cos’è una backdoor sito web?
È un meccanismo che può consentire a un attaccante di mantenere o recuperare un accesso non autorizzato al sito anche dopo che il malware visibile è stato rimosso.
Perché il malware ritorna dopo essere stato cancellato?
Tra le possibili cause ci sono backdoor ancora presenti, plugin o temi vulnerabili, attività pianificate, codice malevolo nel database, altre installazioni compromesse oppure credenziali che l’attaccante può ancora utilizzare.
Una backdoor può trovarsi nel database?
Una compromissione può coinvolgere sia file sia database. Per questo una verifica completa deve considerare entrambi.
Ripristinare un backup elimina sempre la backdoor?
No. Se il backup è stato creato quando la compromissione era già presente, il ripristino può reintrodurre anche il codice malevolo.
Aggiornare WordPress basta per eliminare il malware?
No. L’aggiornamento può correggere una vulnerabilità, ma non rimuove automaticamente eventuali backdoor o file malevoli già installati.
Un sito può essere compromesso anche se sembra funzionare normalmente?
Sì. Alcune compromissioni cercano di rimanere poco visibili e possono manifestarsi soltanto in determinate condizioni o attraverso attività eseguite in background.
Conclusioni
Quando il malware ritorna dopo essere stato eliminato, continuare a cancellare lo stesso file raramente è la soluzione definitiva.
Il problema può trovarsi altrove.
Una backdoor sito web, un utente amministratore sconosciuto, codice inserito nel database, un’attività pianificata o una vulnerabilità ancora aperta possono permettere alla compromissione di ripresentarsi.
Per questo bisogna distinguere chiaramente:
rimuovere il malware visibile
da:
eliminare completamente l’accesso e i meccanismi di persistenza dell’attaccante.
Solo dopo aver verificato file, database, utenti, componenti, credenziali e possibile punto d’ingresso ha senso considerare conclusa l’analisi dell’incidente.
Se il sito continua a reinfettarsi o non è possibile stabilire con sicurezza cosa sia stato modificato, puoi consultare il servizio Xlogic dedicato ai siti compromessi.













