Este guia foi criado especificamente para um tipo de hack que adiciona páginas com palavras-chave ininteligíveis ao seu site, que chamamos de hack de palavras-chave e links ocultos. Ele foi escrito principalmente para usuários de sistemas de gerenciamento de conteúdo (CMSs) conhecidos. No entanto, se você não usa um CMS, este guia ainda pode ser útil.
Identificar o hack
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, de modo que, à primeira vista, elas parecem partes do site de destino, 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 as páginas abrindo a Pesquisa
Google e digitando site:_your site url_
, com o URL raiz do
seu site. Os resultados dessa pesquisa mostram as páginas que o Google indexou para
seu site, incluindo as páginas invadidas. Analise algumas páginas de resultados da pesquisa
para ver se você encontra URLs incomuns.
Se você 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 pode ficar:
![Resultados da pesquisa gerados por esse hack.](https://web.dev/static/articles/fix-the-cloaked-keywords-hack/image/search-results-generated.png?authuser=8&hl=pt)
Normalmente, quando você clica em um link para uma página invadida, é redirecionado para outro site ou vê 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 tentam fazer você pensar que a página foi removida ou corrigida quando ela ainda está 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.
![Exemplo de página criada por este hack.](https://web.dev/static/articles/fix-the-cloaked-keywords-hack/image/example-hacked-page.png?authuser=8&hl=pt)
Corrigir o hack
Antes de começar, faça backup de todo o site off-line. Isso garante que você possa restaurar os arquivos mais tarde, se necessário. Salve todos os arquivos que estão no seu servidor em um local fora dele.
Se você usa um sistema de gerenciamento de conteúdo (CMS), como WordPress ou Drupal, é possível usar um plug-in de backup para salvar seu site. Não se esqueça de fazer backup do seu banco de dados. Consulte a documentação do CMS para saber como fazer isso.
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. Procure a documentação do seu CMS para saber como fazer backup do 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 hackeado. Pesquise "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 função de pesquisa. Pesquise o nome de arquivo
malicioso. Se você encontrar, primeiro faça uma cópia de backup e armazene em outro
local para poder restaurar, depois 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 é importante confirmar se não há outros arquivos comprometidos no site.
Você pode se sentir sobrecarregado se achar que precisa abrir e analisar todos os arquivos PHP. Em vez disso, crie 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 apenas alguns para você 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, analise 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 bloco grande 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á incorreto, acesse a Comunidade de Ajuda da Central da Pesquisa Google, onde 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 seu site.
Verificar se o site está limpo
Depois de se livrar dos arquivos invadidos, verifique se seu trabalho valeu a pena. Lembra daquelas páginas sem sentido que você identificou antes? Use a ferramenta "Buscar como o Google" neles novamente para conferir se eles ainda existem. Se a resposta for "Not Found" no recurso "Extrair como o Google", provavelmente seu site está em boas condições e você pode continuar corrigindo as vulnerabilidades.
Como evitar ser invadido novamente?
A etapa final para evitar hacks futuros é corrigir as vulnerabilidades do seu site. Um estudo descobriu que 20% dos sites invadidos são invadidos novamente em um dia. É importante saber exatamente como o site foi invadido. Leia as principais formas de invasão de sites por spammers para começar a investigação.
Se você não conseguir descobrir como seu site foi invadido, siga esta lista de verificação para reduzir as vulnerabilidades:
- Verifique seu computador regularmente: use qualquer verificador de vírus conhecido para verificar se há vírus ou vulnerabilidades.
- Mudar as senhas regularmente: mudar as senhas regularmente em todas as contas do seu site, como o provedor de hospedagem, o FTP e o 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) ou configure uma chave de acesso: a 2FA e as chaves de acesso dificultam muito o login de hackers, mesmo que eles consigam roubar sua senha.
- Atualize regularmente o CMS, os plug-ins, as extensões e os módulos: muitos sites são invadidos porque usam softwares desatualizados. Alguns CMSs têm suporte à atualização automática.
- Considere assinar um serviço de segurança para monitorar seu site: há muitos serviços excelentes que podem ajudar 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 seu site, temos 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.
- Virus Total (em inglês)
- Aw-snap.info
- Sucuri Site Check (em inglês)
- Quttera
Esses verificadores não podem garantir que vão identificar todos os tipos de conteúdo problemático. Continue verificando a segurança do seu site regularmente.
Confira outros recursos que podem ajudar você: