O que fazer se infectado com spam de SEO no WordPress

Publicados: 2021-05-17

No Jetpack, lidar com diversos tipos de ameaças e ataques na web faz parte da nossa rotina. Na maioria das vezes, vai desde coletar um arquivo malicioso e encontrar o vetor de ataque, até fornecer assistência na restauração de um site a partir do backup mais recente. Mas às vezes entramos em uma dimensão diferente de ataques realmente criativos, uma dimensão de reinfecções inexplicáveis ​​– entramos… na zona do crepúsculo.

Ok, provavelmente estou sendo dramático demais, mas tenha paciência comigo enquanto preparo o cenário para esse conto de mistério. Preparar? Por favor, junte-se a mim nesta viagem ao reino dos fantasmas, spam e motores de busca.

O comportamento malicioso

Encontramos um site que estava sob um tipo de ataque muito interessante. Ele surgiu pela primeira vez como um e-mail enviado pelo Google Search Console: um URL incomum (e muito suspeito, com um URL clicável dentro) foi listado como uma página de maior crescimento.

Imagem mostrando spam inserido em um URL
As páginas que mais crescem na ferramenta do mecanismo de pesquisa do Google

O proprietário do site ficou um pouco chateado, pois esse comportamento geralmente é resultado de uma infecção, mas o Jetpack não detectou ou avisou sobre nada. Além disso, essas páginas nem existiam no site quando foram verificadas, mas estavam sendo indexadas pelo Google de qualquer maneira. A zona do crepúsculo se intensifica .

Conforme verificamos qualquer arquivo suspeito que o Jetpack Scan possa ter perdido (nenhuma ferramenta de segurança detecta 100% das ameaças), as coisas ficaram ainda mais estranhas. O WordPress Core e os plugins estavam intactos: nenhum arquivo ou script injetado no banco de dados. Alguns plugins desatualizados não tinham nenhuma correção de segurança, o WordPress estava uma versão atrás (5.6), e a atualização mais recente não listou nenhuma grande correção de segurança. Não havia nada de suspeito. Nenhum suspeito habitual, nenhuma evidência de ataques; ainda não, de qualquer maneira.

A próxima etapa lógica é verificar os logs de acesso. Talvez possa lançar alguma luz sobre este mistério. Descobriríamos que estamos enfrentando um ataque de dia zero, ou que finalmente encontramos uma prova para a teoria do multiverso, e este site está infectado apenas no Universo #1337? Para os registros!

Código para uma solicitação de spam
Um pedido para este estranho spam
Outra estranha solicitação de spam. Por que o Bing gosta?
Parece que o Bing também gosta... Mas por quê?

Como seria de esperar: nada de estranho, além de um monte de solicitações para essas páginas de spam, como você pode ver nas capturas de tela. E todos eles estavam retornando um `200 OK`. Então, a página existia em algum lugar no continuum de tempo e espaço, ou... espere um segundo... você a vê agora?

Todas essas páginas apontavam para o mesmo local: `/?s=`, significando que os mecanismos de busca (o problema foi percebido pelo Google, mas as solicitações são provenientes do Bing) estavam indexando as páginas de resultados de busca. E por que isto? O rastreador não realiza buscas na página, até onde sabemos, certo?

O paradoxo da indexação

O básico de como funciona um mecanismo de pesquisa é bastante simples se você estiver no negócio de sites. Há um robô (ou script automatizado) que rastreia páginas da web, indexa seu conteúdo, faz alguma mágica e armazena os recursos que podem ser consultados em algum lugar na nuvem.

Com isso em mente, cavamos os logs um pouco mais para ver se alguma dessas solicitações tinha alguma outra pista, como um referenciador, mas não tivemos sorte. Todas as solicitações registradas vinham de mecanismos de pesquisa. Felizmente, o Google Search Console tinha uma das páginas de referência em um dos logs.

Revisão do Google Search Console da página
A ferramenta Search Console do Google deu algumas dicas para nós.

Agora acho que é hora de trocar nosso chapéu de Twilight Zone por um chapéu de CSI e desenterrar alguns ossos de sites para colocar sob o microscópio.

Para o olho treinado, é fácil ver que o URL da página de referência pertencia a um site comprometido; felizmente, temos olhos bem treinados! O diretório `index.php` não faz sentido e provavelmente foi adicionado para confundir o dono do site. Em seguida, ele é seguido por outro diretório aleatório e um arquivo PHP com um nome aleatório, que provavelmente é um carregador que está recebendo o payload final: o `cargese4/cca442201.htm`, que também é aleatório. Todas essas são características de uma infecção por malware de farm de links.

Uma pesquisa rápida no Google para ver o que foi indexado para o site de referência confirmou que ele estava realmente infectado e servindo spam de SEO por um tempo. O site é para uma empresa de alimentos na Índia, mas oferece ofertas de SUVs no Japão – sim, isso é spam.

Resultados de pesquisa em japonês para ataque de spam
Consulta de pesquisa trazendo spam em japonês em sites indianos.

Mas, nenhum dos resultados vinculou ao site do nosso amigo, então decidi descobrir se outros sites foram afetados por esse mesmo comportamento estranho.

A fim de procurar mais vítimas deste ataque de spam, nós, apenas para fins educacionais, usamos nosso conhecimento do Google-fu para criar uma consulta de pesquisa que retornaria sites terminados em .edu, que tinham `/?s=` no URL, e a palavra “comprar” no título. E obtivemos 22 resultados. O que é suficiente para nossa caçada.

Resultados da pesquisa para pílulas de spam
O uso de sites .edu e .gov para verificar a infecção por spam filtra domínios (como .com) que foram criados apenas para criação de links.

Isso é evidência de que o local relatado não foi o único afetado; parece ser um problema mais generalizado. Refletimos sobre o que poderia ter feito o Google indexar essas páginas. Como o Googlebot chegou até eles? Próximo passo: verificadores de backlinks.

Resultados de uma verificação de backlinks
Resultados de uma verificação de backlinks

Existem várias ferramentas online que fornecem relatórios sobre backlinks para sites; o que usamos nesta pesquisa foi o Ahrefs, mas outras ferramentas podem chegar aos mesmos resultados. Algumas das páginas de pesquisa maliciosas estão listadas nos resultados, confirmando que estávamos no caminho certo.

Selecionando um desses sites para verificar o que estava acontecendo, vimos quase 5.000 comentários de spam, como você pode ver na próxima captura de tela (eles deveriam conferir o Jetpack Anti-spam). Cada comentário estava vinculado a uma página de pesquisa do site com spam na consulta.

Seção de comentários com links para resultados de spam
Comentários com links para spam

Pegando o coelho branco

Como mencionei antes, os robôs dos mecanismos de pesquisa não realizam consultas nas páginas dos sites. Mas, se encontrar um link para ele, ele será seguido. E se a página não informar ao script automatizado que uma determinada página não é indexável, ele a adicionará.

Exemplo de spam injetado
Ye olde injetou spam

Este é um método inteligente de “injetar” spam em um site para enviar spam aos resultados do mecanismo de pesquisa e aumentar a classificação da página do site por meio do cultivo de links de baixo esforço.

Agora que entendemos o problema, como podemos dizer aos bots de mecanismos de pesquisa para evitar seguir links para páginas de pesquisa (ou simplesmente se recusar a indexá-los)? A melhor maneira seria fazer uma mudança no WordPress Core, o que ajudaria a proteger toda a comunidade (se você quiser relatar um bug ou quiser contribuir com o código, junte-se a nós).

Para evitar algum retrabalho desnecessário, verificamos o WordPress Core trac e encontramos esse problema que foi resolvido na versão 5.7, mas infelizmente não chegou ao changelog como um problema de segurança.

Vou citar o autor, que descreveu o problema melhor do que eu (obrigado abagtcs pelo relatório):

Os spammers da Web começaram a abusar dos recursos de pesquisa desses sites, passando termos de spam e nomes de host na esperança de aumentar as classificações de pesquisa dos sites dos spammers.

Os spammers colocam esses links em wikis abertos, comentários de blogs, fóruns e outros farms de links, contando com mecanismos de pesquisa que rastreiam seus links e, em seguida, visitam e indexam as páginas de resultados de pesquisa resultantes com conteúdo de spam.

Este ataque é surpreendentemente bastante difundido, afetando muitos sites ao redor do mundo. Embora alguns CMS's e sites desenvolvidos por código personalizado possam ser vulneráveis ​​a essa técnica, com base em investigações preliminares, parece que – pelo menos no espaço .edu – a plataforma web mais visada de longe é o WordPress.”

Isso não é surpreendente quando mais de 41% dos maiores sites da web são sites WordPress.

Fechando o caso

Há algumas boas lições a serem aprendidas com este incidente:

  1. A URL apresentada nas páginas que mais crescem não é bem higienizada, então as URLs de spam que você vê separadas por emojis são, na verdade, diretamente clicáveis ​​(oi, amigos do Google, isso é com você); usuários inconscientes podem clicar neles e acessar conteúdo indesejado.
  2. Alguns ajustes são necessários pelo Google para evitar a indexação de páginas claramente com spam. Com base no relatório da ferramenta, algumas páginas claras foram rastreadas e não indexadas, enquanto o spam foi adicionado.
  3. Os invasores aproveitarão até mesmo a menor abertura em seu sistema e devemos estar atentos o tempo todo.
  4. Sempre ouça as pessoas e entenda seus problemas. Se apenas verificássemos os logs de nossas próprias ferramentas, não estaríamos cientes desse problema ou poderíamos ajudar a corrigir o site.
  5. Mantenha seu software atualizado. Sempre.

Na Jetpack, trabalhamos duro para garantir que seus sites estejam protegidos contra esses tipos de vulnerabilidades. Para ficar um passo à frente de qualquer nova ameaça, confira o Jetpack Scan, que inclui verificação de segurança e remoção automatizada de malware.

E uma dica de chapéu para Erin Casali por destacar esse problema e ajudar na investigação.