The #ChromeDevSummit site is live, happening Nov 12-13 in San Francisco, CA
Check it out for details and request an invite. We'll be diving deep into modern web tech & looking ahead to the platform's future.

Come risolvere la compromissione con parole chiave e link con cloaking

Questa guida è stata creata specificamente per un tipo di compromissione, denominata "Compromissione con contenuti senza senso", che crea pagine con contenuti senza senso e numerose parole chiave. Pur essendo destinata agli utenti dei più diffusi sistemi di gestione dei contenuti, può risultare utile anche per chi non li utilizza.

Nota: non sei sicuro che il tuo sito sia stato compromesso? Leggi la nostra guida Come faccio a sapere se il mio sito è compromesso.

Sommario

Come identificare questo tipo di compromissione

La compromissione con parole chiave e link con cloaking crea automaticamente numerose pagine con testi privi di senso, link e immagini. Queste pagine talvolta contengono elementi di base inerenti al modello del sito di origine, perciò a prima vista potrebbero sembrare una normale pagina del sito, finché non se ne legge il contenuto.

Lo scopo delle pagine compromesse è manipolare i fattori di posizionamento utilizzati da Google. Spesso, gli hacker cercano di trarre un vantaggio economico vendendo i link contenuti nelle pagine compromesse a terze parti diverse. Le pagine compromesse, inoltre, reindirizzano i visitatori a una pagina non correlata, ad esempio un sito porno tramite il quale gli hacker possono guadagnare denaro.

Per verificare la presenza di questo problema, inizia utilizzando lo strumento Problemi di sicurezza di Search Console per controllare se Google ha riscontrato esempi di pagine compromesse sul tuo sito. A volte, per individuare questo genere di pagine, puoi aprire una finestra di Ricerca Google e digitare nella casella di ricerca site:[your site]. In questo modo vedrai le pagine che Google ha indicizzato per il tuo sito, incluse quelle compromesse. Dai un'occhiata ad alcune pagine dei risultati di ricerca per vedere se sono presenti URL insoliti. Se la Ricerca Google non mostra contenuti compromessi, prova a inserire gli stessi termini di ricerca in un motore di ricerca diverso. Altri motori potrebbero mostrare contenuti compromessi che Google ha invece rimosso dall'indice. Ecco un esempio dei risultati che potresti visualizzare.

Nota: come puoi notare, i risultati di ricerca riportati in questa figura contengono molte pagine che non sono state create dal proprietario del sito.Se osservi attentamente le descrizioni del secondo e del terzo risultato di ricerca, puoi vedere un esempio del testo senza senso creato da questo tipo di compromissione.

Quando visiti una pagina compromessa, potresti visualizzare un messaggio che indica che la pagina non esiste (ad esempio, un errore 404). Non farti ingannare. Gli hacker tentano di farti credere che il sito è stato pulito dall'infezione mostrando che le pagine compromesse non sono più disponibili o sono state corrette. A tale scopo effettuano il cloaking dei contenuti. Per verificare l'eventuale presenza del cloaking, inserisci gli URL del tuo sito nello strumento Visualizza come Google, che ti consente di vedere i contenuti sottostanti anche se sono nascosti. Ecco un esempio di come si può presentare una di queste pagine compromesse:

Come risolvere la compromissione

Prima di iniziare, crea una copia offline dei file da rimuovere, nel caso in cui fosse necessario ripristinarli in un secondo momento. Ancor meglio, esegui il backup dell'intero sito prima di iniziare la procedura di pulizia, salvando tutti i file presenti sul server in un percorso offline o individuando le migliori opzioni di backup per il tuo sistema specifico di gestione dei contenuti.

Controllare il file .htaccess (3 passaggi)

La compromissione con parole chiave e link con cloaking utilizza il file .htaccess per creare automaticamente pagine con cloaking sul tuo sito. Acquisire familiarità con le nozioni fondamentali relative ai file .htaccess, disponibili sul sito ufficiale Apache, può aiutarti a capire meglio in che modo la compromissione sta danneggiando il tuo sito, ma non è indispensabile.

Passaggio 1

Individua il file .htaccess sul tuo sito. Se non sai dove trovarlo e stai usando un sistema di gestione dei contenuti come WordPress, Joomla o Drupal, cerca "percorso file .htaccess" in un motore di ricerca, insieme al nome del tuo sistema di gestione dei contenuti. In base al tuo sito potresti notare diversi file .htaccess. Crea un elenco di tutti i percorsi dei file .htaccess.

Nota: spesso .htaccess è un "file nascosto". Quando esegui la ricerca, assicurati di aver attivato l'opzione che consente di visualizzare i file nascosti.

Passaggio 2

Apri il file .htaccess per vedere cosa contiene. Nel file dovresti riuscire a individuare una riga di codice simile alla seguente:

  RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]

Le variabili in questa riga possono variare, ad esempio sia "cj2fa" sia "tobeornottobe" possono contenere una combinazione qualsiasi di lettere o parole. L'importante è identificare il file .php a cui fa riferimento questa riga.

Prendi nota del file .php indicato nel file .htaccess. Nell'esempio, il file .php è denominato "injected_file.php", ma in realtà il nome non sarà tanto scontato. Di solito è un insieme casuale di parole innocue, come "horsekeys.php", "potatolake.php" e così via. È molto probabile che si tratti di un file .php dannoso, che dovremo trovare e rimuovere più avanti.

Non tutte le righe del file .htaccess che contengono RewriteRule e un file .php sono dannose. Se non sei sicuro dello scopo di una riga del codice, puoi farti aiutare dal gruppo di webmaster esperti dei forum di assistenza per i webmaster.

Passaggio 3

Sostituisci tutti i file .htaccess con una versione predefinita o non infetta del file .htaccess. Di solito, per trovare una versione predefinita del file .htaccess, puoi cercare "file .htaccess predefinito" insieme al nome del tuo sistema di gestione dei contenuti. Per i siti con diversi file .htaccess, individua una versione non infetta di ciascuno di essi e procedi con la sostituzione.

Se non esistono file .htaccess predefiniti e non hai mai configurato un file di questo genere sul tuo sito, il file .htaccess che trovi sarà probabilmente dannoso. Per precauzione, salva una copia offline del file .htaccess e quindi eliminalo dal tuo sito.

Individuare e rimuovere altri file dannosi (5 passaggi)

L'identificazione dei file dannosi può essere complicata e richiedere diverse ore. Prenditi tutto il tempo necessario per controllare i file. Se non l'hai ancora fatto, questo è il momento giusto per eseguire il backup dei file presenti sul tuo sito. Per trovare istruzioni su come eseguire il backup del sito, esegui una ricerca in Google con i termini "backup sito" e il nome del tuo sistema di gestione dei contenuti.

Passaggio 1

Se utilizzi un sistema di gestione dei contenuti, installa nuovamente tutti i file core (predefiniti) che vengono distribuiti per impostazione predefinita insieme al sistema, e tutti i componenti che hai aggiunto (ad esempio, temi, moduli, plug-in). Così avrai la certezza che in questi file non sono presenti contenuti compromessi. Per trovare istruzioni relative alla procedura di reinstallazione, puoi eseguire una ricerca in Google con il termine "reinstallazione" e il nome del tuo sistema di gestione dei contenuti. Se sono presenti plug-in, moduli, estensioni o temi, ricordati di reinstallare anche questi.

La reinstallazione dei file core può causare la perdita delle personalizzazioni eventualmente apportate. Prima di effettuare la reinstallazione, assicurati di aver eseguito il backup del database e di tutti i file.

Passaggio 2

Inizia cercando il file .php identificato in precedenza nel file .htaccess. A seconda delle modalità con cui puoi accedere ai file presenti sul server, dovrebbe essere disponibile qualche tipo di funzionalità di ricerca. Cerca il nome del file dannoso. Se lo trovi, crea per prima cosa una copia di backup e memorizzala in una posizione diversa, nel caso in cui fosse necessario ripristinarla, quindi elimina il file dal tuo sito.

Passaggio 3

Ora controlla se sono rimasti altri file compromessi o dannosi. Nei due passaggi precedenti potresti aver già rimosso tutti i file dannosi, ma è meglio svolgere anche i passaggi indicati di seguito, così da avere la certezza che non siano stati compromessi altri file del tuo sito.

Non farti spaventare dal pensiero di dover aprire ed esaminare tutti i file PHP. Per cominciare, crea un elenco dei file PHP sospetti che vorresti sottoporre ad accertamenti. Di seguito sono riportate alcune procedure che consentono di determinare quali file PHP sono sospetti:

  • Se hai già ricaricato tutti i file relativi al sistema di gestione dei contenuti, esamina solo quelli che non rientrano nelle cartelle o nei file predefiniti del sistema di gestione dei contenuti. Con questa operazione dovresti escludere buona parte dei file PHP e restare solo con pochi file da analizzare.
  • Ordina i file presenti sul sito in base alla data dell'ultima modifica. Cerca i file che sono stati modificati entro alcuni mesi dal momento in cui hai scoperto che il tuo sito era compromesso.
  • Ordina i file presenti sul sito in base alle dimensioni. Cerca i file di dimensioni insolitamente grandi.

Passaggio 4

Dopo aver creato un elenco dei file PHP sospetti, controlla se sono normali o dannosi. Se non hai dimestichezza con i file PHP, questa procedura potrebbe richiedere più tempo. Ti consigliamo quindi di dare una lettura alla documentazione relativa ai file PHP. Anche se è la primissima volta che hai a che fare con la codifica, puoi identificare i file sospetti cercando alcune sequenze di base.

Per prima cosa, scorri i file sospetti che hai già individuato per cercare grandi porzioni di testo con una serie di numeri e lettere combinati apparentemente alla rinfusa. Queste porzioni di testo sono precedute solitamente da una combinazione di funzioni PHP, come base64_decode, rot13, eval, strrev e gzinflate. Ecco un esempio di come si potrebbe presentare la porzione di codice. A volte questo codice è interamente compresso in una lunga riga di testo, che lo fa sembrare più piccolo di quanto non lo sia effettivamente.

<!--Hackers try to confuse webmasters by encoding malicious code into blocks of texts.
Be wary of unfamiliar code blocks like this.-->

base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));

Altre volte, invece, il codice non è una combinazione di lettere e numeri alla rinfusa e ha l'aspetto di uno script normale. Se non sei sicuro della pericolosità del codice, rivolgiti ai forum di assistenza per i webmaster, dove troverai un gruppo di webmaster esperti che ti aiuteranno a esaminare i file.

Passaggio 5

Ora che sai quali file sono sospetti, crea una copia di backup o una copia locale salvandola sul computer in uso, per non correre rischi nel caso in cui non fossero dannosi, ed elimina i file sospetti.

Verificare se il sito è pulito

Dopo aver eliminato i file compromessi, controlla se i tuoi sforzi sono stati ripagati. Ricordi le pagine con contenuti senza senso identificate in precedenza? Utilizza di nuovo lo strumento Visualizza come Google per vedere se esistono ancora. Se lo strumento restituisce "Non trovato", è probabile che il tuo sito goda di ottima salute.

Per controllare se sul tuo sito sono ancora presenti contenuti compromessi, puoi anche seguire la procedura descritta nello Strumento per la risoluzione dei problemi per siti compromessi.

Come faccio a evitare future compromissioni?

Correggere le vulnerabilità del tuo sito è l'ultimo passaggio indispensabile per la procedura di pulizia. Secondo un recente studio, il 20% dei siti compromessi subisce un nuovo attacco entro 1 giorno. È quindi utile sapere esattamente come è stato compromesso il tuo sito. Per iniziare gli accertamenti, leggi la guida Principali modalità di compromissione dei siti web da parte degli spammer. Tuttavia, se non riesci a scoprire come è stato compromesso il tuo sito, attieniti al seguente elenco di controllo, che indica quali misure puoi adottare per mitigare le vulnerabilità nel tuo sito:

  • Aggiorna regolarmente il sistema di gestione dei contenuti, i plug-in, le estensioni e i moduli: sperabilmente, hai già completato questo passaggio. Molti siti vengono compromessi perché eseguono software obsoleti. In alcuni sistemi di gestione dei contenuti è supportato l'aggiornamento automatico.
  • Esegui periodicamente la scansione del computer: utilizza uno dei più diffusi programmi antivirus per verificare la presenza di virus o vulnerabilità.
  • Modifica regolarmente le password: la modifica regolare delle password di tutti gli account associati al tuo sito web, come quelli del provider host, della piattaforma FTP e del sistema di gestione dei contenuti, può impedire l'accesso non autorizzato al tuo sito web. È importante creare una password univoca e complessa per ogni account.
  • Utilizza l'autenticazione a due fattori (2FA): prova ad attivare l'autenticazione a due fattori in tutti i servizi che richiedono l'accesso. L'autenticazione a due fattori complica l'accesso per gli hacker, anche se sono riusciti a rubarti la password.
  • Valuta la possibilità di attivare un abbonamento a un servizio di sicurezza che monitori il tuo sito: il mercato offre molti servizi eccellenti che possono monitorare il tuo sito in cambio di una modesta tariffa. Per mantenere sicuro il tuo sito, valuta se registrarti a tali servizi.

Altre risorse

Se continui ad avere problemi con la correzione del sito, sono disponibili altre risorse che potrebbero aiutarti.

Questi strumenti analizzano i siti e potrebbero riuscire a rilevare contenuti problematici. Google non li esegue e non li supporta, ad eccezione dello strumento VirusTotal.

Virus Total, Aw-snap.info, Sucuri Site Check, Quttera sono solo alcuni degli strumenti che potrebbero essere in grado di analizzare il sito per rilevare eventuali contenuti problematici. Tieni presente che questi strumenti di analisi non garantiscono l'identificazione di ogni tipo di contenuto problematico.

Ecco alcune risorse aggiuntive di Google che potrebbero essere utili:

Manca uno strumento che ritieni potrebbe essere utile? Lascia un feedback per comunicarcelo.