{"id":5121,"date":"2024-09-03T11:08:03","date_gmt":"2024-09-03T16:08:03","guid":{"rendered":"https:\/\/www.darkreading.com\/threat-intelligence\/evolving-npm-package-campaign-roblox-devs"},"modified":"2024-09-03T11:08:03","modified_gmt":"2024-09-03T16:08:03","slug":"evolving-npm-package-campaign-targets-roblox-devs-for-years","status":"publish","type":"post","link":"https:\/\/ddi.mohflo.net\/index.php\/2024\/09\/03\/evolving-npm-package-campaign-targets-roblox-devs-for-years\/","title":{"rendered":"Evolving NPM Package Campaign Targets Roblox Devs, For Years"},"content":{"rendered":"<div class=\"media_block\"><a href=\"https:\/\/i0.wp.com\/eu-images.contentstack.com\/v3\/assets\/blt6d90778a997de1cd\/blt461dd0fba959385a\/66d6eb17f9496760e97841a9\/roblox_SOPA_Images_Limited_alamy.jpg?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?w=640&#038;ssl=1\" class=\"media_thumbnail\"><\/a><\/div>\n<div><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?w=640&#038;ssl=1\" class=\"ff-og-image-inserted\"><\/div>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Attackers for at least a year have been using malicious <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/threat-intelligence\/npm-packages-vulnerable-to-old-school-weapon-the-shift-key\" rel=\"noopener\">Node Package Manager (npm) packages<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> that mimic the popular &#8220;noblox.js&#8221; library to target Roblox game developers with malware that steals Discord tokens and system data, and even deploys additional payloads.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">The campaign, outlined by researchers at Checkmarx and active since at least August 2023, leverages a variety of tactics, including brandjacking, combosquatting, and starjacking, in an effort to make the packages appear legitimate. Once it gets its foothold on a targeted system, the malware collects various types of sensitive data that&#8217;s sent in a package to the attacker&#8217;s command-and-control server (C2) using a Discord webhook.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/application-security\/payments-giant-tipalti-no-ransomware-breach-roblox\" rel=\"noopener\">Roblox<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">, a popular gaming and gaming-creation platform, has a user base of more than 70 million daily active users, and thus is an attractive target for threat actors. Researchers from <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.reversinglabs.com\/blog\/fake-roblox-api-packages-luna-grabber-npm\" rel=\"noopener\">ReversingLabs<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/vulnerabilities-threats\/luna-grabber-malware-targets-roblox-gaming-devs\" rel=\"noopener\">previously disclosed<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> the npm package campaign targeting Roblox and delivering the Luna Grabber malware, and other firms have written about it as well.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">The Checkmarx analysis sheds new light on how it&#8217;s evolving with the use of various social engineering tactics to increase deception, as well as novel malicious activities, including the addition of the <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/cyberattacks-data-breaches\/lilacsquid-apt-employs-open-source-tools-quasarrat\" rel=\"noopener\">QuasarRAT<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> to its list of secondary payloads, Yehuda Gelb, security researcher at Checkmarx, <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/zero.checkmarx.com\/year-long-campaign-of-malicious-npm-packages-targeting-roblox-users-9f5bcc8c64c7\" rel=\"noopener\">wrote in a post<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> on the Medium platform. It delivers the secondary malware from an active GitHub repository owned by the user &#8216;aspdasdksa2,&#8217; which is &#8220;potentially in use for distributing malware through other packages,&#8221; he wrote.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Other malware delivered by the campaign has added a novel persistence mechanism that manipulates the Windows registry. This ensures execution every time a user opens the Windows Settings app, and &#8220;is central to the malware&#8217;s effectiveness,&#8221; Gelb noted.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">What&#8217;s more, attackers appear to be highly attentive to any mitigation of their malicious activities&nbsp;\u2014&nbsp;something that is clearly evident given the duration of the campaign and the consistent flow of novel malicious packages. &#8220;Despite multiple package takedowns, new malicious packages continue to appear on the npm registry at the time of publication,&#8221; Gelb wrote.<\/span><\/p>\n<h2 class=\"ContentText ContentText_variant_h2 ContentText_align_left\" data-testid=\"content-text\" id=\"Social Engineering for Gaming Developer Deception\">Social Engineering for Gaming Developer Deception<\/h2>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">The campaign features elaborate <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/endpoint-security\/mgm-and-caesars-attacks-highlight-social-engineering-risks\" rel=\"noopener\">social engineering <\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">that demonstrates that the attackers know their audience and aim to make the packages look as authentic and useful as possible to Roblox developers.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">One typosquatting technique combines subsets of this tactic&nbsp;\u2014&nbsp;brandjacking and combosquatting&nbsp;\u2014&nbsp;to create &#8220;the illusion that their packages are either extensions of or closely related to the legitimate &#8216;noblox.js&#8217; library&#8221; in the naming of the packages, Gelb wrote. These include file names such as noblox.js-async, noblox.js-thread, and noblox.js-api.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Attackers also use &#8220;starjacking,&#8221; a tactic that threat actors use to inflate package stats so developers think packages are being downloaded more than they are and are thus trustworthy. In this case, the attackers linked malicious packages to the GitHub repository URL of the genuine &#8216;noblox.js&#8217; package, Gelb said.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Further tactics employed in the campaign attempt to disguise the malware within the package itself by mimicking the structure of the legitimate &#8220;noblox.js&#8221; file, but then introduces malicious code in the postinstall.js file. &#8220;They heavily obfuscated this code, even including nonsensical Chinese characters to deter easy analysis,&#8221; Gelb noted.<\/span><\/p>\n<h2 class=\"ContentText ContentText_variant_h2 ContentText_align_left\" data-testid=\"content-text\" id=\"Disabling Windows Defender for Persistence\">Disabling Windows Defender for Persistence<\/h2>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">As the campaign evolves, attackers continue to up the ante to make it harder for defenders to detect and mitigate the malware it delivers. One such novel tactic &#8220;aggressively undermines the system&#8217;s security measures&#8221; by targeting various services such as Malwarebytes and Windows Defender, Gelb wrote. It first targets the former and attempts to stop it if it&#8217;s running, &#8220;followed by a more <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/cyberattacks-data-breaches\/-researchers-detail-vuln-that-allowed-for-windows-defender-update-process-hijack\" rel=\"noopener\">comprehensive attack on Windows Defender<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">,&#8221; he wrote.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">&#8220;The script identifies all disk drives and adds them to Windows Defender&#8217;s exclusion list,&#8221; he explained. &#8220;This action effectively blinds Windows Defender to any file on the system.&#8221;<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Overall, its disabling of third-party antivirus and the manipulation of built-in Windows security creates an environment where the malware can operate freely, significantly increasing its potential for damage and persistence, Gelb noted.<\/span><\/p>\n<h2 class=\"ContentText ContentText_variant_h2 ContentText_align_left\" data-testid=\"content-text\" id=\"Campaign Demands Developer Vigilance\">Campaign Demands Developer Vigilance<\/h2>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Targeting developers through the open-source code assets that they rely on to develop software (or in this case, games) is an <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/application-security\/once-again-malware-discovered-hidden-in-npm\" rel=\"noopener\">evolving strategy<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> used by threat actors to broaden their attack surface. By poisoning code during the development process, they can spread malware to numerous users through the software supply chain without having to target specific systems individually.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Indeed, the ongoing attack on Roblox developers through persistently compromised NPM packages &#8220;serves as a stark reminder of the persistent threats facing the developer community&#8221; and demands that they use extreme caution when working with <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/threat-intelligence\/hundreds-of-data--crypto-stealing-python-packages-slither-onto-windows-systems\" rel=\"noopener\">open source code packages<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">, Gelb observed.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">The campaign and others like it once again stresses the &#8220;critical importance of thoroughly vetting packages before incorporation into projects,&#8221; he said. &#8220;Developers must remain vigilant, verifying the authenticity of packages, especially those resembling popular libraries, to protect themselves and their users from such sophisticated supply chain attack.&#8221;<\/span><\/p>\n<p><a href=\"https:\/\/www.darkreading.com\/threat-intelligence\/evolving-npm-package-campaign-roblox-devs\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Attackers for at least a year have been using malicious<\/p>\n","protected":false},"author":12,"featured_media":5122,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[809],"class_list":["post-5121","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-dark-reading"],"featured_image_urls":{"full":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?fit=1920%2C1080&ssl=1",1920,1080,false],"thumbnail":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?resize=150%2C150&ssl=1",150,150,true],"medium":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?fit=300%2C169&ssl=1",300,169,true],"medium_large":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?fit=640%2C360&ssl=1",640,360,true],"large":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?fit=640%2C360&ssl=1",640,360,true],"1536x1536":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?fit=1536%2C864&ssl=1",1536,864,true],"2048x2048":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?fit=1920%2C1080&ssl=1",1920,1080,true],"chromenews-featured":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?fit=1024%2C576&ssl=1",1024,576,true],"chromenews-large":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?resize=825%2C575&ssl=1",825,575,true],"chromenews-medium":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?resize=590%2C410&ssl=1",590,410,true]},"author_info":{"display_name":"Dark Reading","author_link":"https:\/\/ddi.mohflo.net\/index.php\/author\/darkreading\/"},"category_info":"<a href=\"https:\/\/ddi.mohflo.net\/index.php\/category\/uncategorized\/\" rel=\"category tag\">Uncategorized<\/a>","tag_info":"Uncategorized","comment_count":"0","jetpack_featured_media_url":"https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/09\/evolving-npm-package-campaign-targets-roblox-devs-for-years.png?fit=1920%2C1080&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/posts\/5121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/comments?post=5121"}],"version-history":[{"count":0,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/posts\/5121\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/media\/5122"}],"wp:attachment":[{"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/media?parent=5121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/categories?post=5121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/tags?post=5121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}