Missed the action at the 2018 Chrome Dev Summit? Catch up with our playlist on the Google Chrome Developers channel on YouTube. Watch now.

Compromissione con malware

Questo passaggio riguarda i siti compromessi allo scopo di distribuire malware, spesso mostrati nei risultati di ricerca insieme all'avviso "Questo sito potrebbe danneggiare il tuo computer". Si tratta di uno dei passaggi più lunghi del processo di ripristino e consiste nel compilare un elenco dei file danneggiati del tuo sito. Questo elenco verrà poi utilizzato in un passaggio successivo, Ripulisci e gestisci il sito.

Se nel tuo sito è stato inserito spam e non malware e nei risultati di ricerca viene mostrato l'avviso "Il sito potrebbe essere compromesso", consulta la pagina Valuta il danno (spam).

Requisiti:

  • Accesso come amministratore di shell/terminale ai server del sito: Web, database, file.
  • Conoscenza dei comandi di shell/terminale.
  • Possibilità di eseguire query SQL nel database.

Operazioni da eseguire:

Preparazione

  1. Evita di utilizzare un browser per visualizzare le pagine del tuo sito. Poiché il malware si diffonde spesso sfruttando le vulnerabilità del browser, l'apertura di una pagina di malware infetta in un browser potrebbe danneggiare il computer.
  2. Crea un documento in cui registrare le informazioni ricavate con questo passaggio. Il documento alla fine comprenderà (come minimo) il nome/percorso di ogni file danneggiato e note su come è stato infettato; servirà inoltre come base per il passaggio Ripulisci e gestisci il sito.
  3. Se necessario, controlla altre risorse:
    • Guarda il video riportato sopra per comprendere come funziona il malware e come mantenere la sicurezza durante la relativa indagine.
    • Visualizza la pagina di diagnostica Navigazione sicura di Google per informazioni pubbliche sul potenziale danno per gli utenti derivante dal sito. Puoi visualizzare lo stato dell'elenco del tuo sito in un URL simile al seguente:
      http://www.google.com/safebrowsing/diagnostic?site=<your-site>
      Ad esempio: http://www.google.com/safebrowsing/diagnostic?site=webmastercentralblog.blogspot.com
  4. Utilizza cURL o Wget per eseguire richieste HTTP (ad esempio, per recuperare una pagina).

    Questi strumenti disponibili gratuitamente sono utili nella diagnosi dei reindirizzamenti e dispongono della flessibilità necessaria per includere le informazioni sui referrer o sullo user-agent. L'inserimento di un referrer o di uno user-agent specifico è utile per simulare gli hacker, poiché questi ultimi possono solamente pubblicare contenuti dannosi per gli utenti con user-agent o referrer specifici, allo scopo di raggiungere un numero maggiore di "utenti reali" evitando il rilevamento da parte dei proprietari dei siti e degli scanner di malware.

    $curl -v --referer "http://www.google.com" <your-url>

Indagine su specifici tipi di infezione da malware nel tuo sito

  1. Seleziona il tuo sito verificato in Search Console, quindi fai clic su Problemi di sicurezza.
  2. Esamina tutte le categorie di malware (ad esempio, la configurazione del server, l'iniezione SQL) elencate in Problemi di sicurezza del tuo sito. Puoi trovare ulteriori informazioni sugli URL infetti della categoria facendo clic su "Mostra dettagli". I dettagli possono includere esempi di snippet di codice inseriti dall'hacker. Per ogni categoria, copia nel documento di indagine:
    • Tutti gli URL infetti d'esempio elencati per categoria di malware in Problemi di sicurezza.
    • Eventuali altre pagine compromesse individuate durante l'indagine.
    • Risultati dettagliati sugli URL infetti, come il tipo di danno causato.
  3. Le informazioni per agevolare le indagini per ogni tipo di malware sono elencate di seguito:

Valutazione del danno al file system

A questo punto, devi accedere al file system del tuo sito per approfondire l'indagine. Tra le altre cose, tieni presente che l'hacker potrebbe aver modificato le pagine o i record di database esistenti, creato pagine contenenti spam completamente nuove, scritto funzioni per la visualizzazione di spam in pagine pulite o lasciato "ingressi secondari" che gli permetteranno di entrare di nuovo nel sito o che continueranno a eseguire attività dannose a meno che non vengano eliminati.

Se il tuo sito è online, per questo passaggio puoi portarlo di nuovo offline.

  1. Se disponi di una copia di backup pulita del tuo sito, identifica i file che sono stati creati o modificati dopo il backup. Aggiungi questi file al tuo elenco perché, probabilmente, vorrai eseguire ulteriori indagini. Nei sistemi basati su Unix puoi utilizzare un comando come:
    $ diff -qr <current-directory> <backup-directory>
    Ad esempio:
    $ diff -qr www/ backups/full-backup-20120124/
    così come
    $ md5sum <current-page> <backup-page>
    Ad esempio:
    $ md5sum www/page.html backups/full-backup-20120124/page.html
  2. Nei log del server, degli accessi e di errore cerca eventuali attività sospette quali, ad esempio, tentativi di accesso non riusciti, cronologia dei comandi (soprattutto come root), creazione di account utente sconosciuti e così via. Tieni presente che l'hacker potrebbe avere alterato questi log per i propri scopi. Se pensi che possa esserti utile, puoi trovare alcuni esempi nel video del passaggio Identifica la vulnerabilità.
  3. Cerca nei file di configurazione quali, ad esempio, .htaccess e httpd.conf, eventuali reindirizzamenti. Gli hacker creano spesso reindirizzamenti condizionali in base allo user-agent, all'ora del giorno o al referrer.
  4. Controlla le autorizzazioni di cartelle e file troppo miti. Gli hacker manomettono le autorizzazioni perché, se le autorizzazioni troppo miti non vengono individuate dal proprietario del sito, l'hacker potrà entrare nuovamente nel sito. I file maggiori di 644 (rw-r--r--) e le cartelle superiori a 755 (rwxr-xr-x) possono causare problemi di sicurezza. Assicurati che le autorizzazioni più ampie siano davvero necessarie. Nei sistemi basati su Unix, prova con:
    $ find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;
    $ find <your-dir> -type f -not -perm 644 -exec ls -la {} \;
  5. Se disponi di un database, esamina record per record utilizzando uno strumento come phpMyAdmin.

Passaggio successivo

Procedi al passaggio Identifica la vulnerabilità.