In questo articolo voglio analizzare, insieme a te, una problematica sorta ad un nostro cliente, gestore di alcuni siti web su WordPress, ospitati da un famoso provider. Sicuramente, il terrore di qualsiasi utilizzatore di WordPress è vedere il proprio sito manomesso o, nella peggiore delle ipotesi, cancellato da attacchi hacker.
Non ti preoccupare, presto saprai anche tu se il tuo sito o blog gode di ottima salute.
Table of Contents
Come fare per capirlo?
Sicuramente, se stai leggendo questo articolo, hai paura che il tuo sito sia stato attaccato oppure hai notato comportamenti strani delle pagine visualizzate.
Hai notato dei popup pubblicitari all’apertura di determinate pagine, file sconosciuti nel tuo spazio web o innumerevoli visite da utenti esteri? Se la risposta fosse affermativa, continua a leggere perché in 4 semplici mosse potrai tirare un sospiro di sollievo.
Analizzare i file
Se il tuo sito mostra popup pubblicitari, oppure sezioni sconosciute nelle pagine, l’hacker potrebbe aver inserito del codice malevolo all’interno dei file di sistema del tuo CMS WordPress.
Nel nostro case study useremo cPanel, il pannello di controllo offerto su tutti i nostri piani hosting. Il primo file che andremo a controllare è l’htaccess, ovvero il file regolatore dei parametri vitali di un sito web, come il rewriting degli URL, il blocco di alcune risorse e la definizione di politiche di caching.
La direttiva “FilesMatch” permette di regolare l’accesso a determinate risorse (file e cartelle), escludendo singoli, o gruppi di dispositivi e viceversa. In questo caso, possiamo notare subito che sono presenti 2 direttive FilesMatch. La prima si riferisce alle estensioni py, exe e php e la seconda a determinati file.
La prima istruzione ci indica che, con la dicitura “Deny from all”, nessun dispositivo è autorizzato ad accedere a tutti i files con quelle estensioni citate sopra. Fino a qui, non si pone alcun problema, in quanto nessuno vorrebbe eseguire applicativi exe, o py sul proprio sito web.
La seconda istruzione, invece, richiede particolare attenzione in quanto, con la stringa “Allow from All”, qualsiasi dispositivo è autorizzato ad accedere e ad usufruire dei file elencati due righe sopra (radio.php, index.php, content.php, about.php, lock360.php)
Alcuni di questi nomi risultano strani, e non comunemente usati su WordPress: ecco perché dobbiamo esaminare meglio i file sospetti, come lock360.php, about.php, content.php e radio.php.
Dopo aver fatto una ricerca, abbiamo aperto il file radio.php nell’editor.
Nella prima foto puoi notare, tra tutto il codice, una funzione che legge il file .htaccess del sito e inserisce il codice che abbiamo visto nel paragrafo precedente. Così facendo, gli hacker e i malintenzionati avranno sempre la certezza di poter accedere a quei file sconosciuti, qualora tu riuscissi a cancellare quelle direttive.
Nella seconda foto, invece, si può intravedere il nome di una Shell PHP : Zerion Mini shell.
Una shell PHP è una semplice pagina web dinamica che, una volta caricata sul server della vittima, permette all’hacker malintenzionato di impartire comandi ed avere accesso completo ai file sullo spazio hosting.
Sorge spontanea la domanda: “Da dove sono entrati, per caricare questo codice? Come hanno fatto?”
Analizzare i log di accesso
Generalmente, le porte d’accesso ad uno spazio web sono:
Analizzeremo tutte le possibilità, per identificare come, quando e da chi sono stati caricati questi malware.
cPanel
Accedendo al cPanel del tuo account hosting, troverai alla sezione “Metriche” oppure “Metrics” la voce “Accesso non elaborato” oppure “Raw Access”.
Cliccando su quella voce, ci troveremo di fronte ad una lista di domini ospitati sul nostro account.
Clicca sul link in corrispondenza del tuo sito (SSL o non SSL) e scaricherai, così, un archivio compresso dei log del giorno corrente.
Nella sezione sottostante, troverai un archivio dei log compressi del mese corrente, per una panoramica più vasta (utile se non dovessi trovare informazioni rilevanti nel passaggio successivo).
A titolo d’esempio, ho scaricato due archivi, per analizzarli insieme.
Puoi scompattare l’archivio .gz usando un comune programma di archivi, come 7-Zip o WinRar. Ti troverai di fronte ad un file di testo, da aprire facendo click con il tasto destro sul file -> Apri con -> Blocco Note.
Questo file contiene tutti gli accessi a file e cartelle effettuati dai visitatori del tuo sito. Fra queste righe, dobbiamo andare alla ricerca di visite a quei file che abbiamo identificato come malevoli negli step precedenti.
Scorrendo minuziosamente il file ho identificato queste richieste di cui ti riporto un estratto:
x.x.x.x - - [06/Feb/2021:17:03:31 +0100] "GET /radio.php HTTP/1.0" 200 111 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36"
x.x.x.x - - [06/Feb/2021:17:06:40 +0100] "GET /life360.php HTTP/1.0" 301 - "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome
x.x.x.x - - [06/Feb/2021:19:03:50 +0100] "GET /about.php HTTP/1.0" 200 111 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36"
Come puoi vedere, in quelle date evidenziate ci son state richieste di visualizzazione delle pagine malevoli (GET) da parte di un utente. Ciò sta a significare che qualcuno ha usufruito delle risorse malevole, già caricate precedentemente.
Ti ricordi quel file, radio.php, che conteneva quella shell per impartire i comandi? Bene, ora sappiamo che l’hacker ha caricato il file radio.php (non sappiamo ancora come) e ha visitato altre due pagine : life360.php e about.php.
Molto probabilmente avrà utilizzato la shell radio.php proprio per creare questi file malevoli, senza destare troppi sospetti.
Controlliamo ora gli accessi FTP.
FTP
Accedendo al cPanel del tuo account hosting, troverai alla sezione “Metriche” oppure “Metrics” la voce “Webalizer FTP”.
Clicca, poi, sul link “Fare clic qui per visualizzare le statistiche FTP Webalizer”.
Si aprirà un pannello di statistiche su tutti gli accessi FTP e i file caricati tramite quel protocollo.
Gli accessi sono divisi per mese. Ti consiglio di aprire la scheda relativa al mese corrente.
Scorrendo la pagina, troverai una lista di file modificati/caricati tramite FTP.
FTP è quel protocollo che ti permette, in rapidità, tramite Filezilla di caricare e scaricare file dal tuo spazio hosting, come se fosse una cartella del tuo computer.
Da un rapido controllo possiamo vedere che non c’è traccia dei file che stiamo cercando.
Se dovessi notare, a questo punto, i file malevoli, verifica la sezione sottostante, nella quale vengono illustrati gli IP di accesso utilizzati.
Come puoi vedere, nel nostro case study non sembrano esserci intrusioni da IP stranieri. Nel tuo caso, verifica che siano IP italiani e che ti siano familiari.
Se vuoi sapere quale sia il tuo IP attuale, clicca qui.
Qualora dovessi aver trovato i file malevoli nel log FTP e IP stranieri, sicuramente gli hacker sono riusciti ad accedere al tuo FTP tramite l’account che trovi nella tabella “Total Usernames”.
Continua a leggere perché, alla fine dell’articolo, ti guiderò nel cambio password di tutti gli account di sistema.
Plugin o temi malevoli
Sono milioni all’anno i siti WordPress vittima di attacchi hacker, a causa di falle di sicurezza o di plugin non legittimi/non aggiornati.
Avere plugin e il core di WordPress non aggiornati, così come temi “non legittimi”, scaricati illegalmente, potrebbero facilitare la vita agli hacker.
Gli aggiornamenti del core e dei plugin rientrano nelle operazioni di manutenzione ordinaria che dovresti eseguire con costanza per mantenere il tuo sito al sicuro. Se per ragioni di tempo non puoi occupartene personalmente potresti valutare l’idea di affidarti a una soluzione di WordPress gestito e avere a tua disposizione un team di professionisti che se ne occupa al posto tuo, mentre tu fai crescere il tuo sito.
Se un plugin o tema non è aggiornato da mesi, potrebbe presentare falle scoperte solo successivamente alla data dell’ultimo aggiornamento. Questo consentirebbe ai malintenzionati di sfruttarle per entrare nel tuo sito o blog.
Purtroppo, ci capita spesso di vedere siti di clienti o di conoscenti, vittime di attacchi hacker, a seguito dell’utilizzo di plugin o temi craccati, scaricati illegalmente per evitare il costo della licenza.
La maggior parte delle volte, chi distribuisce questi applicativi, lo fa promettendo materiale gratuito e sicuro. Sono situazioni, ovviamente, fittizie che introducono nei nostri sistemi malware e, molto spesso, pagine per assumere il controllo del sito, allo scopo di carpire dati sensibili.
Se sei consapevole di non avere plugin non legittimi, ma hai comunque trovato files sospetti, continua a leggere lo step successivo.
Cambiare gli accessi
Sicuramente, cambiare periodicamente le password utilizzate per i nostri servizi, dovrebbe rientrare nelle best-practice di ognuno di noi.
Guardiamo insieme come cambiare la propria password del cPanel e, successivamente, del nostro WordPress.
Cambio password cPanel
Accedendo al cPanel del nostro sito, in alto a destra vedremo il nome utente dell’account con il quale siamo entrati, e per il quale cambieremo la password.
Clicca sul nome, successivamente sulla voce “Password e sicurezza”.
In questa schermata, ti viene chiesto di reinserire la vecchia password, e la nuova, confermandola.
Mi raccomando: non usare una password comune!
Da una ricerca le password più usate sono ‘123456’, ‘qwerty’, ‘letmein’. Nel 2015 ‘starwars’ era nella lista delle 25 password più usate. Usare una password simile equivale a scrivere il numero pin sulla tua carta di credito.
Dovresti usare una password lunga, complessa ed unica. Quindi che contenga 16-20 caratteri, maiuscole, minuscole, numeri e simboli (puoi usare i caratteri speciali della tastiera) e non possa essere scoperta a tentativi controllando su un vocabolario.
Esistono dei tools online che creano per te una password sicura. Dovrai poi ovviamente salvarla, ad esempio nel browser oppure usando tools come LastPass o 1Password.
Tieni presente che le nostre regole proprietarie mitigano gli attacchi brute force, ma questo non vol dire che tu debba usare una password debole e facile da scoprire per chi vuole attaccare il tuo sito.
Clicca poi su “Modificare la password ora”.
Ottimo! Passiamo a WordPress, ora.
Cambio password su WordPress
Recati alla tua pagina di login WordPress che, di default, è /wp-login.php
Ad esempio, se il tuo sito è www.miodominio.com, la pagina di login sarà accessibile a www.miodominio.com/wp-login.php
Inserisci le tue credenziali e arriverai alla dashboard del tuo sito.
Sulla sinistra, alla voce “Utenti” o “Users”, seleziona “Tutti gli utenti” o “All users”.
Ti comparirà la lista degli account WordPress attualmente attivi sul tuo sito. Controlla attentamente che non ci siano account non riconosciuti da te o dai tuoi collaboratori.
Se non dovessi riconoscere qualche account, ti basterà passarci sopra con il mouse, cliccare sulla voce “Elimina”, di colore rosso, poi “Conferma Eliminazione”.
Ad ogni modo, per cambiare la password al tuo account, passaci sopra con il mouse e clicca sulla voce “Modifica”.
In questa pagina dovrai scorrere fino a trovare la voce “Gestione dell’account”. Lì sarà presente un bottone “Imposta nuova password”, cliccalo e comparirà una casella di testo nel quale dovrai digitare la nuova password, tenendo conto dei consigli che ti ho dato poche righe sopra.
Una volta inserita, in fondo puoi cliccare “Aggiorna Profilo”.
Ecco fatto, abbiamo messo in sicurezza anche il nostro account WordPress.
Per altri consigli in merito, ti rimando all’articolo su come migliorare la sicurezza di WordPress.
Come Supporthost ti aiuta
Le nostre parole chiave sono Sicurezza, Velocità ed Affidabilità.
Ci impegniamo giorno dopo giorno nella messa in sicurezza dei nostri server, studiando attivamente le nuove minacce che man mano sorgono. A tal proposito, ci avvaliamo di Imunify360, un tool di sicurezza Anti-Malware, con una difesa proattiva alle minacce quotidiane.
E, se non bastasse, ClamAV ti permette di effettuare una scansione antivirus su tutto il tuo spazio web (email comprese), in qualsiasi momento tu voglia.
Diamo un’occhiata più approfondita ai vari strumenti che ti mettiamo a disposizione, e che potrebbero portarci alla risoluzione di questo case-study.
Imunify360
Come ti accennavo precedentemente, Imunify360 ti permette di fare scansioni sul tuo sito web, identificando i malware nei vari files, pulendo automaticamente quelli infetti.
Come puoi notare, lo strumento ha sanificato quei file, specificando inoltre il tipo di minaccia rilevata. Se copiamo e incolliamo sul motore di ricerca la minaccia rilevata, troveremo maggiori informazioni a riguardo.
Cercando “SMW-INJ-12895-inj.mlw.wp-2“, il primo risultato di ricerca è proprio un articolo di Imunify360, che ci segnala malware in un plugin scaricato da un noto sito illegittimo.
Ti lascio il link del blog ufficiale, se vuoi dare un’occhiata.
ClamAV
Questo che ti sto per presentare è un tool, incluso su tutti i nostri piani hosting, che ha il compito di scansionare tutte le email in entrata/uscita. Oltre a queste scansioni automatiche è possibile eseguire una scansione manuale dei tuoi files. Ti ricordo che tutti i files vengono scansionati in tempo reale (ovvero quando sono caricati sul server) da un sistema proattivo che ci avvisa ogni giorno sulle minacce presenti.
In ogni caso, se vuoi effettuare una scansione manuale, accedi al cPanel e scorri fino alla sezione “Avanzate”.
Clicca quindi su “Programma Antivirus”.
Scegli “Scansione home directory intera” e clicca su “Esegui scansione ora”.
A seconda delle dimensioni della cartella che vuoi scansionare e del numero dei files ci vorranno alcuni secondi o alcuni minuti per terminare la scansione. Nella prossima pagina potrai vedere il risultato della scansione.
CageFS
Ok, il mio sito è sano, non sembrano essere presenti malware, né intrusioni. Come faccio a essere sicuro/sicura che un attacco ai danni di altri utenti sul server, non possano inficiare sul mio lavoro?
Questa è sicuramente un’osservazione lecita, e sulla quale mi sembra giusto spendere due parole.
Uno dei modi che usiamo per mantenere la massima sicurezza degli account dei nostri clienti è il completo isolamento di ogni singolo account. Ciò avviene grazie all’implementazione di CageFS.
Nel nostro caso, quindi, grazie alle misure che adottiamo, dal punto di vista della sicurezza non c’è differenza tra piano cloud e condiviso.
Puoi pensare che l’hosting condiviso nella maggior parte dei servizi sia sicuro e che l’accesso al tuo account sia solo tuo.
Purtroppo nella maggioranza dei casi non è così. I provider di hosting condiviso hanno spesso dei problemi di sicurezza che possono causare disservizi all’intero server. Questo succede perché, semplicemente, uno degli account su quel server ha un’applicazione non sicura.
La maggioranza dei software open-source, come Joomla, WordPress e molte altre applicazioni sono i target preferiti dagli hacker. Su un server condiviso standard quando uno di questi account vulnerabili viene attaccato, l’hacker può attaccare con semplicità tutti gli altri account sul medesimo server, addirittura portandolo offline.
Riceviamo infinite richieste di potenziali clienti che ci richiedono se il nostro servizio è sicuro perché il loro account è stato hackerato più volte con un altro provider.
Sul nostro hosting sicuro usiamo un chroot isolation technology personalizzato. Con la nostra soluzione anche se un account non è sicuro, gli altri account sul medesimo server non possono essere attaccati tramite il web server, come in un normale ambiente condiviso.
Questo ci fa diventare uno degli hosting più sicuri e, sicuramente, potrai dormire notti tranquille, sapendo che il tuo sito è su una delle piattaforme più sicure sul mercato.
Conclusioni
Grazie all’analisi di questo case-study, abbiamo visto come controllare che i nostri siti/blog siano sani, mettendoli in sicurezza dagli hacker e imparando l’importanza di un hosting sicuro. Abbiamo visto come esaminare il contenuto del nostro sito alla ricerca di file potenzialmente malevoli e capito come identificare gli accessi indesiderati.
Ci siamo poi concentrati su come migliorare la sicurezza del nostro sito esaminando quali comportamenti possono essere rischiosi e favorire l’accesso ai malintenzionati. Se hai bisogno di chiarimenti o non sei riuscito a seguire qualche passaggio fammelo sapere nei commenti.
Lascia un commento