{"id":2413,"date":"2026-06-13T23:00:00","date_gmt":"2026-06-13T23:00:00","guid":{"rendered":"https:\/\/smartcoding.com.au\/cosa-fare-nelle-prime-24-ore-dopo-un-attacco-a-wordpress\/"},"modified":"2026-06-13T23:00:00","modified_gmt":"2026-06-13T23:00:00","slug":"cosa-fare-nelle-prime-24-ore-dopo-un-attacco-a-wordpress","status":"publish","type":"post","link":"https:\/\/smartcoding.com.au\/it\/cosa-fare-nelle-prime-24-ore-dopo-un-attacco-a-wordpress\/","title":{"rendered":"Cosa fare nelle prime 24 ore dopo un attacco a WordPress"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Quando scopri che un sito WordPress \u00e8 stato compromesso, la tentazione \u00e8 di fare tutto in una volta: cancellare i file malevoli, cambiare tutte le password, lanciare uno scanner, ripristinare da un backup, chiamare l&#8217;hosting. Eseguite nell&#8217;ordine sbagliato, queste azioni possono distruggere le prove che ti servono per trovare il punto di ingresso, lasciare l&#8217;aggressore ancora sul server e rendere il ripristino pi\u00f9 difficile del necessario. Questo articolo descrive l&#8217;ordine delle operazioni che seguiamo nelle prime 24 ore dopo una compromissione confermata di WordPress.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Ora 0: conferma la compromissione<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Prima di attivare una risposta d&#8217;emergenza, assicurati che ci sia davvero una compromissione. Alcuni sintomi hanno spiegazioni innocue. Un nuovo utente amministratore potrebbe essere un collega che ha dimenticato di dirlo. Un file del tema modificato potrebbe essere una modifica in sospeso di uno sviluppatore. Un avviso in un plugin di sicurezza potrebbe essere un falso positivo.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Controlla prima i segnali pi\u00f9 forti. File nella root del documento che non dovrebbero esserci. URL indicizzati in Search Console che non corrispondono a nulla del tuo sito. File del core di WordPress modificati. Connessioni in uscita verso destinazioni sospette. Avvisi del browser sull&#8217;URL. Confermato uno solo di questi, hai un incidente.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Ora 1: scatta un&#8217;istantanea forense<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Questo \u00e8 il passaggio che la maggior parte delle persone salta e che pi\u00f9 spesso rimpiange in seguito. Prima di cambiare qualsiasi cosa, esegui un backup completo dello stato compromesso attuale. File, database, tutto. Conservalo fuori sede, in un luogo che non verr\u00e0 toccato. Questa \u00e8 la tua istantanea forense. Senza di essa, non riuscirai a risalire a come \u00e8 entrato l&#8217;aggressore, e senza quello lo stesso attacco si ripeter\u00e0.<\/p>\n\n\n<p class=\"wp-block-paragraph\">L&#8217;istantanea non serve per il ripristino. Serve per l&#8217;analisi. Tienila separata dai tuoi backup puliti.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Ora 2: comunica, ma non ancora pubblicamente<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Avvisa le persone che devono saperlo. Il team di sicurezza del tuo provider di hosting, soprattutto se gestisce infrastruttura condivisa. Il tuo sviluppatore o la tua agenzia. Internamente, chiunque abbia accesso da amministratore. I clienti e il pubblico possono aspettare finch\u00e9 non hai i fatti e una correzione chiara in corso. La comunicazione pubblica durante la fase di caos tende a essere errata e crea pi\u00f9 lavoro di quanto ne risolva.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Ora 3: contieni il danno<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Ferma l&#8217;emorragia senza cancellare le prove. Se l&#8217;aggressore ha deturpato visibilmente delle pagine o sta distribuendo malware, metti il sito temporaneamente offline. La maggior parte degli hosting dispone di una modalit\u00e0 di manutenzione o di una pagina \u00abprossimamente\u00bb attivabile in pochi secondi. Questo protegge i visitatori senza sovrascrivere alcun file.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Se sono compromesse pagine specifiche ma il resto del sito funziona, puoi aggirarle con reindirizzamenti o blocchi temporanei a livello di hosting. Evita di modificare i file a meno che non sia indispensabile.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Dalle 4 alle 6 ore: ruota tutto<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Dai per scontato che ogni credenziale che l&#8217;aggressore potrebbe aver toccato sia compromessa. Cambiale tutte:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Le password di amministratore di WordPress.<\/li>\n\n<li>La password del pannello di controllo dell&#8217;hosting.<\/li>\n\n<li>Le credenziali SFTP e SSH.<\/li>\n\n<li>La password del database, poi aggiorna wp-config.php con il nuovo valore tramite la console dell&#8217;hosting anzich\u00e9 sul sito in produzione.<\/li>\n\n<li>Qualsiasi chiave API memorizzata nei plugin per email, pagamenti, analytics o altri servizi.<\/li>\n\n<li>I salt e le chiavi di WordPress in wp-config.php.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph\">Ruotare i salt e le chiavi invalida ogni sessione WordPress esistente, il che espelle sia te sia qualsiasi aggressore. Questo \u00e8 essenziale. Senza di esso, un aggressore che ha catturato un cookie di sessione potrebbe mantenere l&#8217;accesso anche dopo aver cambiato tutte le password.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Dalle 6 alle 12 ore: individua il punto di ingresso<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Ora usa l&#8217;istantanea forense per capire come \u00e8 entrato l&#8217;aggressore. Esamina le modifiche recenti ai file nella root del documento. Esamina i log di accesso dell&#8217;hosting alla ricerca di richieste POST insolite verso wp-admin\/admin-ajax.php, wp-login.php, xmlrpc.php o endpoint specifici di plugin. Esamina l&#8217;elenco dei plugin alla ricerca di qualsiasi plugin con una vulnerabilit\u00e0 nota per la versione installata.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Nel caso di studio di Sydney che abbiamo citato in articoli precedenti, il punto di ingresso era quasi certamente un plugin di gestione file obsoleto, con una lunga storia di vulnerabilit\u00e0 di esecuzione di codice da remoto. Individuarlo ha fatto la differenza tra correggere il sintomo e correggere la causa.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Senza trovare il punto di ingresso, l&#8217;aggressore torner\u00e0 nel giro di giorni, spesso di ore.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Dalle 12 alle 18 ore: pulisci in modo sistematico<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Con il punto di ingresso noto e l&#8217;istantanea forense conservata, inizia la pulizia. Rimuovi ogni file malevolo. Confronta i file del core di WordPress con le versioni ufficiali e sostituisci tutto ci\u00f2 che \u00e8 stato modificato. Controlla temi e plugin allo stesso modo. Verifica gli utenti e rimuovi qualsiasi account sconosciuto. Esamina il contenuto degli articoli alla ricerca di link o script iniettati. Esamina il database alla ricerca di chiavi di opzioni di malware note e di voci sospette in wp_options.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Alcune compromissioni sono abbastanza estese da rendere la risposta giusta il ripristino da un backup pulito antecedente all&#8217;incidente, riapplicando solo le modifiche ai contenuti verificate da allora. Altre sono abbastanza circoscritte da rendere pi\u00f9 rapida una pulizia chirurgica.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Dalle 18 alle 24 ore: chiudi la porta<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Correggi la vulnerabilit\u00e0 che ha fatto entrare l&#8217;aggressore. Se era un plugin obsoleto, aggiornalo o rimuovilo. Se era una password debole, la rotazione l&#8217;ha gi\u00e0 risolto, ma attiva la 2FA perch\u00e9 non possa succedere di nuovo. Se era un cookie di sessione rubato, hai gi\u00e0 ruotato chiavi e salt. Se era un&#8217;email di phishing che ha catturato un accesso amministratore, forma il team e verifica l&#8217;attivit\u00e0 di accesso alla ricerca di altri account compromessi.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Applica un irrobustimento aggiuntivo che avrebbe impedito l&#8217;attacco:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Blocca l&#8217;esecuzione di PHP nella cartella degli upload.<\/li>\n\n<li>Limita l&#8217;accesso a xmlrpc.php.<\/li>\n\n<li>Attiva limiti ai tentativi di accesso e la 2FA su ogni account amministratore.<\/li>\n\n<li>Passa a un plugin di sicurezza che monitori la comparsa di nuovi file in posizioni inattese.<\/li>\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\">Le 48 ore successive<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Una volta che il sito \u00e8 pulito, il lavoro non \u00e8 finito. Esegui una nuova scansione malware con almeno due strumenti affidabili per un riscontro incrociato. Invia una richiesta di riesame in Google Search Console se \u00e8 stata applicata un&#8217;azione manuale. Comunica con i clienti se qualche dato potrebbe essere stato esposto. Documenta cosa \u00e8 successo, la cronologia, il punto di ingresso e le modifiche apportate. Il documento \u00e8 destinato al tuo team e a qualsiasi audit futuro.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Hai bisogno di aiuto?<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Se il tuo sito WordPress \u00e8 attualmente compromesso o sospetti che possa esserlo, \u00e8 disponibile una risposta agli incidenti d&#8217;emergenza. Mettiti subito in contatto e ti guideremo attraverso i passaggi sopra in tempo reale: prima \u00e8 la risposta, minore \u00e8 il danno. Parlane con il team di <a href=\"https:\/\/defyn.com.au\" rel=\"noopener\">Defyn<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il primo giorno dopo la compromissione di WordPress d\u00e0 il tono a tutto ci\u00f2 che segue. Ecco l&#8217;ordine delle operazioni che ti offre le migliori possibilit\u00e0 di un ripristino pulito.<\/p>\n","protected":false},"author":2,"featured_media":2052,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[1071],"tags":[],"class_list":["post-2413","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-website-support-maintenance"],"jetpack_publicize_connections":[],"featured_image_src":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-first-24-hours-after-hack-600x400.jpg?crop=1","featured_image_src_square":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-first-24-hours-after-hack-600x600.jpg?crop=1","author_info":{"display_name":"Claire Smith","author_link":"https:\/\/smartcoding.com.au\/it\/author\/claire\/"},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/phbW1n-CV","jetpack_featured_media_url":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-first-24-hours-after-hack.jpg","_links":{"self":[{"href":"https:\/\/smartcoding.com.au\/it\/wp-json\/wp\/v2\/posts\/2413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smartcoding.com.au\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smartcoding.com.au\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/it\/wp-json\/wp\/v2\/comments?post=2413"}],"version-history":[{"count":0,"href":"https:\/\/smartcoding.com.au\/it\/wp-json\/wp\/v2\/posts\/2413\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/it\/wp-json\/wp\/v2\/media\/2052"}],"wp:attachment":[{"href":"https:\/\/smartcoding.com.au\/it\/wp-json\/wp\/v2\/media?parent=2413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smartcoding.com.au\/it\/wp-json\/wp\/v2\/categories?post=2413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smartcoding.com.au\/it\/wp-json\/wp\/v2\/tags?post=2413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}