
Le groupe de piratage nord-coréen Lazarus a exploité un jour zéro de Google Chrome suivi sous le nom de CVE-2024-4947 via un faux jeu de finance décentralisée (DeFi) ciblant des individus dans l’espace de la crypto-monnaie.
Kaspersky a découvert les attaques le 13 mai 2024 et a signalé la faille Chrome zero-day à Google.
Google a publié un correctif pour CVE-2024-4947 le 25 mai, avec la version Chrome 125.0.6422.60/.61.
Jeux de réservoir Lazarus
Kaspersky a découvert la campagne, qui a débuté en février 2024, après avoir détecté une nouvelle variante du malware de porte dérobée « Manuscrypt » sur l’ordinateur personnel de l’un de ses clients en Russie.
Lazarus utilise Manuscrypt depuis des années, mais les chercheurs ont été intrigués par la portée de ciblage atypique de l’acteur de la menace, qui incluait apparemment des individus aléatoires.
Une télémétrie supplémentaire a montré que Google Chrome avait été exploité avant la détection de la nouvelle charge utile Manuscrypt, l’exploitation provenant de la « zone de détankage[.] com » site web. Ce site Web faisait la promotion d’un jeu d’arène de combat en ligne multijoueur (MOBA) basé sur le NFT sur le thème des chars nommé DeTankZone.
Lazarus a fait la promotion du jeu par le biais de campagnes publicitaires sur des plateformes de médias sociaux telles que X, des courriels de spear-phishing et des comptes LinkedIn premium utilisés dans des attaques directes sur des cibles de grande valeur.
En téléchargeant et en réservant l’ingénierie du jeu, Kaspersky a découvert que le jeu était basé sur le code source volé d’un jeu légitime nommé DeFiTankLand, que Lazarus avait simplement rebaptisé à leurs fins.
Le téléchargement ZIP de 400 Mo se lance comme prévu, mais il ne fonctionne pas au-delà de l’écran de connexion/inscription car l’infrastructure principale du jeu a été fermée. De plus, il n’a effectué aucune action malveillante sur le système de la cible.
L’exploitation de Google Chrome se produit sur la zone de dépôt[.] site Web com lui-même, qui contenait un script caché (index.tsx) conçu pour déclencher un exploit pour CVE-2024-4947, une confusion de type dans V8, le moteur Javascript de Chrome.

Le script d’exploit de Lazarus a corrompu la mémoire de Chrome en exploitant le compilateur JIT de l’application, Maglev, écrasant des sections qui leur ont finalement donné accès à tout l’espace d’adressage du processus de Chrome.
À ce stade, les attaquants pouvaient accéder aux cookies, aux jetons d’authentification, aux mots de passe enregistrés et à l’historique de navigation.

Chrome’s V8 sandbox isolates JavaScript execution from the rest of the system, so Lazarus used a second flaw in V8 to escape it and achieve remote code execution, executing shellcode in the system’s memory.
« This issue (330404819) was submitted and fixed in March 2024, » explains Kaspersky about the V8 escape flaw.
« It is unknown whether it was a bug collision and the attackers discovered it first and initially exploited it as a 0-day vulnerability, or if it was initially exploited as a 1-day vulnerability. »
The shellcode Lazarus used serves as a reconnaissance tool, helping the attackers determine if the compromised machine is valuable enough to continue the attack.
It collected CPU, BIOS, and OS information, performed anti-VM and anti-debugging checks, and sent the information to Lazarus’ command-and-control (C2) server.
Kaspersky did not have the chance to examine the subsequent attack steps, as, by the time of their analysis, Lazarus had removed their exploit from the decoy site.
However, based on the people the malicious campaign targeted and their past history, the attack’s ultimate goal was likely to steal cryptocurrency.