Corrigir a invasão de palavras-chave e links com cloaking

Este guia foi criado especificamente para um tipo de hack que adiciona páginas de jibberish com muitas palavras-chave ao seu site, que chamamos de hack de palavras-chave e links ocultos. Ele foi criado para usuários de sistemas de gerenciamento de conteúdo (CMSs), mas você vai achar este guia útil mesmo se não usar um CMS.

Queremos garantir que este guia seja útil para você. Envie seu feedback para nos ajudar a melhorar.

Identificar esse tipo de invasão

A invasão de links e palavras-chave com cloaking cria automaticamente várias páginas com textos, links e imagens sem sentido. Essas páginas muitas vezes contêm elementos do modelo básico do site original. Por isso, à primeira vista, elas podem parecer partes normais do seu 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 tentam gerar receita com isso vendendo os links nas páginas invadidas para diferentes terceiros. Muitas vezes, as páginas invadidas também redirecionam os visitantes para uma página não relacionada, em que os hackers podem ganhar dinheiro.

Comece verificando a ferramenta Problemas de segurança no Search Console para saber se o Google detectou alguma dessas páginas invadidas no seu site. Às vezes, você também pode descobrir páginas como essa abrindo uma janela de pesquisa do Google e digitando site:_your site url_, com o URL raiz do seu site. Isso vai mostrar as páginas que o Google indexou para seu site, incluindo as páginas invadidas. Navegue por algumas páginas de resultados da pesquisa para identificar URLs incomuns. Se não encontrar conteúdo invadido na Pesquisa Google, use os mesmos termos de pesquisa com um mecanismo de pesquisa diferente. Confira um exemplo de como isso ficaria:

Resultados da pesquisa gerados por esse hack.
As páginas invadidas aparecem nos resultados da Pesquisa Google.

Normalmente, quando você clica em um link para uma página invadida, é redirecionado para outro site ou encontra uma página cheia de conteúdo sem sentido. No entanto, também pode aparecer uma mensagem sugerindo que a página não existe (por exemplo, um erro 404). Não se engane! Os hackers vão tentar fazer você pensar que a página foi removida ou corrigida quando ela ainda estiver invadida. Eles fazem isso ocultando o conteúdo. Para verificar se há cloaking, insira os URLs do seu site na Ferramenta de inspeção de URL. A ferramenta "Buscar como o Google" permite que você veja o conteúdo oculto.

Se você encontrar esses problemas, é provável que seu site tenha sido afetado por esse tipo de invasão.

Exemplo de página criada por este hack.
Exemplo de página criada com esse hack.

Corrigir o hack

Antes de começar, faça uma cópia off-line de todos os arquivos antes de removê-los, caso seja necessário restaurá-los mais tarde. Melhor ainda, faça backup de todo o site antes de iniciar o processo de limpeza. Para fazer isso, salve todos os arquivos que estão no servidor em um local externo ou procure as melhores opções de backup para seu sistema de gerenciamento de conteúdo (CMS). Se você estiver usando um CMS, faça backup do banco de dados.

Verificar o arquivo .htaccess (três etapas)

A invasão de links e palavras-chave com cloaking usa seu arquivo .htaccess para criar páginas com cloaking no seu site de forma automática. Familiarizar-se com os princípios básicos do .htaccess no site oficial do Apache pode ajudar a entender melhor como o hack está afetando seu site, mas não é obrigatório.

Etapa 1

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

Etapa 2

Abra o arquivo .htaccess para conferir o conteúdo. Procure 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. Tanto cj2fa quanto tobeornottobe podem ser qualquer combinação de letras ou palavras. O importante é identificar o .php que é referenciado nesta linha.

Anote o arquivo .php mencionado no arquivo .htaccess. No exemplo, o arquivo .php é chamado injected_file.php, mas, na realidade, o nome do arquivo não será tão óbvio. Geralmente, é um conjunto aleatório de palavras inofensivas, como horsekeys.php ou potatolake.php. É provável que seja um arquivo .php malicioso que precisa ser rastreado e removido mais tarde.

Etapa 3

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

Se não houver um .htaccess padrão e você nunca tiver configurado um arquivo .htaccess no seu site, o arquivo .htaccess encontrado provavelmente é malicioso. Salve uma cópia dos arquivos .htaccess off-line, por precaução, e no seu site.

Encontrar e remover outros arquivos maliciosos (cinco etapas)

Identificar arquivos maliciosos pode ser complicado e demorado. Não se apresse ao verificar seus arquivos. Se ainda não fez isso, é uma boa hora para fazer backup dos arquivos no seu site. Pesquise no Google "fazer backup do site" e o nome do seu CMS para encontrar instruções sobre como fazer backup do seu site.

Etapa 1

Se você usa 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ê adicionou, como temas, módulos e plug-ins. Isso ajuda a garantir que esses arquivos não tenham conteúdo invadido. Você pode fazer uma pesquisa no Google com a palavra "reinstalar" e o nome do seu CMS para encontrar instruções de reinstalação. Se você tiver plug-ins, módulos, extensões ou temas, reinstale-os também.

Etapa 2

Comece procurando o arquivo .php que você identificou no arquivo .htaccess. Dependendo de como você está acessando os arquivos no servidor, você precisa ter algum tipo de funcionalidade de pesquisa. Pesquise o nome de arquivo malicioso. Se você encontrar, primeiro faça um backup e armazene em outro local para restaurar, caso necessário, e exclua do seu site.

Etapa 3

Procure arquivos maliciosos ou comprometidos restantes. Talvez você já tenha removido todos os arquivos maliciosos nas duas etapas anteriores, mas é melhor seguir estas próximas etapas caso haja mais arquivos comprometidos no site.

Não se sinta sobrecarregado pensando que precisa abrir e analisar todos os arquivos PHP. Comece criando uma lista de arquivos PHP suspeitos que você quer investigar. Confira algumas maneiras de determinar quais arquivos PHP são suspeitos:

  • Se você já recarregou os arquivos do CMS, procure apenas os arquivos que não fazem parte dos arquivos ou pastas padrão do CMS. Isso deve excluir muitos arquivos PHP e deixar você com alguns arquivos para analisar.
  • Classifique os arquivos do site por data da última modificação. Procure arquivos que foram modificados alguns meses depois de você descobrir que seu site foi invadido.
  • Classifique os arquivos do site por tamanho. Procure os arquivos muito grandes.

Etapa 4

Depois de ter uma lista de arquivos PHP suspeitos, verifique se eles são maliciosos. Se você não conhece o PHP, esse processo pode levar mais tempo. Por isso, revise a documentação do PHP. Se você não tem experiência com programação, recomendamos procurar ajuda. Enquanto isso, existem alguns padrões básicos que você pode procurar para identificar arquivos maliciosos.

Se você usa um CMS e não tem o hábito de editar esses arquivos diretamente, compare os arquivos no seu servidor com uma lista dos arquivos padrão empacotados com o CMS e todos os plug-ins e temas. Procure arquivos que não pertencem a ele e arquivos maiores que a versão padrão.

Primeiro, verifique os arquivos suspeitos que você já identificou para procurar grandes blocos de texto com uma combinação de letras e números aparentemente misturados. O grande bloco de texto geralmente é precedido por uma combinação de funções do PHP, como base64_decode, rot13, eval, strrev ou gzinflate. Confira um exemplo de como esse bloco de código pode ficar. Às vezes, todo esse código é colocado em uma linha longa de texto, fazendo com que pareça menor do que realmente é.

// Hackers try to confuse webmasters by encoding malicious code into
// blocks of text. 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á misturado e parece um script normal. Se você não tiver certeza se o código está corrompido, acesse nossos Fóruns de Ajuda para webmasters, em que um grupo de webmasters experientes pode ajudar você a analisar os arquivos.

Etapa 5

Agora que você sabe quais arquivos são suspeitos, crie um backup ou uma cópia local salvando-os no computador, caso algum deles não seja malicioso, e exclua os arquivos suspeitos do site.

Verificar se o site está limpo

Depois de se livrar dos arquivos invadidos, verifique se seu trabalho valeu a pena. Lembra das páginas sem sentido que você identificou antes? Use a ferramenta "Buscar como o Google" neles novamente para saber se eles ainda existem. Se a resposta for "Not Found" no recurso Fazer o teste como o Google, provavelmente seu site está em boas condições e você pode continuar corrigindo as vulnerabilidades.

Como evitar ser invadido novamente?

Corrigir vulnerabilidades no seu site é uma etapa final essencial para corrigir o site. Um estudo recente descobriu que 20% dos sites invadidos são invadidos novamente em um dia. É importante saber exatamente como o site foi invadido. Leia nosso guia sobre as principais formas de invasão de sites por spammers para começar a investigação. No entanto, se você não conseguir descobrir como seu site foi invadido, confira a seguir uma lista de verificação com ações que você pode fazer para reduzir as vulnerabilidades no seu site:

  • Verifique seu computador regularmente:use qualquer verificador de vírus conhecido para verificar se há vírus ou vulnerabilidades.
  • Mude suas senhas regularmente:mudar as senhas de todas as contas do seu site, como provedor de hospedagem, FTP e CMS, pode impedir o acesso não autorizado ao site. É importante criar uma senha forte e exclusivo para cada conta.
  • Use a autenticação de dois fatores (2FA):ative a 2FA em qualquer serviço que exija login. A 2FA dificulta o login de hackers, mesmo que eles consigam roubar sua senha.
  • Atualize o CMS, os plug-ins, as extensões e os módulos regularmente:espero que você já tenha feito isso. Muitos sites são invadidos porque executam softwares desatualizados. Alguns CMSs são compatíveis com a atualização automática.
  • Considere assinar um serviço de segurança para monitorar seu site:há muitos serviços excelentes que podem ajudar você a monitorar seu site por uma pequena taxa. Recomendamos que você faça registro em um deles para manter o site seguro.

Outros recursos

Se você ainda tiver problemas para corrigir o site, há mais alguns recursos que podem ajudar.

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.

Estas são apenas algumas ferramentas que podem verificar seu site em busca de conteúdo problemático. Vale lembrar que esses verificadores não podem garantir que vão identificar todos os tipos de conteúdo problemático.

Veja outros recursos do Google que podem ajudar você: