Come ripristinare un’installazione WordPress dopo un attacco Hacker – Parte 1

Nel mio precedente articolo ho parlato della sicurezza su WordPress, raccontandovi le mie avventure con gli hacker e dando qualche consiglio su come evitare intrusioni non autorizzate.

Come detto, nonostante prendiate tutte le precauzioni consigliate, la possibilità che il vostro sito WordPress venga hackerato esistono ed è bene sapere cosa fare qualora vi trovaste in una situazione del genere.

Questo post parte dal presupposto che abbiate un backup aggiornato del database e dei files che compongono il sito nel vostro computer o su uno storage on-line (nello scorso articolo consigliavo il backup su Dropbox). Se il vostro sito non è ancora stato attaccato vi consiglio vivamente di predisporre dei backup automatici.

In questa prima parte cerco di dare alcune soluzioni veloci per i casi meno gravi e più frequenti con cui ho avuto a che fare.

Nella seconda parte invece cercherò di darvi una procedura passo passo per ripristinare il vostro sito WordPress nei casi più gravi e disperati (come, ad esempio, quando un hacker mi cancellò tutti i files nello spazio web di un sito).

La soluzione veloce

Una delle soluzioni più efficaci e veloci per ripristinare un sito web compromesso è quella di sapere esattamente quali files sono stati modificati o aggiunti. A volte è lo stesso hosting a fornire dei tool di monitoraggio dei files, ma esistono servizi on-line e plugin (come File Monitor) che potrebbero fare al caso vostro.

Se siete in possesso di queste informazioni potete pure smettere di leggere il seguito dell’articolo. Vi basterà semplicemente sostituire il file modificato con la sua controparte presa dal backup.

Qualora il backup non fosse aggiornato fate attenzione che il file che state sostituendo non “sia troppo vecchio”. Cerco di spiegarlo con un esempio.

Supponete che il file infetto/modificato risulti uno dei files del core di WordPress. Il vostro backup contiene una copia del sito aggiornata a quando l’avete messo on-line. Nel corso della vita del sito avete aggiornato WordPress ad una versione successiva agendo direttamente on-line e creando quindi una differenza tra le 2 versioni.

In questo particolare caso potreste ripristinare il file scaricando dal sito wordpress.org una installazione pulita della vostra versione da cui prelevare il file in questione. Nel caso più generico potete comparare i file di testo con un apposito programma (cercando “compare text files” su Google ne ho trovati anche online di gratuiti) e verificare la parte che è stata modificata rispetto al vostro backup.

Esistono sistemi per il controllo del versionamento dei files come SVN e GIT creati appositamente per mantenere e tracciare informazioni sulle modifiche ai files. Lanciando quindi una sincronizzazione sarete in grado di individuare eventuali files modificati e di individuarne facilmente le parti cambiate.

E’ grazie a questa funzione se sono riuscito ad individuare facilmente il file del tema WordPress modificato quando mi avevano bucato il sito iniettando nel footer.php (quindi in ogni pagina) due iframe che caricavano siti di casinò online. Mi è bastato caricare nuovamente (via ftp) il file footer.php che avevo nel backup del sito e tutto si è risolto.

Ripristinare un defacement della homepage

Un altro scenario, che segue in ordine di gravità e velocità di ripristino quello precedente, è che l’attacco sia stato “leggero” ed abbiano “fatto solo” un defacement della homepage.

In questi casi l’hacker sostituisce il file index.php di WordPress o inserisce un file index.html che contiene sostanzialmente un messaggio che indica che il sito è stato bucato, cambiando di fatto la homepage del sito.

Prima di allarmarsi quindi, controllate i file index.php ed index.html nel vostro spazio web e, se non sono uguali alla versione del vostro backup, ripristinate le versioni originali ed avrete nuovamente online il vostro sito.

Nell’80% degli attacchi da me subiti il problema si è risolto in questo modo.

Questo è un esempio:

HaCkEd By Darksoul-12 - [www.carolynsmithdanceacademy.com-HACKED_index]

Una volta ripristinato il sito vi consiglio comunque di continuare a indagare e a cercare eventuali altri files modificati. Gli hacker sono comunque entrati nel vostro server e potrebbero non essersi limitati a cambiare la homepage. Alcune delle considerazioni che farò in seguito valgono anche in questo caso… quindi continuate a leggere anche se avete risolto il vostro problema.

Ripristinare l’accesso all’amministrazione di WordPress

Altra situazione velocemente recuperabile è il cambio di password dell’utente amministratore di WordPress (admin nel 90% dei casi). In pratica dopo l’attacco non riuscite più a loggarvi nell’area di amministrazione di Wp. L’hacker in questo caso è riuscito a manipolare il database MySql collegato al sito o è entrato nel vostro sito WordPress e ha cambiato la password direttamente dalla gestione del profilo utente.

In questo caso possiamo usare un client di gestione MySql per operare direttamente sul database e ripristinare la nostra password di accessso. Penso che quasi tutti gli hosting provider forniscano un tool del genere e credo si tratti quasi sempre di phpMyAdmin.

Vediamo la procedura per ripristinare utente e password usando proprio phpMyAdmin:

  1. Loggati nel tuo phpMyAdmin

  2. Scegli il database su cui operare (se ce ne sono diversi)

  3. Seleziona la tabella degli utenti WordPress. La default si chiama wp_users, ma il nome dipende dal prefisso che hai usato in fase di installazione. Potrebbe essere nella forma MIOPREFISSO_users

  4. Utilizzando le tab (schede) superiori visualizza i dati della tabella (ovvero gli utenti del tuo WordPress). Nella mia versione di phpMyAdmin ho cliccato sulla prima scheda denominata “Browse”.

  5. Identificate la riga che contiene il nome utente da ripristinare. Nella maggior parte dei casi sarà quella dove la colonna ID ha valore 1. Cliccate quindi su “Edit” / “Modifica” o sull’icona a forma di matita (in base alle versioni) e vi troverete nella scheda per la modifica dei campi di questa riga del db

  6. Ripristinate, se necessario, il nome utente agendo sui campi user_login e user_nicename. Poi procedere al cambio della password e scrivete la nuova password nel relativo campo facendo attenzione a selezionare tra le funzioni disponibili la codifica MD5 (che “cripterà” la vostra password).

  7. Confermate tutto (nel mio caso cliccando su “Go”)

  8. Collegatevi all’amministrazione di WordPress con le credenziali appena impostate

  9. Se avete altri account consiglio di cambiare le password anche a quelli

Ecco uno screenshot dell’operazione e delle impostazioni per cambiare la password da phpMyAdmin:

reset-password-database

Se siste sprovvisti di un client MySql potete utilizzare queste due alternative:

  • collegarvi al database via linea di comando (es. SSH) e lanciare “a mano” la query SQL:
    UPDATE wp_users SET user_pass = MD5(‘lamianuovapassoword’);
    che cambierà la password di tutti gli utenti

  • Inserire nel file functions.php del vostro tema questa chiamata di funzione: wp_set_password(‘lamianuovapassoword’,1);
    che dovrebbe (non l’ho provata personalmente) re-impostare la password dell’utente con ID pari a 1. La funzione fa parte del core di WordPress (https://codex.wordpress.org/Function_Reference/wp_set_password).

Conclusioni

Spero che l’articolo sia utile ai lettori di YIW che si (incrociando le dita) troveranno in situazioni simili. Vi invito a seguire, se già non lo fate, Your Inspiration Web per non perdervi il prossimo articolo, dove vi parlerò della mia personale procedura per ripristinare un sito (seriamente e gravemente) danneggiato a seguito di un attacco hacker.

Fatemi sapere se l’avete trovato utile. Se avete qualche consiglio o storia da raccontare sulle vostre esperienze con gli hacker fatelo nei commenti. Alla prossima!

Guida:

1) Come ripristinare un’installazione WordPress dopo un attacco Hacker – Parte 1

2) Come ripristinare un’installazione WordPress dopo un attacco Hacker – Parte 2

Master per Web Designer Freelance
In tutti questi anni abbiamo ricevuto centinaia di richieste di approfondimento sulle numerose tematiche del web design vissuto da freelance. Le abbiamo affrontate volta per volta. Ma ci siamo resi conto che era necessario fare qualcosa di più. Ecco perché è nato One Year Together, un vero e proprio master per web designer freelance che apre finalmente le porte al mondo del lavoro.
Scopri One Year Together »
Tag: , ,

L'autore

Niki Rocco è Senior Web Developer e Seo Specialist presso Quag. Ha una passione sfrenata per il web e WordPress. Lo trovi su Google+

Sito web dell'autore | Altri articoli scritti da

Articoli correlati

Potresti essere interessato anche ai seguenti articoli:

7 commenti

  1. Anna Berghero
    • alidicera

Trackback e pingback

  1. Come ripristinare un’installazione Wordpress dopo un attacco Hacker – Parte 2 | Your Inspiration Web
    […] Come ripristinare un’installazione WordPress dopo un attacco Hacker – Parte 1 […]

Lascia un Commento

Current day month ye@r *