Publicações

Spam de SEO e “hidden links”: como proteger a segurança e a reputação de sites

Ao analisar o conteúdo de sites para determinar a qual categoria ele pertence, às vezes obtemos resultados inesperados. Por exemplo, o site em si (pode ser a página oficial de um fabricante de estruturas metálicas, uma floricultura online ou, digamos, o site de um escritório de advocacia) tem conteúdo neutro, mas nossas soluções o classificam como “Conteúdo adulto”. À primeira vista, não fica claro qual foi a causa da detecção, mas, ao ver o log com o resultado da análise da página realizada pelo motor de categorização de conteúdo, a situação se esclarece.

Bloco HTML invisível, ou spam de SEO

O site entra na categoria “suspeito” porque contém um bloco HTML, invisível para usuários comuns, com links para sites de terceiros. Via de regra, cada site está associado a temas específicos (em nossa prática, os mais frequentes são conteúdos pornográficos e de jogos de azar), e o bloco oculto contém palavras-chave relevantes além de links. Tais manipulações são um dos tipos de “black-hat SEO”, ou spam de SEO, que consistem em influenciar o ranqueamento de recursos web nos resultados de busca, burlando os princípios do posicionamento ético dos motores de busca (SEO). Embora existam muitas técnicas por meio das quais os invasores fazem sites subirem ou caírem no ranking dos buscadores, recentemente temos nos deparado com mais frequência com blocos ocultos, razão pela qual, neste artigo, nos concentraremos neles.

Em geral, os proprietários dos sites nem sequer têm consciência do problema até que apareçam consequências negativas evidentes: uma queda brusca de tráfego, avisos dos motores de busca ou reclamações dos visitantes. Se o proprietário utiliza soluções da Kaspersky, o bloqueio de um site por ter sido classificado em uma categoria proibida também pode ser um sinal de que algo está errado. Nosso motor detecta tanto os links quanto suas descrições presentes neste bloco.

Os hiperlinks que são invisíveis para usuários comuns, mas que podem ser varridos por diversos sistemas de análise, como motores de busca ou nossa categorização web, são chamados de “hidden links”. Com frequência, criminosos os utilizam para fins fraudulentos, para inflar artificialmente a classificação (posição nos motores de busca) de seu site ou para reduzir a classificação do site da vítima.

Para entender como isso funciona, primeiro vejamos como opera o SEO moderno em geral. O posicionamento dos sites nos resultados de busca, por exemplo no Google, é realizado por um conjunto de algoritmos. O mais antigo e relevante para este artigo chama-se PageRank. A pontuação PageRank, ou o peso dentro desse algoritmo, é um valor numérico que determina a “importância” de uma página específica. Quanto mais links de outros sites apontarem para a página e quanto maior for o peso desses sites, maior será o PageRank da página.

Em consequência, para melhorar o posicionamento de seu recurso no motor de busca, o cibercriminoso coloca “hidden links” direcionando para ele no site da vítima. Quanto maior for o PageRank do site, mais atraente ele será para o golpista digital. Em particular, plataformas com alto tráfego, como blogs ou fóruns, são de especial interesse para os invasores.

Cabe observar que hoje o PageRank não é o único parâmetro que os motores de busca levam em consideração para calcular o valor de um site. O Google também utiliza outros algoritmos, como o RankBrain, baseado em inteligência artificial, e o modelo de linguagem BERT. Esses sistemas empregam métricas mais sofisticadas, como a Autoridade de Domínio (o quão “competente” é um site para responder à pergunta do usuário), a qualidade dos links e o contexto. Inserir links em um site com PageRank alto pode trazer benefícios, mas o efeito dessas manipulações é bastante limitado pelos algoritmos e filtros aprimorados, projetados para reduzir a classificação de recursos que violam as diretrizes do buscador. Entre esses filtros estão, por exemplo:

  • Google Penguin, que detecta e “penaliza” sites que utilizam links de baixa qualidade ou que tentam manipulações, incluindo “hidden links”, para melhorar sua própria classificação. Quando tais links são reconhecidos, seu peso pode ser redefinido para zero e a classificação de ambos os recursos (site vítima e spam) pode cair.
  • Google Panda, que avalia a qualidade do conteúdo. Se o PageRank de um site é alto, mas o conteúdo é de baixa qualidade, duplicado, gerado artificialmente etc., ele pode perder posições na classificação.
  • SpamBrain, que analisa a marcação HTML, o layout das páginas etc., por meio de machine learning, e identifica padrões de manipulação. Esse algoritmo está integrado ao Google Penguin.

Como é um bloco de black-hat SEO no código HTML de uma página

Vejamos exemplos reais de blocos ocultos que encontramos em sites legítimos e definamos os atributos que podem ser usados para identificá-los.

Exemplo 1

Este exemplo utiliza um estilo CSS simples, <div style="display: none;">, que é um dos métodos mais básicos e conhecidos para ocultar conteúdo: o parâmetro display: none; significa “não exibir”. Também podemos ver que cada seção <div> invisível tem um conjunto de links para sites pornográficos de baixa qualidade e sua descrição por meio de palavras-chave. Isso é um claro sinal de spam, já que o site em que encontramos esse bloco não tem relação com a temática dos links.

Outro indício de black-hat SEO no exemplo é o atributo rel="dofollow". Sua função é indicar aos motores de busca que o link é link juice (transfere valor ou autoridade). Os spammers colocam esse atributo com o objetivo específico de transferir valor do site da vítima para os recursos promovidos. Na prática comum, os webmasters podem, em vez disso, usar rel="nofollow", o que significa que a presença de um link no site não deve afetar a classificação do recurso para o qual ele leva.

Assim, a combinação de um bloco oculto ( display: none;) e um conjunto de links externos pornográficos (neste caso) com o atributo rel="dofollow" é um sinal inequívoco de inserção de spam de SEO.

Vale destacar que todas as seções <div> estão concentradas em um único lugar, no final da página, em vez de estarem dispersas por todo o código. Esse bloco demonstra a abordagem clássica do black-hat SEO.

Exemplo 2

Neste exemplo, vemos uma abordagem um pouco mais sofisticada para ocultar o bloco de black-hat SEO, o que indica uma tentativa de contornar os filtros automáticos dos motores de busca que detectam facilmente o parâmetro display: none;.

Agora, vamos dissecar o conjunto de estilos CSS <div style="overflow: auto; position: absolute; height: 0pt; width: 0pt;">. As propriedades position: absolute; height: 0pt; width: 0pt; ocultam o bloco da área visível da página, e overflow: auto impede que o conteúdo seja exibido mesmo que ultrapasse as dimensões zero. Isso torna os links inacessíveis para humanos, mas não impede que eles estejam presentes no DOM (Document Object Model), de modo que os sistemas de varredura de código HTML, como os motores de busca, podem detectá-los.

Além do tamanho zero dos blocos, neste exemplo, como no anterior, vemos o atributo rel="dofollow", assim como muitos links para sites pornográficos com as palavras-chave correspondentes.

A combinação de estilos que zera o tamanho do bloco é menos óbvia que display: none;, já que o elemento está presente no render, embora não seja visível ao usuário. No entanto, cabe observar que os algoritmos modernos de proteção dos motores de busca, como o Google Penguin, também detectam essa técnica. Portanto, os invasores virtuais podem empregar técnicas mais sofisticadas para evitar a detecção. Vejamos outro exemplo:

Além dos já conhecidos parâmetros responsáveis por ocultar o bloco ( height: 0px, color: transparent, overflow: hidden) e do nome que sugere seu conteúdo ( <style type="text/css">.ads-gold</style>), este exemplo possui linhas de script <script src="files/layout/js/slider3d.js?v=0d6651e2"></script> e <script src="files/layout/js/layout.js?v=51a52ad1"></script> no início. Elas indicam que um JavaScript externo pode manipular dinamicamente o conteúdo da página, como adicionar ou modificar “hidden links”, isto é, pode modificar esse bloco em tempo real. Este exemplo apresenta um método mais moderno do que os anteriores. Contudo, ele também é detectado por filtros que bloqueiam manipulações suspeitas.

Existem outros parâmetros e atributos que os invasores utilizam para ocultar o bloco com links, mas que também podem ser detectados:

  • em vez de display: none;, às vezes encontra‑se o parâmetro visibility: hidden;
  • dentro de position: absolute;, o bloco com “hidden links” pode, em vez de ter tamanho zero, estar fora da área visível da página. Uma das formas de conseguir isso é por meio da propriedade left: -9232px;, como no exemplo a seguir.

Os cibercriminosos costumam explorar erros de configuração e vulnerabilidades do site para inserir “hidden links”. Pode ser uma senha fraca ou comprometida da conta de administrador, plugins ou motores que não são atualizados há muito tempo, filtragem deficiente dos dados inseridos pelo usuário ou problemas de segurança do provedor de hospedagem. Além disso, os criminosos podem tentar explorar o fator humano com ataques de phishing seletivos ou em massa, na esperança de obter as credenciais de administrador do site.

Vejamos em mais detalhe os diferentes mecanismos por meio dos quais um ciberatacante obtém acesso para editar o código HTML de uma página.

  • Comprometimento da senha do administrador. Um golpista digital pode “adivinhar” a senha, obtê-la enganando a vítima por meio de phishing ou roubá-la usando malware. Além disso, a senha pode parar em um banco de dados vazados. É comum que administradores de sites utilizem senhas simples para proteger o painel de controle ou deixem a senha padrão, o que facilita o trabalho do criminoso.
    Após obter acesso ao painel de administração, um ciberatacante pode editar diretamente o código HTML da página ou, entre outras coisas, conectar seus plugins com blocos de SEO ocultos.
  • Exploração de vulnerabilidades em CMS (WordPress, Joomla, Drupal). Se o motor ou os plugins não estiverem atualizados, os invasores utilizam vulnerabilidades conhecidas (SQL Injection, RCE, XSS) para acessar o código do site. Em seguida, dependendo do nível de acesso obtido com a exploração de uma determinada vulnerabilidade, eles podem editar arquivos de modelo (header.php, footer.php, index.php etc.), inserir blocos invisíveis em páginas aleatórias do site etc.
    Nos ataques de injeção de SQL, o invasor injeta código SQL mal-intencionado em uma consulta de banco de dados. Muitos sites, de portais de notícias a lojas virtuais, armazenam conteúdo (textos, descrições de produtos, notícias) em um banco de dados. Se uma consulta SQL, como SELECT * FROM posts WHERE id = '$id', permitir passar dados aleatórios, um cibercriminoso pode usar o campo $id para injetar seu código. Isso lhe permite modificar o conteúdo dos registros, por exemplo, inserindo HTML com blocos ocultos.
    Em ataques de RCE (Remote Code Execution), o ciberatacante pode executar seus comandos no servidor onde o site é executado. Ao contrário das injeções SQL, que se limitam ao banco de dados, o RCE permite um controle quase total do sistema, como criar ou modificar arquivos do site, carregar scripts maliciosos e, claro, injetar blocos invisíveis.
    Em um ataque XSS (cross-site scripting), o golpista digital injeta seu código JavaScript diretamente na página web, utilizando campos de entrada vulneráveis, por exemplo em comentários ou caixas de pesquisa. Quando outro usuário visita essa página, um script malicioso é executado automaticamente em seu navegador. Com esse script, o criminoso pode realizar várias ações maliciosas, incluindo adicionar inadvertidamente um bloco <div> oculto com links invisíveis à página. Para ataques XSS, o criminoso não precisa de acesso direto ao servidor ou ao banco de dados, como no caso de SQL Injection ou RCE; basta encontrar uma vulnerabilidade no site.
  • Ataque por meio do provedor de hospedagem. Além de invadir o site da vítima, um ciberatacante pode tentar acessá-lo por meio da hospedagem. Se o servidor do provedor de hospedagem estiver mal protegido, existe o risco de ser comprometido. Se vários sites ou aplicações web estiverem em execução no mesmo servidor, uma vulnerabilidade em um deles pode colocar em risco todos os demais projetos. As capacidades do invasor virtual dependem do nível de acesso ao servidor. Podem incluir: inserção de blocos ocultos em templates de páginas, substituição de arquivos, modificação de bancos de dados, conexão de scripts externos a vários recursos ao mesmo tempo etc. Nesse caso, o administrador do site pode nem perceber o problema, porque a vulnerabilidade não é explorada no código de seu recurso, mas no próprio ambiente do servidor.

Cabe notar que o aparecimento de “hidden links” no site nem sempre está associado a um ciberataque. Com frequência, o problema surge na fase de criação do site, por exemplo, se foi baixado um template pirateado para economizar dinheiro ou se foi feita a contratação de um desenvolvedor web inescrupuloso.

Por que os ciberatacantes precisam inserir blocos ocultos

Um dos objetivos mais óbvios de embutir blocos ocultos em recursos de terceiros é “roubar” o PageRank do site da vítima. Quanto mais popular e mais peso tiver o site, mais interessante ele será para os criminosos. Mas isso não significa que recursos web com tráfego moderado ou baixo estejam fora de perigo. Administradores de sites populares e grandes plataformas costumam se esforçar para cumprir as normas de segurança, e não é fácil invadi-los; por isso, os cibercriminosos podem utilizar sites menos populares e menos seguros.

Como já mencionamos, os motores de busca detectam e bloqueiam com facilidade esse tipo de “promoção artificial” de sites. No entanto, os ciberatacantes podem se beneficiar no curto prazo: podem direcionar tráfego para os sites de seu interesse enquanto os motores de busca não detectarem a ameaça.

Em particular, mesmo que o usuário não veja o bloco oculto e não possa clicar nos links, os criminosos podem aumentar a “frequentação” de seus recursos com a ajuda de scripts. Um possível cenário: um JavaScript em segundo plano cria um iframe ou envia uma solicitação HTTP ao site a partir do bloco oculto, que registra a visita.

Os “hidden links” podem levar não só a recursos pornográficos e outros de reputação duvidosa, mas também a recursos com conteúdo de baixa qualidade, cujo único propósito é se promover para posterior revenda, bem como a páginas de phishing e sites maliciosos. Em esquemas complexos, o script que fornece “visitas” a tais recursos pode carregar código malicioso no navegador da vítima.

Por fim, os “hidden links” permitem que os golpistas digitais retirem reputação do site atacado e tirem sua credibilidade perante os motores de busca. Com algoritmos como o Google Penguin, que penalizam sites com links suspeitos, essa ameaça é particularmente relevante. Os ciberatacantes podem utilizar essas técnicas como instrumento de concorrência desleal, hacktivismo ou qualquer outra atividade que envolva desacreditar organizações ou pessoas específicas.

Também é interessante que, em 2025, começamos a encontrar com mais frequência, em diversos sites legítimos, blocos ocultos com links para recursos pornográficos e cassinos online. Com baixo grau de confiança, podemos supor que isso se deve, por um lado, ao desenvolvimento de redes neurais e à capacidade de automatizar facilmente esse tipo de ataque e, por outro lado, às atualizações dos sistemas antispam do Google, realizadas regularmente e cuja última rodada se concluiu no fim de setembro de 2025. Nesse caso, os golpistas digitais podem ter tentado aproveitar ao máximo as vantagens antes que o buscador complicasse um pouco mais a vida deles.

Consequências para o site vítima

As consequências para o site vítima podem variar em termos de gravidade. No mínimo, ter “hidden links” introduzidos por agentes externos tem efeito negativo na reputação nos buscadores, podendo provocar perda de posições no ranking ou, no pior dos casos, a exclusão total dos índices. No entanto, mesmo sem sanções, esses links prejudicam a estrutura interna de links, pois conduzem a recursos externos e lhes transferem parte do valor do site vítima, o que impacta negativamente a classificação das páginas-chave.

Embora os visitantes do site não vejam os “hidden links”, eles podem ser detectados por auditores externos, sistemas de análise de conteúdo ou pesquisadores, que frequentemente divulgam suas descobertas em relatórios públicos. Isso, por sua vez, pode minar a credibilidade de um site. Por exemplo, se nosso motor de categorização detectar recursos com links para páginas pornográficas, eles serão categorizados como “Conteúdo adulto”.

Consequentemente, todos os nossos clientes que utilizam filtragem web e têm o bloqueio por categorias ativado não poderão visitar esses sites. Além disso, as informações sobre a categorização de um site são publicadas no Kaspersky Threat Intelligence Portal e estão disponíveis para qualquer pessoa que deseje verificar sua reputação.

Se por meio do site forem distribuídos conteúdos proibidos ou fraudulentos, o problema passa ao âmbito jurídico: o proprietário corre o risco de enfrentar reclamações de titulares de direitos autorais ou de órgãos reguladores. Se os links levam a recursos piratas, por exemplo, o site pode ser considerado um intermediário em infração de direitos autorais. Se o bloco oculto contiver scripts maliciosos ou redirecionar para recursos suspeitos, como páginas de phishing, o proprietário pode ser acusado de fraude ou outros crimes informáticos.

A forma mais fácil e acessível para qualquer usuário verificar a presença de um bloco oculto em um site é analisar o código-fonte no navegador. É muito simples fazer isso. Acesse o site de destino, pressione Ctrl+U e, na aba seguinte, abrirá o código do site. Lá, é preciso buscar (Ctrl+F) as seguintes palavras-chave: display: none, visibility: hidden, opacity: 0, height: 0, width: 0, position: absolute. Além disso, é possível buscar palavras-chave específicas do próprio conteúdo oculto. Se falamos do risco de inserir links para sites pornográficos ou de jogos de azar, procure palavras como porn, sex, casino, card e semelhantes.

Uma forma um pouco mais complexa é explorar o DOM em busca de blocos invisíveis por meio das ferramentas para desenvolvedores (DevTools). Depois que a página estiver completamente carregada, no seu navegador, abra o DevTools (F12) e vá à aba Elements. Utilize a busca (Ctrl+F) com as palavras-chave: <a, iframe, display: none, hidden, opacity. Passe o cursor sobre os elementos suspeitos do código para que o navegador destaque sua localização na página. Se o bloco ocupar espaço zero ou estiver fora da área visível, é sinal de que se trata de um elemento oculto. Verifique a aba Computed do elemento selecionado; lá você poderá ver os estilos CSS aplicados e descobrir se ele está oculto aos olhos do usuário.

Também é possível utilizar ferramentas de SEO especializadas. Geralmente, são soluções de terceiros que analisam dados relacionados à otimização de SEO de sites e elaboram relatórios. Elas também podem fornecer um relatório sobre links suspeitos. Na maioria das vezes, essas soluções são pagas e, na hora de escolher uma ferramenta, não se deve guiar tanto pelo preço, mas pela reputação do fornecedor. É melhor utilizar serviços reconhecidos e confiáveis que não incluam cargas maliciosas ou suspeitas, como Google Search Console, Bing Webmaster Tools, OpenLinkProfiler ou SEO Minion.

Outra forma de detectar spam de SEO oculto em um site é verificar o próprio CMS e seus arquivos. Para começar, convém escanear as tabelas do banco de dados em busca de tags HTML suspeitas com links externos que possam ter sido inseridos por invasores, e revisar com atenção os arquivos de templates do site (header.php, footer.php, index.php) e os módulos incluídos para detectar código desconhecido ou suspeito. Dê atenção especial a inserções cifradas, scripts incomuns ou links que não deveriam estar na estrutura do site.

Além disso, você pode verificar a reputação do site no Kaspersky Threat Intelligence Portal. Se um site for classificado em uma categoria não relacionada (em geral, “Conteúdo adulto”, “Sexualmente explícito” ou “Jogos de azar”), há alta probabilidade de que exista um bloco de spam de SEO oculto nele.

Como proteger seu site

Para impedir que “hidden links” cheguem ao seu site, evite templates, temas e outras soluções padrão sem licença. Toda a infraestrutura do site deve basear-se apenas em soluções oficiais e licenciadas. Isso também se aplica a webmasters e empresas contratadas para criar o site: recomendamos revisar o resultado do trabalho não apenas em busca de “hidden links”, mas também de vulnerabilidades. Nunca economize em segurança!

Mantenha o CMS, os temas e os plugins atualizados para as versões mais recentes, pois as novas versões costumam corrigir vulnerabilidades conhecidas que são exploradas por invasores. Se o seu site contiver plugins e temas não utilizados, eles devem ser removidos. Quanto menos elementos desnecessários instalados, menor o risco de exploração de uma vulnerabilidade em uma das extensões, plugins e temas. No entanto, cabe observar que esse risco nunca desaparece por completo: ele existe mesmo com um conjunto mínimo de componentes, se estiverem obsoletos ou mal protegidos.

Para proteger os arquivos e o servidor, é importante configurar corretamente os direitos de acesso. Servidores que rodam Linux e outros sistemas tipo Unix usam 644 para arquivos e 755 para pastas. Isso significa que o proprietário de um arquivo ou pasta pode lê-lo e modificá-lo (no caso de uma pasta, também acessá-la), enquanto o grupo e os demais usuários só podem ler arquivos e acessar pastas. Se a escrita não for necessária, por exemplo em pastas de templates, o ideal é proibi-la completamente para reduzir o risco de alterações não autorizadas, feitas por intrusos. Além disso, configure backups automáticos e periódicos do site, para que, em caso de problemas, seja possível restaurar os dados com rapidez. Também é essencial utilizar web application firewalls (WAF), que ajudam a bloquear solicitações maliciosas e proteger o site contra ataques externos. Essa solução está disponível no Kaspersky DDoS Protection.

Para proteger o painel de administração, utilize sempre senhas complexas e 2FA sem exceção. Se possível, não deixe de restringir o acesso ao painel de administração por endereço IP. Além disso, somente um número limitado de pessoas deve ter direitos de administrador.

Spam de SEO e “hidden links”: como proteger a segurança e a reputação de sites

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

 

Relatórios

Maverick: Novo Trojan bancário distribuído via WhatsApp

Uma campanha recente de malware foi detectada no Brasil, distribuindo um arquivo LNK malicioso usando o WhatsApp. Toda a cadeia de infecção é complexa e fileless, e ela entregará um novo trojan bancário chamado “Maverick”, que contém muito código compartilhado de Coyote.