Trovare e rimuovere una backdoor da WordPress

Cos’è una backdoor su WordPress e come si insedia

Una backdoor è un file o un frammento di codice inserito da un accesso non autorizzato, pensato per permettere a chi l’ha piazzata di rientrare nel sito anche dopo che la falla iniziale è stata chiusa — ad esempio dopo aver cambiato le password. È diversa da un semplice attacco visibile (un sito sfigurato, un redirect verso pagine esterne): una backdoor è pensata apposta per restare nascosta e passare inosservata il più a lungo possibile.

Un plugin o tema obsoleto con una vulnerabilità nota

La causa più comune è un plugin o un tema non aggiornato da tempo, con una vulnerabilità di sicurezza già nota pubblicamente e sfruttata per caricare codice esterno sul server: più a lungo un componente resta indietro rispetto alle versioni con patch di sicurezza, più aumenta la finestra di tempo in cui questa vulnerabilità può essere sfruttata.

Credenziali di accesso deboli o compromesse

Una causa altrettanto frequente riguarda l’accesso diretto tramite credenziali deboli o rubate (magari riutilizzate su altri servizi violati altrove): con un accesso legittimo a wp-admin, caricare una backdoor tramite l’editor di file dei temi o un plugin di gestione file diventa un passaggio diretto, senza bisogno di sfruttare alcuna falla tecnica.

Un modulo di upload non controllato

Un caso da citare, meno comune ma possibile, riguarda un modulo di caricamento file (un form personalizzato, una funzionalità di upload di un plugin) che non verifica correttamente il tipo di file caricato, permettendo di depositare un file eseguibile mascherato da immagine o documento.

Come riconoscere i segnali di una backdoor

La caratteristica principale di una backdoor è che è pensata per non farsi notare: individuarla richiede quindi di guardare in punti specifici, non solo di aspettarsi un sintomo evidente.

File PHP presenti dove non dovrebbero esistere

Il segnale più diretto è la presenza di file con estensione .php in cartelle che non dovrebbero mai contenerne: la cartella wp-content/uploads, ad esempio, è pensata per immagini e documenti, non per codice eseguibile — qualsiasi file .php trovato lì è quasi certamente sospetto e va verificato immediatamente.

Codice offuscato in file che normalmente non ne contengono

Un altro segnale è la presenza di codice reso volutamente illeggibile — spesso tramite funzioni come quelle di codifica/decodifica di stringhe lunghe e senza spazi — dentro file che normalmente non dovrebbero contenerlo, come functions.php del tema attivo, o file con nomi molto simili a quelli legittimi di WordPress ma con piccole variazioni (una lettera diversa, un carattere invisibile), pensati per passare inosservati a un controllo veloce.

Sintomo osservabileCausa probabile
File .php nella cartella wp-content/uploadsBackdoor caricata tramite una falla di upload o un accesso diretto al server
Codice illeggibile/offuscato in functions.php o in un file dal nome quasi identico a uno legittimoCodice malevolo inserito per restare nascosto a un controllo superficiale
Un file con data di modifica molto recente in un plugin o tema non aggiornato di recente da teFile aggiunto o modificato da un accesso non autorizzato
Uno scanner di sicurezza segnala una firma di malware notaBackdoor o codice malevolo già catalogato da strumenti di sicurezza
Un utente amministratore che non riconosci, comparso senza che tu l’abbia creatoAccesso non autorizzato che ha creato un proprio account con permessi elevati

Trovare e rimuovere la backdoor: confronto con i file originali

Il metodo più affidabile per trovare codice estraneo non è cercare “a occhio” tra migliaia di file, ma confrontare quelli del tuo sito con una copia pulita e certificata degli stessi componenti, scaricata dalla fonte ufficiale.

Scaricare copie pulite di core, tema e plugin

Scarica dal sito ufficiale di WordPress (wordpress.org) la stessa versione esatta del core, del tema e di ogni plugin installato sul tuo sito, prendendo nota della versione attualmente in uso per ciascuno (visibile in Plugin → Plugin installati, anche se il sito è compromesso, salvo che l’accesso a wp-admin sia già bloccato).

Confrontare i file del sito con quelli puliti

Scarica via FTP/SFTP l’intera cartella del sito e confrontala, file per file, con le copie pulite appena scaricate: qualsiasi file presente sul tuo sito ma assente nella copia originale, o con un contenuto diverso da quello ufficiale, è un candidato diretto da esaminare. Presta particolare attenzione ai file nella cartella wp-content/uploads (che non dovrebbe contenere alcun file eseguibile) e a qualsiasi file con estensione .php fuori dalle cartelle standard di temi e plugin.

Rimuovere i file malevoli e verificare il sito

Elimina i file identificati come estranei o modificati rispetto all’originale, sostituendo i file di core, tema e plugin con le copie pulite scaricate. Dopo la pulizia, verifica che il sito continui a funzionare correttamente in ogni sua parte, dato che alcuni file legittimi personalizzati (child theme, configurazioni specifiche) non vanno confusi con codice malevolo solo perché diversi dall’originale scaricato.

Non riesci a individuare differenze chiare: usare uno scanner dedicato

Se il confronto manuale non è praticabile per la dimensione del sito, o se non ti senti sicuro di distinguere codice legittimo personalizzato da codice malevolo, uno scanner di sicurezza dedicato (Wordfence con la sua funzione di scansione file, o un servizio esterno come Sucuri SiteCheck) analizza automaticamente i file del sito confrontandoli con firme di malware note, segnalando i file sospetti da verificare direttamente. Questi strumenti non sostituiscono del tutto un controllo manuale approfondito — una backdoor nuova o molto ben nascosta potrebbe non corrispondere a nessuna firma conosciuta — ma restano un primo filtro utile per restringere velocemente il campo dei file da esaminare.

Dopo la rimozione: cosa fare per evitare che torni

Rimuovere i file individuati non basta se la falla che ha permesso l’accesso iniziale resta aperta. Aggiorna immediatamente core, tema e tutti i plugin all’ultima versione disponibile, cambia le password di tutti gli utenti amministratori (e di FTP/SFTP, database, pannello hosting), e rigenera le chiavi segrete di sicurezza di WordPress (AUTH_KEY, SECURE_AUTH_KEY e le altre, in wp-config.php, generabili dal generatore ufficiale su api.wordpress.org) per invalidare eventuali sessioni di accesso già aperte da chi ha compromesso il sito. Verifica anche l’elenco degli utenti amministratori, eliminando quelli che non riconosci.

Non riesci a risolvere? Intervento tecnico a distanza

Se non hai la certezza di aver individuato e rimosso tutti i file coinvolti, se il confronto con i file originali non è praticabile per te, o se la backdoor si ripresenta anche dopo aver aggiornato tutto e cambiato le password, continuare a intervenire senza una diagnosi completa rischia di lasciare aperto un accesso che non hai ancora trovato. In questi casi è possibile richiedere una verifica diretta e completa dell’accesso al sito: si esegue un controllo approfondito di tutti i file, si individua e chiude la falla d’origine, e si verifica che non restino altri punti di accesso nascosti.

Domande frequenti sul trovare e rimuovere una backdoor da WordPress

Come faccio a sapere se il mio sito ha davvero una backdoor? I segnali più diretti sono file .php in cartelle che non dovrebbero contenerne (come wp-content/uploads), codice offuscato in file che normalmente non ne hanno, o un utente amministratore che non riconosci: se noti anche solo uno di questi, è opportuno fare un controllo approfondito.

Basta cambiare la password per essere al sicuro? No, se la backdoor resta sul server, chi l’ha piazzata può rientrare nel sito indipendentemente dalla password, perché non passa dal normale login: va rimosso il file stesso, non solo bloccato l’accesso che l’ha introdotto.

Un backup può contenere anch’esso la backdoor? Sì, se il backup è stato generato dopo che la backdoor era già presente sul sito: ripristinare un backup del genere reintroduce lo stesso problema, quindi conviene verificare (o pulire) anche eventuali backup da cui potresti ripristinare in futuro.

Gli scanner di sicurezza trovano sempre tutte le backdoor? No, individuano quelle che corrispondono a firme di malware già catalogate: una backdoor nuova o scritta appositamente per il tuo sito potrebbe non essere rilevata, ed è per questo che il confronto diretto con i file originali resta il metodo più affidabile.

Devo denunciare l’accaduto se il sito gestisce dati di clienti? È una valutazione che dipende dal tipo di dati coinvolti e dalla normativa applicabile alla tua attività: in caso di dubbio, è consigliabile consultare un professionista legale per capire se sussistono obblighi di notifica specifici per la tua situazione.

Vuoi risolverlo con un intervento diretto? Se non sei sicuro di aver rimosso completamente la backdoor, o l’accesso non autorizzato si ripresenta, è possibile richiedere una verifica diretta e completa dell’accesso al sito: si individua e chiude la falla d’origine e si verifica che il sito sia davvero al sicuro. → Richiedi un intervento tecnico.

Articoli correlati