AI generativa in Google Search Console: come leggere il report Assistenza siti Laravel: errori, aggiornamenti e manutenzione Joomla su LiteSpeed: CSS e JavaScript in 403 con query string Migrazione da Joomla 3 a Joomla 6 con T3 e Purity III: caso reale Sito Joomla non aggiornato: quali controlli fare prima di intervenire Sito hackerato: cosa fare subito e quali errori evitare Action Scheduler di WooCommerce bloccato: diagnosticare code e operazioni fallite Admin-ajax.php consuma troppe risorse: trovare plugin e richieste responsabili Audit delle estensioni prima di migrare da Joomla 3 a Joomla 5 o 6 Cache Redis in WordPress mostra dati vecchi: diagnosi dell'object cache Come gestire SEO e hreflang in un sito multilingua Hugo Login loop in WordPress Multisite: cookie, dominio e HTTPS da controllare Plugin WordPress lento: il problema è nel database o nelle query? WP-Cron non funziona in WordPress: attività e pubblicazioni bloccate Come aggiornare WordPress da Excel senza creare duplicati AI generativa in Google Search Console: come leggere il report Assistenza siti Laravel: errori, aggiornamenti e manutenzione Joomla su LiteSpeed: CSS e JavaScript in 403 con query string Migrazione da Joomla 3 a Joomla 6 con T3 e Purity III: caso reale Sito Joomla non aggiornato: quali controlli fare prima di intervenire Sito hackerato: cosa fare subito e quali errori evitare Action Scheduler di WooCommerce bloccato: diagnosticare code e operazioni fallite Admin-ajax.php consuma troppe risorse: trovare plugin e richieste responsabili Audit delle estensioni prima di migrare da Joomla 3 a Joomla 5 o 6 Cache Redis in WordPress mostra dati vecchi: diagnosi dell'object cache Come gestire SEO e hreflang in un sito multilingua Hugo Login loop in WordPress Multisite: cookie, dominio e HTTPS da controllare Plugin WordPress lento: il problema è nel database o nelle query? WP-Cron non funziona in WordPress: attività e pubblicazioni bloccate Come aggiornare WordPress da Excel senza creare duplicati

Malware WordPress: diagnosi, bonifica e controlli sul sito

Autore Graziano De Maio - Gdmtech
Ti auguro buona lettura e mi raccomando, se dopo aver letto questo articolo hai bisogno di aiuto non esitare a contattarmi.
Autore: Graziano De Maio | Titolare di Gdmtech
Indice dei contenuti

Se un sito WordPress mostra redirect estranei, pagine spam o account amministrativi sconosciuti, serve un percorso di gestione della compromissione, non soltanto una scansione. L’obiettivo è contenere il danno, capire quali risorse sono coinvolte, ripristinare una base attendibile e chiudere il punto di ingresso.

Un avviso di sicurezza va verificato, mentre un sito apparentemente normale non esclude un’infezione. Alcuni comportamenti dipendono dalla pagina visitata, dalla provenienza del visitatore o dalla sua sessione: la sola homepage non basta per valutare lo stato del sito.

Raccogliere segnali verificabili di malware WordPress

Conserva URL, orari, schermate e avvisi dell’hosting. Registra il comportamento senza eseguire file sospetti o seguire istruzioni mostrate da pagine potenzialmente alterate. Confronta segnalazioni esterne con file, account e log disponibili.

SegnaleVerifica iniziale
Redirect verso pagine estraneeCondizioni della richiesta e configurazioni coinvolte
Account privilegiato non riconosciutoRuolo, creazione e accessi disponibili nei log
Pagine spam o link inattesiContenuti, template e dati che li generano
File modificati senza interventi notiConfronto con pacchetti attendibili e cronologia
Sospensione dell’hostingEvidenze e perimetro indicati dal provider

Un nome file insolito non è una prova sufficiente di malware. Anche un file apparentemente legittimo può essere alterato. La guida WordPress per siti compromessi invita a documentare i sintomi prima delle operazioni di recupero.

Contenere l’incidente preservando le evidenze

Coinvolgi l’hosting per valutare limitazioni temporanee del traffico e delle funzioni compromesse. Se il sito distribuisce contenuti dannosi, può essere necessario isolarlo o sostituire l’accesso pubblico con una pagina controllata a livello hosting.

Conserva una copia dello stato compromesso e dei log disponibili, separata dai backup destinati al ripristino. Serve all’analisi e non deve essere rimessa online come se fosse pulita. Registra ogni intervento e il suo orario, perché cancellazioni e aggiornamenti possono modificare le evidenze.

Usa un dispositivo affidabile per amministrare il recupero. Definisci quali operazioni devono fermarsi: invii, acquisti o sincronizzazioni potrebbero diffondere dati alterati o rendere più difficile confrontare lo stato del sito.

Delimitare il perimetro oltre il singolo file infetto

Esamina core, plugin, temi, componenti obbligatori, configurazione e directory dei contenuti caricati. Verifica anche account, attività pianificate e dati che possono produrre HTML o script. Una scansione esterna vede soltanto parte del comportamento pubblico e non sostituisce l’analisi dell’installazione.

Confronta i file distribuiti con copie provenienti dai canali ufficiali. Le differenze vanno interpretate: una personalizzazione autorizzata e una modifica malevola possono entrambe risultare diverse dal pacchetto originale. Per temi o plugin sviluppati su misura servono una versione attendibile e la conoscenza del codice previsto.

Se più siti condividono lo stesso account hosting, verifica con il provider anche quel perimetro. Ripulire una sola cartella può non bastare se rimane un accesso utilizzabile altrove nell’account.

Scegliere fra bonifica e ripristino da una copia attendibile

Un backup è utile se precede la compromissione e se puoi verificarlo. La data del primo sintomo osservato non coincide necessariamente con l’ingresso dell’attaccante. Prova quindi la copia in un ambiente isolato prima di considerarla la base del recupero.

Quando ricostruisci l’installazione, usa pacchetti attendibili e controlla separatamente contenuti, media e personalizzazioni da recuperare. Sovrascrivere i file noti può lasciare file aggiunti dall’attaccante: la procedura deve considerare anche ciò che non appartiene ai pacchetti.

Come esempio ipotetico, il ripristino della cartella di un plugin può togliere un’iniezione visibile ma lasciare un account amministrativo creato senza autorizzazione. File e accessi devono quindi rientrare nello stesso piano di bonifica.

Non promettere un recupero senza perdite prima di confrontare backup, contenuti recenti e dati commerciali. Se la copia è precedente a ordini o registrazioni, la riconciliazione richiede una verifica dedicata.

Chiudere gli accessi e correggere la causa

Rivedi account WordPress, accessi hosting, SFTP o SSH e credenziali delle integrazioni coinvolte. Revoca gli accessi non autorizzati e pianifica la rotazione dei segreti potenzialmente esposti da un ambiente affidabile. Se vengono cambiati durante il contenimento, valuta una nuova rotazione dopo aver eliminato la compromissione.

Correggi il punto di ingresso quando identificato: componente vulnerabile, credenziali sottratte o altra configurazione verificata. Se la causa non è dimostrabile dai log disponibili, dichiaralo e documenta le ipotesi ancora aperte. Non attribuire automaticamente l’incidente al plugin più vecchio.

La guida ufficiale per rafforzare WordPress tratta aggiornamenti, accessi, backup e monitoraggio come misure complementari. Un plugin di sicurezza può contribuire ai controlli, ma non certifica da solo che il sito sia pulito.

Verificare il ritorno online e le possibili ricadute

Controlla pagine pubbliche e accessi amministrativi, inclusi i percorsi inizialmente segnalati. Verifica redirect, contenuti, moduli, utenti e integrazioni. Confronta i file con la base ripristinata e osserva eventuali nuove modifiche non previste.

Se un motore di ricerca o un servizio ha segnalato il sito, usa il suo percorso di revisione dopo la bonifica; la rimozione dell’avviso dipende dal servizio. Conserva evidenze e risultati delle verifiche senza presentare una singola scansione negativa come garanzia assoluta.

Definisci un piano di manutenzione con responsabilità per aggiornamenti, accessi, backup verificati e controllo delle anomalie. Il recupero è più solido quando la configurazione attesa è documentata e le modifiche successive sono riconoscibili.

Se sospetti malware su WordPress, posso valutare il perimetro e pianificare la bonifica partendo dalle segnalazioni, dai log e dalle copie disponibili, con verifiche sulle funzioni da ripristinare.

Autore Graziano De Maio - Gdmtech
Ti auguro buona lettura e mi raccomando, se dopo aver letto questo articolo hai bisogno di aiuto non esitare a contattarmi.
Autore: Graziano De Maio | Titolare di Gdmtech
Graziano De Maio, Web designer, SEO specialist
Graziano De Maio
Web Developer, SEO Specialist
Gdmtech Web Agency
Via Stefanardo da Vimercate 28 - (Milano)
Via Spinedi 55 - Postalesio (Sondrio)
Info e contatti