Come risolvere l'attacco hacker che crea pagine 'Viagra' in WordPress (Pharma Hack)

Scritto da Marco Panichi il Aggiornato il
hacked serp

Cerchi la tua azienda su Google e BOOOM trovi link al tuo sito con titoli e descrizioni tipo “Lunesta online: Viagra prezzo farmacia!”?

Hai scoperto pagine nascoste nel tuo sito WordPress piene di parole come Viagra, Cialis, e altri nomi di medicinali?

Probabilmente sei stato infettato dal noto Pharma Hack. A questo punto i blogger più entusiasti tirerebbero fuori dal cappello un sorridente “Niente paura!”. Io invece ci andrei più cauto perché questo attacco hacker è bello rognoso.

La buona notizia è che in questa guida troverai una sintesi completa di tutte le informazioni importanti sull’attacco Pharma: comprendere le motivazioni del pirata informatico, individuare i files sospetti, curare l’infezione e rafforzare la sicurezza per il futuro.

Pronto!?

ATTENZIONE! LEGGI PRIMA QUI!

Dopo ulteriori esperienze accumulate in seguito alla pubblicazione del presente articolo, ho compreso che effettuare una pulizia del sito in essere può risultare infruttuoso. Questo perché il codice malevolo può cambiare forma e la sua individuazione può essere difficile e complessa.

Questo, unito al fatto che una pulizia incompleta porta all’inesorabile re-infezione del sito, mi porta a concludere che è sempre meglio reinstallare il sito da zero e reimportare i contenuti “passandoli al setaccio”.

In ogni caso ho preferito lasciare l’articolo così com’è, per chi, nonostante tali considerazioni, volesse procedere a ripulire l’installazione in essere.


A chi si rivolge questa guida

Questo articolo si rivolge a programmatori con competenze medio-basse, visto che probabilmente quelli più esperti avranno già risolto da soli.

Al tempo stesso non è adatto a chi ha zero conoscenze e non ha strumenti per agire. Se ricadi in questa categoria ti blocco immediatamente: rischi di diventare matto e perdere un sacco di tempo (inutilmente forse) che potresti usare per curare la tua attività – richiedimi un preventivo (abbi cura di specificare il link al sito) così avrai modo di valutare l’opzione migliore per te.

 

Avviso per gli utenti Joomla

Questa guida si riferisce a chi sfrutta la piattaforma WordPress ma molte considerazioni sono valide anche per chi invece usa Joomla.

Per cui se fai parte di questa schiera scorri ugualmente l’articolo – vi troverai informazioni utili!

L’atteggiamento giusto

Prima di cominciare: ti consiglio caldamente di non concentrarti sui dettagli dell’attacco (nomi di files, istruzioni php, ecc) ma sul paradigma generale. Il pirata informatico potrebbe aver modificato alcuni parametri del suo attacco (nomi dei files infetti o istruzioni utilizzate, appunto) per rendere più difficile l’identificazione del problema.

Inoltre accetta l’idea che dovrai destinare uno o più giorni per debellare l’attacco. Lavorare con la fretta può portare a conseguenze più o meno gravi, dal ripresentarsi del problema fino alla perdita di informazioni o anche a malfunzionamenti irreversibili.

Sintomi dell’attacco Pharma Hack

Risultati di Google alterati

Per sua natura (approfondirò in seguito) il Pharma Hack viene principalmente scoperto perché le nostre pagine nelle SERP (pagine dei risultati di ricerca) di Google presentano snippet alterati. Ecco un esempio

serp alterata da pharma hack

NOTA: cliccando un risultato del genere, probabilmente vedrai una pagina normale!

Pagine nell’indice di Google alterate

Google costruisce le sue SERP a partire NON dalla pagina del tuo sito ma da una copia della tua pagina nel suo indice. Questo sintomo quindi è strettamente correlato al primo (risultati alterati).

Ecco come funziona: Google è programmato per acquisire tutte le pagine del web (eccetto eventuali contenuti bloccati) e salvarle nel suo indice. Quando l’utente cerca qualcosa su Google lui non rovista il web tutte le volte ma effettua la ricerca sul suo indice. Chiunque può visualizzare le pagine così come sono state acquisite da Google semplicemente scrivendo:

Nel caso di un attacco come il Pharma Hack, Google acquisisce delle pagine alterate che saranno visualizzabili quando andremo ad effettuare il controllo tramite l’operatore cache.

NOTA: Google potrebbe aver ripristinato nel suo indice le pagine così com’erano prima dell’attacco. In tal caso il controllo “cache” ritornerebbe un falso positivo.

“Visualizza come Google” mostra pagine alterate

Google mette a disposizione dei proprietari dei siti molti strumenti per mezzo della Search Console (ex Google Webmaster Tools). Tra questi ne troviamo uno molto utile soprannominato “Visualizza come Google”. Con questo strumento possiamo vedere una pagina del nostro sito esattamente con gli occhi di Google (o meglio, del programma preposto a scansionare il web, soprannominato Googlebot).

Accanto alla pagina vista dalla prospettiva di Google verrà renderizzata anche la pagina ce si presenta agli utenti normali. In questo modo sarà facile vedere la differenza e comprendere al meglio le modalità dell’attacco.

NOTA: Non tutte le pagine vengono infettate dal Pharma Hack, il quale si concentra solo su quelle più autorevoli.

Backlink da siti inaspettati verso le pagine infettate

In Search Console possiamo apprendere quali sono i siti con un backlink al nostro sito web nella sezione Traffico di ricerca > Link che rimandano al tuo sito. Se sei stato infettato dal Pharma Hack qui troverai siti a te sconosciuti che indirizzano a pagine strane del tuo sito a partire da pagine altrettanto strane; ad esempio:

Perché devi curare l’attacco hacker prima possibile

Benchè penso non ve ne sia bisogno, ti consiglio caldamente di correre subito ai ripari. I motivi sono principalmente:

  1. Google potrebbe penalizzare il tuo sito o bannarlo dalle SERPs.
  2. Il tuo traffico subirà una diminuzione
  3. Chi ti cerca su Google avrà una brutta sorpresa…
  4. …a danno della tua reputazione online!
  5. Hai “in casa” un malintenzionato che può danneggiare te e i tuoi utenti (< che se la prenderanno con te!)
  6. Più aspetti e più l’infezione potrebbe diffondersi, rendendo difficoltosa la rimozione

Pharma Hack – Descrizione dell’attacco e suo scopo

Scenario: “C’era una volta…”

Per diagnosticare e curare un attacco hacker dobbiamo metterci nei panni del pirata informatico e comprendere le sue motivazioni. Solo così sapremo dove cercare, quali interventi attuare e soprattutto come difenderci in futuro.

Tutto parte da un ragazzo dotato di talento informatico. Un bel giorno decide di mettere a frutto le sue competenze costruendo un ecommerce per vendere medicinali online. Tra questi medicinali c’è di tutto: viagra, cialis e molti altri. Il business è sicuramente redditizio ma si pone un problema: il sito deve posizionarsi in prima pagina di Google per essere raggiunto da tutti quelli che cercano tali medicinali tramite il motore di ricerca.

La domanda del talentuoso informatico diventa quindi: “come posso far salire il mio sito di posizione per queste parole chiave?”

La risposta (che è ambito di studio della SEO = Ottimizzazione per i Motori di Ricerca) coinvolge sicuramente la qualità del sito stesso ma anche e soprattutto le referenze al sito, ossia cosa dicono gli altri siti di questo ecommerce. Le referenze nel web si materializzano principalmente tramite link piazzati in siti di terzi (detti referenti o, in gergo “referral”) e diretti al nostro sito web. Chiaramente, queste referenze assumono maggior valore quando i siti referenti parlano dei nostri stessi argomenti; la coerenza (o meglio, la “rilevanza”) gioca un ruolo prominente nelle ricerche degli utenti (e quindi anche nelle valutazioni dei motori di ricerca).

E’ qui che l’informatico prende la decisione di agire secondo la regola oppure no. Se sceglierà di agire onestamente cercherà di meritarsi queste referenze offrendo contenuti di valore all’utente, ricorrendo a tecniche SEO “buone” (in gergo “white hat SEO”) e alimentando positivamente il suo brand. Chiaramente questa strada è faticosa e, nel caso di un sito che vende medicinali di un certo tipo, sicuramente molto difficile, perché è coinvolta la reputazione dei propri clienti.

Ecco quindi che l’informatico sceglie di perseguire la seconda strada, quella scorretta, quella fatta delle cosiddette tecniche “black hat SEO”. Tra queste tecniche una delle più redditizie è la “tiered link building” ossia “costruzione di link a più livelli”. Ecco come funziona:

  1. Predispongo il mio sito web principale dove trasformo l’utente in cliente. Questo è soprannominato “money site” proprio ad intendere che è questo il sito dove vendo il mio prodotto e dal quale traggo profitto
  2. Individuo dei siti di media autorità (domini vecchi e ben alti nei motori di ricerca) e cerco di piazzare in questi dei link che puntano al mio money site. Questi siti costituiscono la prima “cerchia” o il primo livello. Sceglierò questi siti con cura e presterò attenzione affinché essi parlino degli stessi argomenti del mio sito.
  3. Troverò ora molti piccoli siti, magari più giovani, che indirizzano ai siti del primo livello. Questa sarà la mia seconda cerchia. Questi siti possono essere anche di scarsa qualità; quello che conta qui è il numero. Tra l’altro, essendoci una cerchia tra il money site e la seconda cerchia, non rischieremo che la scarsa qualità di tali siti intacchi la nostra reputazione.

Si tratta quindi di costruire backlinks ai nostri backlinks così da rendere il nostro money site “centrale” e “autorevole” agli occhi del motore di ricerca. Perché è una tecnica “black hat”? Perché le referenze devono sorgere con naturalezza nel web e non certo essere costruite a puntino. Google è molto attento a riguardo e negli anni ha sviluppato svariati algoritmi (il celebre algoritmo Penguin per citarne uno) per debellare tali tecniche e favorire così solo chi merita. Purtroppo Google non può essere ovunque in ogni istante e queste tecniche durano a morire.

Tutto ciò premesso, visto che sarebbe abbastanza impossibile costruire link su più cerchie con il consenso dei proprietari dei siti web, l’hacker individua siti vulnerabili e ne prende il controllo così da creare in questi pagine ricche di parole chiave coerenti con i suoi prodotti e chiaramente link diretti verso il suo money site o le cerchie più interne.

Le vulnerabilità che permettono l’attacco

Per accedere furtivamente ad un sito web, il pirata informatico si avvale di più punti deboli:

  • Computer infetti: Se il tuo computer è infettato da qualche malware, quest’ultimo potrebbe scoprire ed inviare all’hacker le credenziali d’accesso che usi per entrare nel pannello d’amministrazione del tuo WordPress o quelle per accedere allo spazio FTP. Non sottovalutare questo punto, per esperienza posso dirti che capita più spesso di quanto si pensi.
  • Password deboli: ancora nel 2015 c’è chi usa admin/admin come dati di accesso per la propria area amministrativa. Senza contare che esistono tipi di attacchi hacker detti “brute force attack” (letteralmente: attacchi forza bruta) tramite i quali vengono testate innumerevoli combinazioni di user e password al secondo fino a che non vengono scoperte quelle esatte. In tal caso, anche una password come admin123 avrebbe certamente vita corta.
  • Password riutilizzate: eh si, hai capito bene. La tua bella password fatti di numeri e caratteri strani avrà vita corta se la usi per accedere in ogni dove. Basta una falla in una qualsiasi applicazione che la tua password sarà il jolly per accedere ovunque. Molto pericoloso!
  • CMS o Plugin obsoleti / non aggiornati: altra piaga del web, siti mantenuti non di frequente o peggio, lasciati inalterati negli anni. Devi sapere che sia il tuo WordPress che i suoi plugins possono avere delle falle di sicurezza ed è solo questione di tempo affinché vengano scoperte. Quando ciò accade solitamente la comunità di sviluppatori ne dà comunicazione. Questo aiuta i proprietari di siti web a darsi una mossa ed aggiornare il proprio CMS. Però aiuta anche i malintenzionati i quali scrivono programmi automatici (“crawler”) che scorrazzano per il web alla ricerca di siti WordPress non aggiornati – e ne troveranno a migliaia! A questo punto sfruttare la vulnerabilità sarà piuttosto semplice!
  • Codice debole: Potremmo scrivere codice all’interno del nostro tema o effettuare modifiche che rendano insicuro il nostro sito. Codice scritto male permetterebbe all’hacker di inserire contenuti (“content injection”) nel nostro sito o peggio di inserire/recuperare dati nel/dal nostro database (“SQL injection”).

Sfruttando una (o più) di queste vulnerabilità, l’hacker accede al nostro sito e qui può depositare i files o il codice preposti ad infettare lo stesso.

L’hacker è entrato nel sito – ora avviene l’infezione

Le modalità di infezione del pharm-hack sono peculiari e molto dannose. Infatti l’hacker che attua questo attacco infetta più livelli del nostro sistema:

  1. Files di WordPress
  2. Files dei plugins
  3. Files del tema grafico
  4. Dati nel database

La prima cosa che ci sorprende è che a differenza di altri attacchi l’infezione non si ferma al file system ma si estende anche del database. Questo rende difficile individuare il problema e spesso inutile la pulizia.
Infatti, seconda osservazione da fare, pulire solo uno o più livelli non è sufficiente; basta lasciare infetto anche un solo livello (ad esempio il database che uno neanche ci va a pensare) che la problematica si riattivi.

Infezione del file system

Riguardo i primi tre punti, ossia l’infezione del file system, questa può avverarsi in due modi:

Aggiunta di files

Seguono alcuni esempi di files che l’hacker potrebbe aggiungere alla tua installazione WordPress:

Come detto in apertura di articolo, questa è solo una lista esemplificativa – non fissarti troppo con questi nomi nello specifico. L’hacker potrebbe (anzi, lo ha fatto sicuramente) aver cambiato nome dei files per rendere più difficile la diagnosi dell’attacco.

Aggiunta di codice

Ecco alcuni esempi di codice che potrebbe essere stato inserito nei files sopracitati MA ANCHE in altri files del tuo sito:

Il ruolo dei files malevoli e del codice sopracitati, che ripeto coinvolge tutti e tre i livelli della tua installazione (WordPress core, plugins, tema) è quello di richiedere e sfruttare altro codice inserito nel database per generare i contenuti spam voluti dal pirata. E qui arriviamo al quarto livello nel quale l’infezione può propagarsi.

Infezione del Database

Come detto qui dentro l’hacker ha inserito codice php malevolo che una volta estratto viene eseguito per generare i contenuti spam. Il codice di cui parlo include quasi certamente istruzioni come base64_decode ed eval. Sadicamente il pirata potrebbe aver inserito queste funzioni scritte al contrario nel database!

A quanto pare, basandomi sulle (decine di) fonti da me reperite, la tabella del database maggiormente intaccata dall’attacco è la wp_options. Qui dentro il pirata potrebbe aver inserito delle opzioni aventi tale nome (colonna option_name):

(*) dove rss_<qualcosa> è differente da rss_language, rss_use_excerpt, e rss_excerpt_length: queste sono righe inserite lecitamente da WordPRess!

Pharma Hack in funzione – ecco cosa accade

L’hacker ha le chiavi del nostro sito; ha piazzato il suo bel codice; ora è pronto per mettere in moto il meccanismo, cosa che potrebbe effettuare a suo comodo anche a distanza di mesi dall’infezione.

Quando l’hack viene messo in funzione, si attuano due fasi:

1) Il codice identifica la pagine più autorevoli

Per fare questo invia a Google una query del tipo “link:<dominio>” la quale torna siti web contenenti un link al tuo <dominio>. Un’osservazione doverosa: l’operatore link torna risultati assolutamente superficiali ma più che sufficienti all’hacker per individuare le pagine dove concentrarsi.

2) Il codice modifica tali pagine

Affinché -ATTENZIONE- mostrino all’utente la pagina di sempre MENTRE AL MOTORE DI RICERCA mostrino il contenuto spam con rispettivi links. Questo passo è importantissimo ai fini dell’attacco perché da un lato rende difficile per il proprietario del sito (e i suoi utenti) scoprire che si è infetti e dall’altro fornisce a Google i dati fuorvianti necessari per spingere il sito del pirata in alto nelle SERPs. Questa tecnica “black hat” prende il nome di cloaking.

E’ venuto il nostro momento

Ed eccoci ai giorni nostri: tu e i tuoi utenti vedete il sito come al solito. Ma Google vede tutta un’altra storia e questo lo sai bene perché cercando il tuo dominio su Google la pagina dei risultati ti mostra i contenuti salvati da Google stesso.

Che cosa fare? Vediamolo nel prossimo capitolo.

Come rimediare al Pharma Hack

0) Backup del sito e del database

Oh ragazzi lo so! E’ scontato ma è sempre bene ribadirlo. Backup di database e files dovrebbe essere una pratica periodica tanto più serrata quanto frequente l’aggiornamento del sito. Si va da backup annuali per siti statici con poche pagine fino a backup giornalieri per portali.

Oltre a quanto detto, il backup si rende necessario SEMPRE prima di ogni modifica di media-grande rilevanza al sito (senza contare che spesso anche un piccolo click può metterci in ginocchio) esattamente come quelle che ci apprestiamo ad effettuare nel seguito.

Per cui: SALVA TUTTO, ADERISCI ANCHE TU ALLA CAMPAGNA CONTRO IL “TE LO AVEVO DETTO”!

1) Chiudiamo fuori l’hacker

Come prima cosa dobbiamo impedire che il pirata possa accedere al sito mentre lo stiamo curando. Ci tengo a sottolineare l’importanza di cambiare dati d’accesso ALL’INIZIO E ALLA FINE del processo di cura ED ANCHE se scopriamo che alcuni files sono stati modificati da altri durante il processo stesso. Per fare questo agiremo così:

  1. Eliminiamo più utenti possibile. in seguito, ad acque calme, potremo ricreare gli utenti, prestando magari attenzione ad offrire questo privilegio solo a chi accede da computer puliti e ben protetti.
  2. Se stiamo ancora lavorando con l’admin creato originariamente da WordPress, creiamo un altro utente admin, logghiamoci con quest’ultimo e cancelliamo il primo (WordPress ci chiederà cosa fare dei post scritti dall’utente uscente: gli diremo di riassociarli al nuovo utente – pena la perdita totale di questi contenuti!).
  3. Cambiamo password alle nostre proprietà: pannello di amministrazione, spazio web, database.
  4. Ricordiamoci di settare i nuovi dati relativi al database nel file wp-config.php.

2) Ripuliamo il file system

Come detto sopra, la prima parte da ripulire è lo spazio web inteso come l’insieme dei files in esso contenuti.

Qui possiamo effettuare una ricerca automatica anche se sarebbe auspicabile fare un “giretto” a mano per due motivi: 1) Possiamo effettuare una ricerca automatica solo usando stringhe a noi note (vedi lista files infetti soprastante) ma l’hacker potrebbe aver variato tali nomenclature! 2) Una valutazione manuale, benché lunga e faticosa, ci regala una consapevolezza importante sul nostro spazio web utile al nostro sviluppo come programmatori che alla conoscenza della nostra proprietà.

Ricerca dei files

Procediamo alla ricerca di files sospetti, magari partendo da là dove sarà più probabile trovarli:

  • Cartella plugin akismet
  • Cartelle plugins varie
  • Cartella del tema
  • Altre cartelle di WordPress

Sempre tenendo a mente che questi siano stati modificati, possiamo concentrare la nostra attenzione su file contenenti stringhe simili a:

  • files dal nome palesemente casuale
  • icon_smile_old.php.xl
  • wp-db-class.php
  • wp-img.php
  • combinazioni del tipo *cache*.php; *bak*.php; *old*.php; *class*.php; *db*.php;

Niente ci vieta di cercare questi files usando una funzione “cerca” a nostra disposizione, magari usando caratteri jolly: *old*, *cache*, ecc.

Ogni volta che troveremo questi files procederemo a spostarli in una cartella temporanea. E’ preferibile infatti non cancellarli allo scopo di studiarli e di averli con sé per eventuali verifiche future qualora venissimo attaccati nuovamente.

Cancelliamo plugins e temi non utilizzati

Qui inclusi anche plugin “carini” ma non essenziali e temi oltre a quello utilizzato e un tema a scelta tra quelli predefiniti di WordPress (che potrebbe tornarci utile per fare dei test).

Nota per il futuro: ogni plugin POTREBBE diventare un problema in termini di sicurezza, performance e – non di meno – ordine mentale; per questo motivo avere un numero di plugin ridotto all’osso è buona norma. Prima di installare un qualsiasi plugin chiediamoci se ve ne sia veramente bisogno e soprattutto se offrirà un valore aggiuntivo all’utente; una riflessione sincera potrebbe rivelarci che in fondo quello che conta sono i contenuti e non i vari slideshow e gallerie fotografiche ad attrarre l’utente!

Stessa sorte tocca ai temi che non stiamo utilizzando, tanto più se questi siano gratuiti o scaricati per vie traverse (contengono malware con molta probabilità).

NOTA: conviene cancellare i files inutili DOPO la pulizia del file system per non privarci dell’opportunità di scoprire da dove sia partita l’infezione.

3) Pulizia del database

Passiamo ora a valutare lo stato del database.

Qui andremo ad indagare, come sopra indicato, la tabella wp_options dove cercheremo righe aventi option_name simile a wp_check_hash, class_generic_support, widget_generic_support, ftp_credentials, fwp, rss_<caratteri strani>. Come sopra citato ricordo che le righe denominate rss_language, rss_use_excerpt, e rss_excerpt_length sono sane e non vanno toccate!

Per effettuare questa ricerca possiamo usare la funzione cerca del nostro database qualora avessimo installato un gestore tipo phpMyAdmin; potremmo scrivere una query del tipo SELECT * FROM wp_options WHERE option_name LIKE ‘%<stringa-sospetta>%’; potremmo esportare il database, aprire il rispettivo file .sql e cercare qui dentro le stringhe.

Come sempre, non sottovalutiamo uno sguardo alla vecchia maniera – il pirata potrebbe aver cambiato modificato qualche parametro del suo approccio per rendere tutte le nostre ricerche inutili!

Una volta trovati questi records, eliminiamoli senza pietà.

4) Ricambiamo tutte le password

Come detto sopra, questo passo non va sottovalutato.

5) Rafforziamo la sicurezza del nostro sito WordPress

Qui si potrebbe scrivere un libro a parte. Per brevità mi limiterò a menzionare alcuni accorgimenti importanti lasciandoti il “divertimento” di approfondire.

Accorgimenti in generale

Nel corso dell’articolo sono venuti fuori svariati accorgimenti utili che puoi attuare: usa password a prova di bomba destinate solo al login in WordPress; crea un nuovo utente admin e cancella l’originario; riduci al minimo il numero degli utenti; cancella plugins e temi inutilizzati; usa i plugins con parsimonia; tieni tutto sempre aggiornato.

A questi aggiungo un’osservazione che forse ti sarà utile per il tuo prossimo progetto WordPress: cambia il prefisso delle tabelle che WP andrà a creare nel database. Solitamente questo prefisso è wp_ e questa sistematicità è di per sè una vulnerabilità sfruttabile dall’hacker che deve programmare il suo software “malefico”. Puoi inserire le iniziali del tuo progetto (esempio: miositodiscarpe.com userà un prefisso come msds_) oppure wp_ seguito da alcuni caratteri casuali (esempio: wp_6dk2_). In questo modo renderai difficile la vita all’hacker che sperava di trovare nomi di tabelle specifiche nel database.

Installazione e configurazione del iThemes Security

Nel corso degli anni ho individuato il plugin iThemes Security (una volta conosciuto come Better WP Security) come il plugin migliore per gestire la sicurezza in WordPRess. Una volta installato occorrerà però configurarlo a dovere – ecco una lista di configurazioni che ti consiglio:

  • Brute force protection – contro i tentativi meccanizzati per scoprire i tuoi dati di accesso
  • Backup del database – casomai il tuo provider non ti fornisca questa funzionalità
  • Hide login area – in questo modo nessuno potrà accedere alla tua area riservata tramite all’indirizzo preimpostato da WordPress che è /wp-admin. Potrai stabilire tu stesso una dicitura alternativa che può essere di fantasia come /entraqui, /areagestione, ecc
  • Strong password – forzerai gli utenti ad usare una password molto forte.
  • Remove WordPress Generator Meta Tag – Rimuove il tag <meta name=”generator” content=”WordPress [version]” /> dall’header del tuo sito. Molto utile contro quegli attacchi che si basano su una specifica versione di WP o che hanno bisogno di conoscere la versione da te installata.
  • Reduce Comment Spam – Opzione laterale rispetto la sicurezza ma pur sempre importante. Oltretutto così puoi fare a meno di installare un altro plugin per limitare lo spam (ad esempio Akismet).
  • Disable login error messages – Quando un utente sbaglia credenziali, WordPress lo informa dell’errore dandogli probabilmente troppe indicazioni. Gli rivela infatti se è sbagliata la password o lo username. Questi sono indiizi importanti per un malintenzionato che ci guarderemo bene dal diffondere!
  • Force Unique Nickname – Avere un nickname di accesso uguale al nome (che compare al pubblico) non è una buona cosa! Praticamente regaliamo metà del nostro accesso ai pirati.

Attenzione: Non attivare la funzione 404 detection

Questa funzione è molto utile per la sicurezza di un sito poiché bloccherà tutti gli IP Address che tenteranno richieste ripetute a pagine inesistenti in brevi tempi (ucci ucci sento puzza di malwerucci…).

Questo comportamento però non aiuta il recupero dall’attacco Pharma Hack il quale ha bisogno (lo vedremo nella prossima sezione) proprio di tornare pagine 404 per specifiche richieste di Google.

Ergo: non attivare questa funzione finché la SERP non è tornata in forma!

6) Favoriamo la pulizia dei risultati di Google

Dico “favoriamo la pulzia” e non direttamente “puliamo” perché chiaramente la SERP di Google è affare di Google e noi possiamo solo limitarci a fare del nostro meglio per indurre il motore a rivalutare determinati aspetti della nostra indicizzazione. Ecco come.

Re-invio all’indice delle pagine curate

Hai presente quelle pagine che nella pagina dei risultati di Google erano alterate ma cliccandoci presentavano contenuto normale?

Bene, queste pagine, dopo la pulizia, dovrebbero essere tornate a posto. Per verificare usa “Visualizza come Google” ed accertati che la versione vista da Google sia la stessa di quella vista dall’utente.

Ciò fatto, procedi a recuperare la pagina ed inviarla all’indice effettuando lo stesso anche per le altre pagine. Può essere un lavoro ingrato soprattutto quando le pagine sono molte, ma non c’è altro modo.

Rimozione delle pagine TOTALMENTE infette

In altri casi o addirittura in altri tipi di attacchi l’hacker potrebbe aver creato innumerevoli pagine con contenuto alterato. Queste si differenziano da quelle precedenti perché non si avvalgono di cloaking (Google e utente vedono la stessa cosa).

Tali pagine vanno cancellate chiaramente da WordPress e poi dall’indice di Google. Per fare questo puoi avvalerti del tool di rimozione URL messo a disposizione da Google.

ATTENZIONE: USARE CON CAUTELA! Una volta de-indicizzato un URL potrebbe essere molto difficile farlo digerire nuovamente da Google! Per cui assicurati che l’url sia corrispondente ad una pagina effettivamente infettata e rimossa dal tuo sito!

Rimozione di URL del tipo <url>/?viagra

In questo caso, dove chiaramente non puoi cancellare ne de-indicizzare le pagine infettate dal tuo sito web, devi ricorrere ad uno pezetto di codice PHP da inserire IN CIMA al tuo file functions.php:

Questo codice torna una risposta 404 (Not found) all’utente (e anche a Googlebot) che accederà agli URL infetti del tipo <url>/?<qualcosa>.

Questa pratica velocizzerà la de-indicizzazione dei risultati alterati.

Usa l’array $URL_INFETTI per definire gli URL che sono stati intaccati dall’attacco.

Altro?

Per qualsiasi cosa non esitare a lasciare un commento qui sotto!

Avrò piacere di risponderti quanto prima.

L'autore è Marco Panichi

Ti è piaciuto? Condividi!

Ricondividendo aiuterai altri utenti a scoprire un argomento interessante - non esitare!

Commenti

  • Sven

    guida….MOSTRUOSA! complimenti. dici di usare un 404 o un 410 (gone forever) per ripulire i risultait?

    • Complimentone…grazie! Non ho testato il 410 ma può essere una buona soluzione. Sicuramente il messaggio è più chiaro rispetto a “not found”.

  • federico

    io ho ripulito totalmente il sito e non trovo dove possano essere queste maledette pagine che ci sono ancora. in poche parole è stato creato un menu che si vede solo da mobile. e non sempre tra l’altro. con link a pagine di viagra. questi link portano ad un sito esterno ma se copi il link e lo incolli sul browser è a pagine interne che pare esistano ( con contenuti testo e immagini sul mio sito) ma fisicamente non esistono..ho guardato ovunque..da backend, via ftp , nel database via php my admin e tra l’altro ho anche messo la linea di codice in function ( tuo ultimo punto) ma nn mi da 404 ..le pagine le vedo ancora….. aiuto…

    • ciao Federico,

      attacchi di questo tipo hanno la prerogativa di attivarsi su target specifici: pagine (< magari le più trafficate), dispositivi, browsers. Questo per confondere ulteriormente le carte in tavola ma anche per raggiungere al meglio il proprio obiettivo senza smuovere troppo le acque e quindi attirare l'attenzione. Per cui "ci sta" che ti si presenti davanti una tale situazione.

      Le pagine non esistono ma esisterà sicuramente un script del tipo "se la pagina è richiesta da mobile nelle seguenti circostanze, allora restituisci questo contenuto".

      Detto questo, il mio consiglio è distogliere l'attenzione dal sintomo e concentrarti sulle cause, per cui smetti di capire quali pagine e perché e comincia invece ad attivare il processo di pulizia che ho illustrato nell'articolo. Ti consiglio questo perché per comprendere come funziona l'attacco dovresti perdere tanto tempo e questo non ti porta necessariamente alla soluzione.

      La linea di codice che io ti ho fornito è riferita ad un tipo di condizione, ossia se le tue pagine "cattive" vengono fornite in presenza di indirizzi del tipo "—-.com?cialis". Forse il tuo attacco è differente e devi modellare tali condizioni su di lui. Come detto più volte nell'articolo, devi comprendere l'atteggiamento dell'attacco e modellarti su di esso. Per fare questo servono capacità di programmazione non indifferenti.

      Se mi dai dati più specifici posso provare ad aiutarti. Se avrai pazienza di arrivare a lunedì possiamo fare mezzora su Skype (la prima mezzora con un contatto nuovo è sempre gratuita e senza alcun impegno) e magari risolvi. Se non risolvi posso farti un preventivo o farti una consulenza, o comunque guidarti nella scelta di un professionista che sappia aiutarti.

      Forza!!!

      Marco

      • federico

        Grazie per la Super Risposta…sei stato gentilissimo…
        Al momento pare che sono riuscito a risolvere eliminando ulteriori file e cartelle che erano “infetti” e adesso le pagine “pharma” non ci sono più e google non vede più il sito come potenzialmente dannoso…

        ad ogni modi ti terrò sicuramente in considerazione in un futuro per consulenze e altro perchè mi sembri molto preparato e professionale.

        Grazie ancora.

        Un saluto

        • Di niente Federico! Se penso a quanti aiuti ho ricevuto io dalla “comunità” mi sento in perenne debito. Vedrai che farai lo stesso a tuo tempo (se non lo stai già facendo). Bene per il buon esito delle tue operazioni.

          A presto e buon lavoro,

          Marco

  • prince of persia

    ho letto l’articolo indirzzato da un amico su facebook. ho cercato il mio sito con l’oepratore SITE come dici tu e è venuto fuori il finimondo!!!!!!!! sono due giorni che cerco di raccapezzarci qualcosa ma è dura. però non ho trovato niente di strano cercando nei file e nel mysql (ho fatto la ricerca per stringa). BRANCOLO NEL BUIO, AIUTO!!! come puoi aiutarmi? posso mandarti il link del sito per email? anche solo un aiutino mi farebbe comodo……..

    • salve Prince of Persia :D

      Innanzitutto calma e sangue freddo! Nella vita di tutti noi operatori del web viene il momento nel quale bisogna fronteggiare situazioni simili. E’ una grande occasione per imparare.

      Riguardo al fatto che non trovi niente cercando per stringa, purtroppo esistono tipi di hack che non si avvalgono di queste funzioni (vengo proprio ora da una discussione su un gruppo Facebook dove si parla di questo).

      Ti consiglio tre cose:

      1) Per identificare il malware, installa Sucuri Malware Scan. Non solo è gratuito ed effettua una scansione approfondita del tuo sito, ma anche registra i tentativi di login falliti (più molte altre funzioni).

      2) Per ripristinare il tuo sito, oltre ai consigli nell’articolo, puoi adottare questa strategia (a grandi linee): a) reinstalli WP, temi e plugin completamente puliti. b) reimporti il minimo possibile dal precedente sito A MANO e scandagliando tutto molto accuratamente. infine c) perfezioni il tutto. E’ dura lo so, ma alla fine può dimostrarsi l’unica alternativa. Parentesi: acquista un altro db, non lavorare su quello vecchio. E possibilmente costruisci il sito su un altro spazio web.

      3) Infine: sicurezza, sicurezza, sicurezza! Guarda i miei consigli a riguardo proprio su questo articolo. Parti dal tuo computer e metti tutto in sicurezza fino allo spazio web e mysql.

      Detto questo, puoi sempre mandarmi il link per email, posso farti un preventivo di spesa per la pulizia, oppure se preferisci una consulenza skype/telefono nella quale analizzeremo insieme il sito e ti darò indicazioni personalizzate per risolvere.

      Buon lavoro!

      Marco

  • Maurizio

    io uso Sucuri, dici che Ithemes è migliore?

    • salve Maurizio, ultimamente anche io sto usando Sucuri e devo dire che ha dei punti di vantaggio su iThemes, almeno come interfaccia e semplicità d’uso. Oltretutto Sucuri ha il suo malware scan al quale -ad intuito sia chiaro- mi sento di dare più fiducia rispetto a quello di iThemes (Sucuri è un caposaldo della sicurezza online).

      Però iThemes mantiene un vantaggio sulla profondità delle impostazioni secondo me e mi sento di consigliarlo a chi è più “smanettone”. Oltretutto mi sembra che riguardo all’ultima minaccia che incombe su WordPress (gli attacchi XMLRPC), iThemes ha la funzionalità per proteggersi mentre invece Sucuri ti rimanda “furbescamente” all’acquisto del suo Firewall a pagamento.

      Ultimamente li sto usando in contemporanea su alcuni siti e devo dire che tutto funziona molto bene, sia dal punto di vista della sicurezza che delle performance (che magari potevano risentire – invece niente, manco un frizzo)

  • Giuseppe De Angelis

    Salve, io ho avuto un attacco del genere, in pratica andando sul sito tramite i motori di ricerca si veniva rediretti verso pagine malevoli.
    Sono riuscito a ripulire questa situazione ma mi rimane il problema delle pagine come indicato nel suo articolo.
    Purtroppo, anche seguendo tutta la sua procedura non sono riuscito a risolvere, il falso link non ha il ‘?’ prima del nome della pagina e quindi anche inserendo la sua funzione nel functions.php non mi salva dal danno.
    Ha qualche suggerimento?
    Cordiali saluti.
    Giuseppe

    • buongiorno Giuseppe, ti chiedo perdono per la lunga attesa, ma posso dedicarmi ai commenti solo tempo permettendo. Da quello che mi dici ho impressione che non puoi usare la mia funzione direttamente, ma che tu debba in qualche modo adattarla. Immagino tu abbia link del tipo:

      /pagina-infetta-1
      /pagina-infetta-2
      /pagina-infetta-3

      ecc

      In questo caso la funzione serve a poco, invece occorre rimuovere:
      > la causa che genera tali pagine infette
      > le pagine generate
      > le pagine indicizzate nel motore di ricerca
      Quando dico “rimuovere” molto spesso si traduce con “ripristinare il sito da zero”, poiché è molto difficile se non impossibile rimuovere selettivamente le origini del malware

      Purtroppo i dati che mi hai dato sono molto pochi, ma se ne aggiungerai altri avrò piacere di aiutarti qui nei commenti, anche se con un pò di ritardo. Se invece hai necessità di un confronto possiamo fissare una consulenza (con 2-4 ore dovremmo risolvere tutto e avrai capacità di agire in futuro). Ulteriore soluzione, potrei procedere io alla sanificazione del sito ma mi pare di capire che hai possibilità/necessità di agire tu stesso sul codice.

      Attendo tue nuove e ti chiedo nuovamente scusa per il ritardo!

      Marco

  • Claus

    Buongiorno Marco, grazie per le spiegazioni.
    Io ho notato, dopo che il provider dell’hosting ha bloccato l’accesso al sito in quanto aveva rilevato sospetti invii di mail, che ci sono dei file .php con nomi strani (come gli esempi che hai citato).
    Avevo già provveduto a controllare manualmente ogni singola cartella e ad eliminare i file chiaramente malevoli. Google in effetti aveva riconosciuto l’opera di bonifica, eppure il problema si è ora ripresentato. Adesso riproverò applicando tutte i tuoi consigli, ma mi chiedevo…è possibile che il problema sia a livello di ftp, che in qualche modo l’hacker o chi per lui abbia trovato un modo di accedere al caricamento di file?

    • salve Claus, grazie a te del commento.

      La pulizia manuale non risolve nell’80% dei casi perché quelle cartelle che vai a togliere sono in realtà l’EFFETTO dell’attacco e non la sua origine. Per rimuovere l’origine ho dato spunti nell’articolo ma è chiaro che serve pazienza e un certo livello di competenza (non dico che tu non lo abbia per carità!).

      Ecco quindi che, non avendo rimosso l’origine dell’attacco (e l’eventuale backdoor dell’hacker), il problema si sia ripresentato come se niente fosse.

      La soluzione da attuare in questi casi è ricreare il sito da zero in nuovo ftp, db, wp, tema e plugins; re-importare gli articoli/pagine (magari manualmente con copia-incolla della versione Testo); re-importare i media; ecc. Infine, cambi tutte le password al ftp, db e backend e trasferisci il sito ripulito. E’ un lavoraccio lo so ma è l’unico modo :(

  • Burijot

    Ciao Marco ho da poco scoperto che un sito (che è stato hackerato con un sql injection di codice javascript) in pratica ha aggregato i miei contenuti (parziali) dai feed rss e soprattutto le immagini (facendo un hotlink) che ora appaiono al mio posto nelle serp di google, le quali sfruttano ovviamente la mia banda, ma se cliccate dalle Serp di google inviano al sito web compromesso che fa un redirect ad un link di affiliazione.
    Ora per proteggermi ho installato un plugin per evitare l’hotlink con tanto di copyright sulle immagini, però non riesco a farle sparire dalle serp o quantomeno reindirizzarle al mio sito, dalle serp di google.
    Ora provo a contattare l’hoster del sito compromesso chiedendo a loro se possono chiudere il sito spammoso.
    Ho ovviamente installato sucuri e ithemes ma entrambi non mi danno problemi (il mio errore è stato di aver lasciato abilitati i feed rss) ed ora i miei contenuti li sta sfruttando un altro che si avvale di un altro sito hackerato per fare i redirect.
    Cos’altro posso fare?

    • ciao Burijot, mi dispiace molto per l’accaduto! Sicuramente la prima cosa da fare è contattare il proprietario del sito. Nel fare questo non andarci “leggero” (con un’email ad esempio) ma attivati su canali tali da destare l’attenzione dell’interlocutore (lettera dell’avvocato, fax, raccomandata con ricevuta di ritorno). Il tutto sempre in maniera cortese e partecipativa (del resto il poveretto non sarà certamente a conoscenza della situazione).

      Poi l’altro consiglio che posso darti è di segnalare il contenuto a Google, che è molto molto attento a questioni di questo tipo (è come il cuoco del ristorante quando un cliente gli fa notare che c’è una mosca nel piatto…la metafora è calzante!). Puoi fare questo tramite la seguente pagina:
      https://www.google.com/webmasters/tools/spamreport

      Se poi vuoi effettuare una segnalazione più “pesante” dal punto di vista legale puoi segnalare sempre a Google che il tuo contenuto (sotto copyright) è stato di fatto rubato:
      https://www.google.com/webmasters/tools/dmca-notice?pli=1&amp;
      Nel fare questo attenzione, perché MI PARE DI CAPIRE (non ho esperienza diretta in merito) che, entrando in campo legale, l’altra parte può effettuare una contronotifica e magari dimostrare che sei tu ad avere torto e quindi a dover pagare eventuali “danni”. Attenzione!

      Infine ti indico anche il modulo per segnalare tali casi in Bing (anche li potresti essere presente, controlla!):
      https://www.bing.com/webmaster/tools/eu-privacy-request

      Fammi sapere come procede, ci tengo!

      Marco

      • Burijot

        Ciao Marco grazie per le informazioni, mi ero già attivato facendo la notifica a google e le varie segnalazioni antispam e DMCA. Inoltre ho contattato via email il proprietario del sito hackerato (che non ha risposto) così mi sono attivato con il whois, ed ho trovato dove era hostato. Ho spiegato alla compagnia di web hosting come il sito i nquestione fosse stato bucato e come si era appropriato di contenuti illeciti. Nel giro di poche ore lo hanno messo offline ed hanno risolto il problema. Devo ringraziarli perchè sono stati molto cortesi. In fin dei conti ospitare un sito bucato è un rischio ed una cattiva pubblicità anche per loro.
        Grazie

        • Felice che sia andato tutto a posto!!!
          Grazie a te per avermi dedicato tempo scrivendo il commento.
          Speriamo di risentirci, magari in situazioni meno dispiacevoli :)
          Marco

  • Geekalogique

    ma come si fa a capire quali files sono giusti e quali infetti? è impossibile!

    • ciao Geek, in effetti bisogna soppesare i casi. Generalizzando si può dire:
      CASO 1) sito enorme, buone-ottime capacità di programmazione = proviamo a debellare il virus files per files
      CASO 2) sito piccolo-medio, qualsiasi capacità di programmazione = conviene a reinstallare tutto wp
      Se ti trovi nel caso 1 non puoi che agire con molta cura e pazienza. Inoltre niente vieta che rafforzando la sicurezza di WordPress (vedi ultima parte del mio articolo) tu non riesca a chiudere l’accesso all’hacker anche senza aver ripulito completamente il sito (chiaramente però, finché rimane aperta la backdoor, lui potrà rientrare e fare il suo comodo)