Tutti gli articoli
Bonifica malware6 min di letturaTeam WPsec.it

10 segnali che il tuo sito WordPress è compromesso

Una guida operativa per riconoscere precocemente le compromissioni WordPress: redirect, spam SEO, file modificati, utenti admin sospetti, picchi anomali, log che parlano.

Condividi

I siti WordPress non finiscono compromessi all'improvviso. Quasi sempre ci sono segnali che, presi singolarmente, possono sembrare innocui: un picco di CPU, un redirect strano, un utente che non ricordi di aver creato. Messi insieme, raccontano una storia diversa.

Questo è l'elenco dei segnali che, nella pratica quotidiana, troviamo più spesso quando un sito è già compromesso o sta per esserlo. Non sostituisce un audit, ma se ne riconosci più di uno è un buon momento per fermarsi e analizzare l'ambiente con calma.

1. Redirect verso domini sconosciuti

Il segnale più visibile, e spesso il più segnalato dai clienti. Apri il sito da Chrome o Safari in incognito e ti ritrovi su una pagina di scommesse, farmacia online o app store fasullo. Tipicamente il redirect è condizionato: avviene solo da mobile, o solo se la sorgente è Google, oppure solo per visitatori che non sono mai stati sul sito.

La condizionalità è una scelta deliberata: serve a non farsi notare dall'amministratore, che di solito naviga il sito da desktop, già loggato e con cache locale. Se sospetti un redirect ma non lo riproduci, prova da rete mobile, in incognito, da un User-Agent mobile. Strumenti come curl -A "Mozilla/5.0 ... iPhone" aiutano molto.

2. Spam SEO indicizzato

Cerca su Google site:tuodominio.it e scorri. Vedere risultati su pacchetti di scommesse, repliche di orologi, generici farmaceutici, prestiti online o keyword in giapponese, cinese o russo è un segnale molto netto. Significa che gli attaccanti hanno generato pagine sotto il tuo dominio, le hanno fatte indicizzare, e stanno usando la reputazione SEO del tuo sito per posizionarsi.

Spesso queste pagine vengono pubblicate sotto path improbabili tipo /wp-content/uploads/cache/ o /?page=offers. La rimozione richiede sia di togliere i contenuti sia di chiedere a Google la deindicizzazione tramite Search Console.

3. Utenti admin che non hai creato

Da Bacheca > Utenti, controlla la lista degli amministratori. Se vedi nomi come wpsupport, admin1, developer, seoexpert, wp_user_5742 o stringhe casuali, qualcuno è entrato. Anche un singolo utente con ruolo Editor o Author che non hai creato è un campanello d'allarme: potrebbe essere stato declassato dopo un primo accesso per non sembrare sospetto.

4. File .php in cartelle che non dovrebbero contenerli

WordPress genera molti file PHP, ma pochi finiscono in wp-content/uploads/, wp-content/cache/, o nella root come wp-config-sample.php modificato. File come wp-content/uploads/2024/03/error.php, wp-content/themes/twentytwentyfour/style.php (quando il tema usa style.css), o file con nomi randomici come xz9k4.php sono quasi sempre webshell o backdoor.

Una scansione veloce da SSH:

find wp-content/uploads -type f -name "*.php" 2>/dev/null
find . -type f -name "*.php" -mtime -30 -not -path "./wp-content/cache/*"

Il primo comando elenca file PHP nella cartella uploads (di norma vuota di PHP). Il secondo cerca file PHP modificati negli ultimi 30 giorni.

5. Header HTTP o JavaScript iniettati

A volte la compromissione non aggiunge file: modifica risposte. Controlla gli header con curl -I https://tuodominio.it/ e cerca cose anomale tipo X-Powered-By con valori strani, header X-Affiliate, o Set-Cookie con nomi sospetti.

Sul fronte HTML, ispeziona il sorgente di una pagina e cerca <script> esterni che non riconosci, soprattutto se puntano a domini come *.onclickads.net, *.popcash.net, *.adfly.com, o domini composti da stringhe casuali. Spesso compaiono solo in determinate condizioni e non vengono renderizzati nell'editor.

6. Picchi anomali di CPU, RAM o connessioni

Se il tuo hosting sta segnalando saturazione, query MySQL fuori controllo, lsphp o php-fpm che mangiano CPU, e tu non hai cambiato traffico ne configurazione, il sito potrebbe essere usato per attività che non sono le sue. Le compromissioni più recenti spesso usano i siti come parte di una rete di proxy SEO o come scanner per cercare altri siti vulnerabili.

In top, processi PHP con tempo CPU di ore, oppure connessioni in uscita verso IP stranieri, sono segnali forti. Anche file di log che crescono di centinaia di MB al giorno sono indicativi.

7. Email in uscita che non hai inviato

Se l'hosting limita l'invio di email o ricevi notifiche di abuso da provider come Mailgun, SendGrid, o dal pannello del datacenter, è probabile che il sito stia inviando spam o phishing. La compromissione può sfruttare la funzione mail() di PHP o le credenziali SMTP salvate in WordPress per inviare grandi volumi di email a partire dal tuo dominio.

Effetto collaterale: la reputazione del dominio crolla, le email legittime finiscono in spam, e potrebbero arrivarti blacklist da provider come Spamhaus o Barracuda.

8. File wp-config.php con costanti aggiuntive

Apri wp-config.php e scorrilo riga per riga. Se trovi define() di costanti che non ricordi, eval di stringhe encodate in base64, include di file in cartelle strane, o inclusioni di _O00OO0 e simili, qualcuno ha lasciato persistenza. Queste backdoor sopravvivono alla rimozione di file infetti perché vengono caricate a ogni richiesta.

9. .htaccess modificato con regole sospette

Le compromissioni ad alto traffico spesso usano .htaccess per redirezionare visitatori basandosi su User-Agent, referer o cookie. Cerca regole tipo:

RewriteCond %{HTTP_USER_AGENT} (Googlebot|Bingbot) [NC]
RewriteRule .* http://malicious-domain.tld/ [R,L]

oppure regole che escludono solo gli indirizzi IP del tuo paese, lasciando passare tutto il resto verso un dominio attaccante. Confronta il .htaccess corrente con uno di backup recente: i diff sono molto rivelatori.

10. Voci nel database difficili da spiegare

Spesso la compromissione arriva fino al database. Controlla:

  • wp_options per opzioni con nomi randomici, valori serializzati che includono URL strani, opzioni con autoload = yes molto pesanti.
  • wp_users per utenti che non hai creato, anche con ruoli bassi.
  • wp_usermeta per chiavi tipo session_tokens di utenti inesistenti.
  • Tabelle aggiuntive con prefisso diverso da wp_, soprattutto se contengono data o cache come nome.

Cosa fare se riconosci più di un segnale

Trovare uno di questi segnali può essere un falso positivo. Trovarne due o tre significa quasi sempre compromissione attiva. In quel caso, la sequenza che usiamo nei nostri interventi è:

  1. Congelare lo stato: backup completo file + database, anche se compromesso. Serve come evidenza forense.
  2. Limitare l'esposizione: cambiare le password admin, ruotare le chiavi salt in wp-config.php, sospendere temporaneamente cron e plugin non critici.
  3. Confrontare il core: scaricare la versione di WordPress installata da wordpress.org e diffare con il sito reale per individuare file modificati o aggiunti.
  4. Pulire iterativamente: rimuovere file chiaramente malevoli, ripulire wp-config.php e .htaccess, sostituire core e plugin con versioni pulite.
  5. Cambiare credenziali a valle: non solo admin WP, ma anche FTP, hosting, database, eventuali API. Se le hai usate da una macchina possibilmente compromessa, fai prima una scansione del client.
  6. Hardening minimo: disabilitare editor, limitare login, applicare 2FA, file permission corretti, scansione vulnerabilità plugin/temi.
  7. Monitoraggio post-intervento: log di accesso, monitoraggio file, alert su modifiche anomale per almeno 30 giorni.

Quando vale la pena chiamare uno specialista

Se il sito è un asset di business (e-commerce, lead generation, autorità SEO importante), la differenza tra una bonifica fatta in fretta e una fatta bene si vede dopo settimane: una è ridondante e regge, l'altra ti riporta nello stesso problema.

Se hai trovato segnali ma non sei sicuro di cosa fare, scrivici tramite la chat o il form. Bob, il nostro assistente, fa una prima qualifica e ci passa il caso quando serve un intervento concreto.

Pubblicato il

Condividi

Scritto dal team WPsec

Team WPsec.it

Bonifica malware, hardening, performance e manutenzione WordPress.

Continua a leggere

Articoli correlati.

Bonifica malware23 aprile 2026

Bonifica malware WordPress: il metodo che usiamo davvero

Come affrontiamo concretamente una bonifica WordPress: dall'analisi iniziale al congelamento, dal confronto file alla sostituzione del core, fino al post-intervento. Senza scorciatoie.

6 minTeam WPsec.it