Come fare se Google rileva un malware nel sito WordPress

Come fare se Google rileva un malware nel sito in WordPress

Non si può stare un attimo tranquilli

Nelle ultime 2 settimane questo blog è stato attaccato e compromesso per ben due volte. Con attaccato e compromesso intendo dire che alcuni malintenzionati sono riusciti a inserire stringhe di codice malevolo all’interno di queste pagine. Stringhe di codice che, nel caso specifico, avrebbero installato all’interno dei visitatori del blog un malware, ovvero un software dannoso, il quale li avrebbe reindirizzati verso un sito che nulla ha a che fare con questo blog.

Com’è successo?

Le possibilità sono molteplici, ma sono due i principali metodi attraverso i quali un utente malintenzionato può bypassare i sistemi di sicurezza di un sito basato su WordPress e modificarne il codice:

  1. Ottenendo la password di accesso al pannello di amministrazione del dominio, dell’FTP o del pannello di amministrazione di WordPress, magari utlizzando il metodo “forza bruta”;
  2. Sfruttando una vulnerabilità nella sicurezza di WordPress, ovvero una falla, un buco.

Mentre nel primo caso la responsabilità è totalmente imputabile alla semplicità delle password scelte da chi amministra tutto l’ambaradan, nel secondo è l’amministratore stesso ad essere vittima delle leggerezze commesse in fase di sviluppo dal team di WordPress.

E quand’è così, ti rode parecchio il culo.

Due volte in due settimane

In questo post voglio raccontarvi come ho affrontato il problema, sia la prima che la seconda volta, sperando ovviamente che si tratti dell’ultima. Vi ricordo comunque che la regola d’oro in questi casi è sempre e soltanto una: non andare nel panico.

11 novembre 2014 – Il primo attacco

Tutto è iniziato con un messaggio privato su Facebook inviatomi da un amico, il quale mi avvertiva di non riuscire più ad accedere a questo blog. Google, infatti, attraverso un messaggio piuttosto allarmante, lo informava che il dominio era stato marchiato come potenzialmente dannoso.

Il sito in vista contiene malware - Mac

E mo che cazzo faccio?

Superata la fase di panico iniziale, mi sono messo a cercare su Google la possibile soluzione, certo del fatto che non fossi l’unico a trovarmi in quelle condizioni e che, magari in qualche forum specializzato, avrei trovato riposta al mio problema.

Ho utilizzato chiavi di ricerca come maleware e wordpress, imbattendomi ben presto in un interessante ed aggiornatissimo post pubblicato su StackOverflow: il tizio che aveva aperto la discussione denunciava il mio stesso problema e, grazie all’aiuto di altri utenti, era infine riuscito a rimuovere l’infezione.

Ho cominciato dunque a seguire anche io i loro consigli, ma la stanchezza e la mia ignoranza in fatto di sicurezza informatica hanno avuto la meglio, non permettendomi di rimettere in piedi il blog, il quale è rimasto inaccessibile per tutta la notte.

Help!

Il mattino seguente ho chiesto aiuto ad un collega che si occupa di programmazione web e che lavora principalmente con WordPress. Questa la sua netta sentenza:

“Scarica una nuova installazione di WordPress e fai l’upload via FTP nel tuo dominio, sovrascrivendo i files quando richiesto”

Il consiglio dimostrò di avere il suo fondamento e mi portò a vincere la partita.

Vi spiego dunque come è necessario procedere al fine di arginare il maleware:

  1. Effettuare il backup del database contenente i post.
    Molti fornitori di hosting, assieme allo spazio su disco, offrono anche una serie di strumenti attraverso i quali gestire il proprio database. Il tool in assoluto più diffuso è phpMyAdmin, tramite il quale è possibile effettuare il backup del database sul proprio hard disk. Questo passaggio non è prettamente finalizzato alla risoluzione del problema, ma è comunque consigliabile effettuare una copia di sicurezza del database ogni volta che si ha intenzione di agire in profondità sul proprio sito WordPress.
  2. Scaricare una nuova installazione di WordPress.Per ottenerla è sufficiente recarsi su WordPress.org e procedere con il download del .zip.
  3. Scompattare il .zip sul proprio hard disk e, tra le cartelle estratte, cancellare quella chiamata “wp-content”.In questo modo, quando andrete a riuploadare i files nel dominio via FTP, non cancellerete le personalizzazioni applicate al vostro sito, contenute appunto in wp-content.
  4. Caricare la nuova installazione nell’FTP. Per fare ciò avete bisogno di un client FTP che sia configurato per accedere al vostro dominio. Tutte le info utili a questa operazione (indirizzo dell’FTP, username, password e porta) dovrebbero essere scritte all’interno della mail di conferma che tipicamente viene inviata dai fornitori di hosting a chi diventa proprietario di un dominio. Il client FTP da me utilizzato è FileZilla.
  5. Cambiare le password di accesso al pannello di amministrazione del dominio, dell’FTP e del pannello di amministrazione di WordPress.Questo è un passaggio fondamentale per far sì che il problema non si ripeta (o quasi, visto che io ci sono cascato una seconda volta…). Create delle password complesse che siano composte da almeno una dozzina di caratteri e nelle quali figurino lettere (sia maiuscole che minuscole), numeri e caratteri speciali. E’ il modo più sicuro per far sì che neanche con il metodo “forza bruta” un malintenzionato possa accedere ai files che compongono il vostro sito.

Questo, in buona sostanza, è tutto ciò che ho dovuto fare.

La mattina stessa, tramite i Webmaster Tools, ho comunicato a Google che avevo sistemato il mio sito e che potevano passare a controllare. Risultato? Nel giro di un paio d’ore, il warning è stato rimosso.

Fuck Yea!

19 novembre 2014 – Il secondo attacco

Questa volta ad avvisarmi, sempre tramite messaggio privato, è stato un mio contatto di Twitter.

Passata l’irritazione dovuta al ripetersi della cosa, ho eseguito nuovamente tutti i passaggi indicati nel paragrafo precedente. Nel giro di mezz’ora ho cambiato tutte le password ed effettuato la sostituzione dei file WordPress, tralasciando ovviamente la sovrascrittura della cartella “wp-content”.

Per quanto soddisfatto dal risultato ottenuto, mi sono messo comunque alla ricerca di un plugin per WordPress che mi permettesse di identificare la radice del problema, scongiurando dunque una terza ricaduta.

Dopo aver navigato in lungo e in largo, sono venuto a conoscenza di un comodissimo plugin chiamato Anti-Malware and Brute-Force Security by ELI. Il compito di questo plugin, come deducibile dal nome, è appunto quello di rilevare la presenza di files compromessi all’interno del proprio sito WordPress, indicando l’ubicazione di file certamente infetti e di quelli sospettati di esserlo.

Ho dunque installato il plugin e, una volta registrata la mia copia del plugin stesso e scaricate le nuove definizioni dei virus, ho lanciato una scansione completa del mio sito (public_html). Durante tale operazione, Anti-Maleware mi ha segnalato alcuni files infetti (evidenziati in rosso), nonché altri come possibili portatori dell’infezione (evidenziati in giallo).

Anti-Maleware - Screenshot

Una tipica schermata di Anti-Maleware a scansione conlusa. In rosso i files infetti, in giallo quelli sospetti.

Anti-Maleware è stato studiato per riparare in autonomia i file infetti, cosa che però non può fare con quelli sospettati di esserlo. In questo secondo caso, dunque, è  necessario agire a mano.

ATTENZIONE: Alcuni dei files segnalati come sospetti da Anti-Maleware potrebbero essere in realtà dei falsi positivi. Per questo, se non siete certi del fatto che il singolo file sia legato al maleware, è meglio non metterci mano.

Completata la riparazione dei files infetti, mi sono spostato su quelli indicati come sospetti e li ho aperti uno per uno. Così facendo mi sono accorto che, esattamente come descritto nel post di StackOverflow, all’interno di ognuno di essi figurava una stringa molto simile a questa:

Stringa

Ho immediatamente capito che essa era parte del problema e così mi sono occupato di rimuoverla, file dopo file.

Do per scontato che sappiate che, per modificare un file online, è necessario innanzitutto scaricarlo e poi, una volta effettuata la modifica, salvare il file e riuploadarlo esattamente dove è stato trovato, andando a sovrascrivere la versione presente online.

Durante questa operazione ho notato, inoltre, che il codice di alcuni dei file segnalati dal plugin Anti-Maleware come sospetti era composto unicamente da quella stringa. Questo mi ha fatto capire che essi non facevano parte né dell’installazione di WordPress, né dei plugin da me utilizzati. In buona sostanza: erano stati creati dal maleware stesso, dimodoché l’infezione fosse più difficilmente estirpabile. Proprio per questo, invece di modificarli e ricaricarli nell’FTP, ho preso la decisione di cancellarli definitivamente.

Tra tutti i files segnalati come sospetti da Anti-Maleware, uno in particolare ha colpito la mia attenzione: chiamato general79.php, nulla aveva a che fare con gli altri files presenti nella medesima cartella. Inoltre, il codice in esso contenuto era del tutto simile alla stringa di cui sopra, ma replicato più volte e in diverse varianti. Certo (o quasi) del fatto che ci fosse lui all’origine dell’infezione, ho deciso di toglierlo di mezzo una volta per tutte.

Fatto tutto ciò, ho lanciato una nuova scansione con Anti-Maleware e, questa volta, non è comparsa alcun tipo di segnalazione.

Happy Ending

Sono passati 5 giorni da questo secondo attacco. Ho preso l’abitudine di lanciare una scansione con Anti-Maleware ogni mattina e ogni sera, certo del fatto che, almeno in minima parte, questo mi permetterà di intervenire tempestivamente in caso di una nuova infezione.

E’ bene tenere alto il livello di guardia quando si parla della sicurezza del proprio sito e, proprio per questo, consiglio ad ogni amministratore di un sito di avere sempre massima cura delle password di accesso alla propria piattaforma, nonché di dotarsi di strumenti come Anti-Maleware per affrontare situazioni di crisi come questa.

In conclusione, vorrei rivolgere un saluto agli “amici” di 24corp-shop.com…

Fuck You

Immagine di copertina tratta da tecnoyouth.it
Immagine "Fuck You!" tratta da genius.com

Se ti è piaciuto questo post, aiutami a condividerlo sui Social Network!

Simone Bennati

Potrebbero interessarti anche...

5 risposte

  1. Alessandro Illuminati ha detto:

    Ma l'anti-malware che citi è utilizzabile anche per un blog su wordpress.it?

  2. Simone Bennati ha detto:

    Ciao Alessandro,
    avere un blog su wordpress.com non è come avere un proprio dominio sul quale è stato montato WordPress. Questo fa sì che molte personalizzazioni non possano essere effettuate, ma nel contempo azzera la possibilità che cose come quella capitata a me possano verificarsi. Quindi, se hai aperto il tuo blog su wordpress.com, puoi stare tranquillo 🙂

  3. Alessandro Illuminati ha detto:

    Eh sì, già il fatto che abbia scritto ".it" anziché ".com" fa capire il mio livello di conoscenze 😀
    Grazie per la risposta esauriente.

  4. Simone Bennati ha detto:

    Alessandro Illuminati E' solo una svista, ci casco anche io ogni tanto 😉 Figurati! Buona serata :*

  5. Fabio Castellano ha detto:

    Mi sta succedendo da un anno o due, ma non sono ancora mai riusciti ad infettarmi. Prima ero stato avvertito dall’ISP (webperte) che facevo troppo traffico di bot (ero sul gigabyte/giorno, soprattutto dall’Est Europa), ed ho risolto solo limitandoli per quanto possibile via robots.txt e installando ZB Block: http://www.spambotsecurity.com/zbblock.php con tutte le signatures possibili, chiudendo fuori una ventina di paesi. Negli ultimi due mesi hanno intensificato i tentativi tentando di scassinare ZB Block ed ho stretto ulteriormente via .httpaccess e installando signatures contro la rete Amazon AWS e i browser più vecchi (dietro i quali spesso si nascondono i bot), e sto scrivendo una signature contro i provider satellitari dietro i quali si nascondono spesso gli attacchi ransomware Turla e simili. Sul forum di ZB Block mi hanno suggerito CIDRAM IP blocker, che potrebbe essere complementare perché ha un diverso meccanismo di azione: https://github.com/Maikuolan/CIDRAM

Questo sito utilizza cookies indispensabili per il suo funzionamento. Cliccando Accetta, autorizzi l'uso di tutti i cookies.