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

Como resolver invasões com técnicas de cloaking e palavras-chave e links escondidos

Este guia foi criado especificamente para um tipo de invasão que adiciona páginas com conteúdo sem sentido e cheias de palavras-chave ao site, a qual chamamos de invasão com conteúdo sem sentido. Ele foi projetado para usuários dos Sistemas de gerenciamento de conteúdo mais conhecidos (CMS, na sigla em inglês), mas será útil mesmo se você não usar um CMS.

Observação: você não tem certeza se o site foi invadido? Comece com a leitura do guia sobre como verificar se o site foi invadido.

Índice

Como identificar esse tipo de invasão

A invasão de links e palavras-chave com cloaking cria automaticamente várias páginas com frases, links e imagens sem sentido. Às vezes, essas páginas contêm elementos do modelo básico do site original, de modo que, à primeira vista, elas parecem fazer parte do site, até você ler o conteúdo.

As páginas invadidas são criadas para manipular os fatores de classificação do Google. Os hackers muitas vezes tentarão gerar receita com a venda dos links nas páginas invadidas para terceiros. Geralmente, as páginas invadidas também redirecionarão os visitantes para uma página não relacionada, como um site pornográficos onde os hackers podem ganhar dinheiro.

Para verificar esse problema, comece usando a ferramenta Problemas de segurança no Search Console para ver se o Google descobriu algum exemplo dessas páginas invadidas no seu site. Às vezes, também é possível descobrir páginas como essa abrindo uma janela da Pesquisa Google e digitando site:[your site]. Isso mostrará as páginas do seu site que o Google indexou, incluindo as páginas invadidas. Confira algumas páginas dos resultados da pesquisa para ver se você consegue identificar URLs incomuns. Caso não encontre conteúdo invadido na Pesquisa Google, tente usar os mesmos termos de pesquisa em um mecanismo de pesquisa diferente. Outros mecanismos de pesquisa podem mostrar conteúdos invadidos que o Google removeu do índice. Veja abaixo um exemplo disso.

Observação: os resultados da pesquisa contêm várias páginas que não foram criadas pelo proprietário do site.Se você ler com atenção as descrições do segundo e do terceiro resultado da pesquisa, verá exemplos do texto sem sentido criados por essa invasão.

Ao visitar uma página invadida, talvez encontre uma mensagem informando que a página não existe (por exemplo, um erro 404). Não se deixe enganar! Os hackers tentarão fazer com que você acredite que as páginas invadidas saíram do ar ou foram corrigidas. Eles fazem isso com técnicas de cloaking de conteúdo. Verifique se há técnicas de cloaking inserindo os URLs do site na ferramenta Fetch as Google. Com a ferramenta Fetch as Google, você pode ver o conteúdo escondido subjacente. Veja abaixo um exemplo da aparência desse tipo de página invadida.

Como corrigir a invasão

Faça uma cópia off-line dos arquivos antes de removê-los, caso precise restaurá-los mais tarde. Ou, então, faça backup do site inteiro antes de iniciar o processo de limpeza. É possível fazer isso salvando todos os arquivos que estão no seu servidor para um local fora dele ou procurando as melhores opções de backup para seu CMS específico.

Verificar o arquivo .htaccess (3 etapas)

A invasão de links e palavras-chave com cloaking usam o arquivo .htaccess para criar automaticamente páginas com cloaking no site. Conhecer os princípios básicos do .htaccess no site oficial do Apache pode ajudar você a entender melhor como a invasão afeta seu site (mas não é uma exigência).

Etapa 1

Localize o arquivo .htaccess no site. Se você não tiver certeza de onde encontrá-lo e estiver usando um CMS, como WordPress, Joomla ou Drupal, pesquise "local do arquivo .htaccess" em um mecanismo de pesquisa junto com o nome do CMS. Dependendo do site, você encontrará vários arquivos .htaccess. Faça uma lista com todos os locais dos arquivos .htaccess.

Observação: muitas vezes, o .htaccess é um "arquivo oculto". Ative a exibição de arquivos ocultos ao procurar por ele.

Etapa 2

Abra o arquivo .htaccess para visualizar o conteúdo dele. No arquivo, encontre uma linha de código semelhante a esta:

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

As variáveis nessa linha podem ser diferentes. As sequências "cj2fa" e "tobeornottobe" podem ser uma mistura de letras ou palavras. O mais importante é identificar o .php ao qual essa linha faz referência.

Anote o arquivo .php mencionado no arquivo .htaccess. No exemplo, o arquivo .php se chama "injected_file.php", mas, na realidade, o nome do arquivo .php não será tão óbvio. Geralmente, ele é um conjunto aleatório de palavras sem sentido, como "horsekeys.php" ou "potatolake.php". Há uma grande chance de que esse seja um arquivo .php malicioso que precisaremos rastrear e remover mais tarde.

Nem todas as linhas com "RewriteRule" e um arquivo .php no .htaccess são maliciosas. Se você não tiver certeza da função de uma linha de código, peça ajuda a um grupo de webmasters experientes nos Fóruns de Ajuda para webmasters.

Etapa 3

Substitua todos os arquivos .htaccess por uma versão limpa ou padrão. Normalmente, é possível encontrar uma versão padrão do arquivo .htaccess pesquisando por "arquivo .htaccess padrão" e o nome do CMS. Para sites com vários arquivos .htaccess, encontre a versão limpa de cada um deles e faça a substituição.

Se não houver um .htaccess padrão e você nunca tiver configurado um arquivo .htaccess no site, o arquivo .htaccess que você encontrar no site provavelmente será malicioso. Por segurança, salve uma cópia off-line dos arquivos .htaccess e exclua-os do site.

Localizar e remover outros arquivos maliciosos (5 etapas)

Identificar arquivos maliciosos pode ser complicado e demorar várias horas. Leve o tempo que precisar para verificar os arquivos. Este é um bom momento para fazer backup dos arquivos do site, caso ainda não o tenha feito. Pesquise no Google "backup de site" e o nome do CMS para encontrar instruções sobre como fazer isso.

Etapa 1

Se você usar um CMS, reinstale todos os arquivos principais (padrão) que vêm na distribuição padrão do CMS, além de tudo o que você tiver adicionado (como temas, módulos e plug-ins). Isso ajuda a garantir que esses arquivos não tenham conteúdo invadido. Pesquise no Google "reinstalar" e o nome do CMS para encontrar instruções sobre o processo de reinstalação. Se você tiver plug-ins, módulos, extensões ou temas, reinstale-os também.

A reinstalação dos arquivos principais pode fazer com que você perca as personalizações feitas. Faça backup do seu banco de dados e de todos os arquivos antes da reinstalação.

Etapa 2

Comece procurando o arquivo .php identificado anteriormente no arquivo .htaccess. Dependendo de como você acessa os arquivos no seu servidor, deve haver algum tipo de funcionalidade de pesquisa. Pesquise o nome do arquivo malicioso. Se você o encontrar, faça uma cópia de backup e armazene-a em outro local, caso seja necessário restaurá-lo, e depois exclua o arquivo do site.

Etapa 3

Procure por outros arquivos maliciosos ou comprometidos. Todos os arquivos maliciosos podem já ter sido removidos nas duas etapas anteriores, mas é melhor seguir estas próximas etapas caso haja mais arquivos comprometidos no site.

Não se preocupe achando que vai precisar abrir e examinar todos os arquivos PHP. Comece criando uma lista de arquivos PHP suspeitos que você quer investigar. Veja algumas maneiras de determinar quais arquivos PHP são suspeitos:

  • Se você já atualizou os arquivos do CMS, verifique somente os arquivos que não fazem parte dos arquivos ou pastas padrão do CMS. Isso eliminará um grande número de arquivos PHP e deixará você com menos arquivos a serem examinados.
  • Classifique os arquivos do site por data da última modificação. Procure arquivos que foram modificados nos meses anteriores ao momento em que você descobriu pela primeira vez que o site foi invadido.
  • Classifique os arquivos do site por tamanho. Procure os arquivos muito grandes.

Etapa 4

Depois de fazer uma lista de arquivos PHP suspeitos, verifique se eles são normais ou maliciosos. Se você não estiver familiarizado com PHP, esse processo pode ser mais demorado. Por isso, recomendamos consultar a documentação sobre PHP. Contudo, mesmo que você seja totalmente leigo em codificação, existem alguns padrões básicos que você pode procurar para identificar arquivos maliciosos.

Primeiro, analise os arquivos suspeitos já identificados para procurar blocos grandes de texto com uma combinação de letras e números aparentemente sem sentido. Em geral, o bloco grande de texto é precedido por uma combinação de funções PHP como base64_decode, rot13, eval, strrev, gzinflate. Veja abaixo um exemplo desse bloco de código. Muitas vezes, todo esse código está em uma linha longa de texto, o que faz com que ele pareça menor do que realmente é:

<!--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"));

Às vezes, o código não está desorganizado e parece um script normal. Caso você não tenha certeza se o código está ou não corrompido, acesse os Fóruns de Ajuda para webmasters, onde um grupo de webmasters experientes poderá ajudá-lo a examinar os arquivos.

Etapa 5

Agora que você sabe quais arquivos são suspeitos, crie um backup ou uma cópia local e salve os dados no seu computador, no caso de os arquivos não serem maliciosos, e exclua os arquivos suspeitos.

Verificar se o site está limpo

Depois de remover os arquivos invadidos, verifique se o trabalho valeu a pena. Você lembra das páginas sem sentido identificadas anteriormente? Use a ferramenta Fetch as Google novamente para ver se elas ainda existem. Se a resposta do Fetch as Google for "Não encontrado", será provável que o site esteja em boas condições, e você poderá começar a corrigir as vulnerabilidades nele.

Também é possível seguir as etapas no Solucionador de problemas para sites invadidos para verificar se ainda há conteúdo invadido no site.

Como evitar ser invadido novamente?

A correção de vulnerabilidades é uma etapa final essencial para a correção do site. Um estudo recente descobriu que 20% dos sites invadidos são invadidos novamente dentro de um dia. É importante saber exatamente como o site foi invadido. Leia o guia Formas mais comuns de invasão de websites por criadores de spam para começar sua investigação. No entanto, se você não conseguir descobrir como seu site foi invadido, veja abaixo uma lista de verificação de medidas que você pode tomar para reduzir as vulnerabilidades do site.

  • Atualize regularmente o CMS, plug-ins, extensões e módulos: se tudo estiver certo, você já deve ter feito esta etapa. Muitos sites são invadidos por causa de um software desatualizado sendo executado no site. Alguns CMSs são compatíveis com a atualização automática.
  • Faça uma varredura regularmente no seu computador: use um programa antivírus confiável para verificar a presença de vírus ou vulnerabilidades.
  • Troque suas senhas regularmente: trocar regularmente as senhas de todas as contas do seu website, como a senha do provedor de hospedagem, do FTP e do CMS, pode impedir o acesso não autorizado ao site. É importante criar uma senha forte e exclusiva para cada conta.
  • Use a autenticação de dois fatores (2FA): recomendamos a ativação da 2FA em todos os serviços que exijam login. A 2FA dificulta o login de hackers, mesmo que eles roubem sua senha.
  • Considere se inscrever em um serviço de segurança para monitorar o site: há muitos serviços excelentes que podem ajudar você no monitoramento do site por uma pequena taxa. Recomendamos que você faça registro em um deles para manter o site seguro.

Outros recursos

Se você ainda estiver com problemas para corrigir o site, há mais alguns recursos que podem ajudá-lo.

Estas ferramentas fazem a varredura do site e podem encontrar conteúdos problemáticos. O Google não desenvolve nem oferece suporte para elas, a não ser a VirusTotal.

Virus Total, Aw-snap.info, Sucuri Site Check, Quttera: são algumas ferramentas que podem fazer a varredura do site em busca de conteúdos problemáticos. Esses scanners não garantem a identificação de todos os tipos de conteúdo problemático.

Veja outros recursos do Google que podem ajudar você:

Não encontra nenhuma ferramenta que pode ser útil? Dê seu feedback e nos avise.