Fake Node.js Google Ads Used to Deploy OXLOADER and CASTLESTEALER Malware


Hackers are using malicious Google Ads that impersonate the Node.js installer to infect Windows users with malware. The campaign delivers a newly documented loader called OXLOADER, which then drops the CASTLESTEALER infostealer.

Elastic Security Labs said it found the campaign after OXLOADER targeted one of its customers. The company described the loader as previously undocumented and said it showed low detection rates across static antivirus engines and sandbox systems.

The attack works because it abuses a common habit: searching for developer tools and clicking a sponsored result near the top of the page. Instead of reaching the official Node.js download page, victims landed on a fake site designed to look related to a legitimate Node.js installation flow.

Fake Node.js Ads Led Users to Malware

The campaign began when a user searched for an LTS version of Node.js and clicked a sponsored ad. Elastic said the ad led to a malicious landing page at node-js.prentiva99.info, which is now offline.

The advertiser account appeared in the Google Ads Transparency Center under a verified name based in Ukraine. Elastic said the ad was last shown on April 23, 2026, and that Google removed the advertiser and associated campaigns by May 14, 2026.

After the click, the user was redirected through another domain and served a Windows batch script hosted on Storj’s legitimate file-sharing infrastructure. Using a trusted cloud storage service helped the attackers reduce suspicion and avoid simple domain-based blocking.

How the Infection Chain Worked

StageWhat happenedSecurity impact
Search adA sponsored result impersonated a Node.js installer download.Users trusted a familiar software search flow.
Fake landing pageThe ad sent victims to a lookalike Node.js-themed page.The lure made the download appear legitimate.
RedirectThe page redirected through app.miloyannopoulos.com.The campaign added another layer between the ad and payload.
Batch scriptA Storj-hosted batch file displayed a fake installer interface.The script hid malicious activity behind a normal setup flow.
Loader executionOXLOADER downloaded and executed the next payload.The loader prepared the system for infostealer deployment.
Final payloadCASTLESTEALER ran in memory.The malware could collect sensitive data from the infected system.

The batch script displayed a fake software installation wizard while it downloaded the next-stage executable through PowerShell. It then launched the executable with a User Account Control prompt, making the action look like a normal installer requesting permission.

Elastic also found a second OXLOADER variant on May 13, 2026. That version masqueraded as a Node.js installer binary rather than API Monitor, but researchers said the loader mechanism remained the same.

The second variant kept “node” in the filename to support the lure. This detail matters because users often judge downloaded files by name, especially when they believe they came from a trusted software search result.

OXLOADER Uses Multiple Evasion Checks

OXLOADER performs several checks before running its main payload. It looks for signs that the system is a sandbox, virtual machine, or analysis environment.

The loader checks for at least three CPU cores, at least 3 GB of physical memory, a display refresh rate above 20 Hz, and a non-CIS geographic region. It also stops if the system uses the Russian language.

Those checks help the malware avoid automated security tools that analyze files in lightweight virtual machines. Elastic said these exclusions suggest the operator may be financially motivated and Russian-speaking.

Technical Details Behind OXLOADER

TechniqueWhat OXLOADER doesWhy it helps the attacker
Control-flow obfuscationBreaks normal program logic into difficult-to-follow paths.Makes reverse engineering slower.
Mixed Boolean-ArithmeticUses complex expressions to hide simple operations.Confuses automated analysis tools.
Self-modifying codeDecrypts and changes code at runtime.Reduces what static scanners can inspect.
.reloc abusePlaces malicious code in the Windows relocation section.Hides executable code where legitimate programs should not place it.
In-memory payload loadingUses DonutLoader to run CASTLESTEALER without a normal on-disk payload.Leaves fewer file artifacts for defenders to find.

The malware’s use of the Windows .reloc section stands out. In normal programs, this section stores relocation data, not executable instructions. Elastic said legitimate toolchains do not place code there, making this behavior a strong detection signal.

Batch script downloading and launching OXLOADER (Source – Elastic)

The final payload is CASTLESTEALER, a .NET-based infostealer. Elastic linked the payload to a malware family previously reported by Huntress and said it was loaded in memory through DonutLoader.

Because the attack begins with a malicious ad and a fake installer, it maps closely to common initial-access behavior tracked in MITRE ATT&CK malvertising guidance. It also relies on user execution, since the victim must run what appears to be a software installer.

Indicators of Compromise

TypeIndicatorDescription
Domainnode-js[.]prentiva99[.]infoMalvertising landing page
Domainapp[.]miloyannopoulos[.]comMalvertising redirector
SHA-256fdfc7831e5c24cfa80152860dfe8c056ba079f7df1393bf6bb7b18ed974eda37BATPackageBuilderSetup.bat, OXLOADER downloader and launcher
SHA-256de4f51649ec1a33071854aefe93ffb3fc225e19f802d8dd914676dd5dfef2615BATPackageBulderSetup.bat, OXLOADER downloader and launcher
SHA-2569a9939dff297997732aaade9b243d695632cbd64033c5fbcb9de3d09b7e6c28dapimonitor-x64.exe, OXLOADER
SHA-256c85f2765a6c3c3f3907c17e57df12f8f68826f74bff3bbfd272af50666d065fenode-v24.15.0-x64-86.exe, OXLOADER
SHA-2564ec9d9d4d10ad78fc6d7bda7cb17d52984878ccd2dd4302fd1cef152313b9741CASTLESTEALER
SHA-25639019279686c820c3af5684012a0085a7e2109f612c9fab886dd0577ace5b5c6CASTLESTEALER
IPv489.124.95[.]161CASTLESTEALER command-and-control server
IPv489.124.115[.]82CASTLESTEALER command-and-control server

Why Developers Are a High-Value Target

Developers often download runtimes, SDKs, package managers, and build tools from search results. That makes software installers a useful lure for attackers who want access to workstations with source code, credentials, cloud tokens, and deployment secrets.

Node.js is especially attractive because it is widely used across web, cloud, and application development. Attackers who impersonate the official Node.js installer can target both individual users and employees inside software-driven companies.

Infection chain execution graph (Source – Elastic)

The campaign also shows why sponsored results need extra scrutiny. A paid ad can appear above organic results, but that position does not guarantee that the landing page belongs to the real software vendor.

How Users and Security Teams Can Reduce Risk

Users should download developer tools directly from official vendor websites or trusted package managers. For Node.js, that means using the official Node.js site, a known package manager, or an organization-approved software portal.

Security teams should monitor for suspicious script execution, unexpected PowerShell downloads, unusual UAC prompts, and executables running from temporary directories. Endpoint detection should block or prevent suspicious behavior, not only log it.

  • Verify software downloads before running installers from search results.
  • Use browser and DNS protections that flag newly registered or suspicious domains.
  • Block known OXLOADER and CASTLESTEALER indicators at the network perimeter.
  • Monitor PowerShell activity that downloads files from cloud storage links.
  • Review User Account Control prompts that appear during unexpected installer flows.
  • Restrict local administrator rights on developer workstations.
  • Use endpoint rules that detect in-memory .NET payload execution.
  • Check the Ads Transparency Center when a sponsored software result looks suspicious.

Malvertising Remains a Software Supply Chain Risk

This campaign is another example of attackers using paid ads to intercept users before they reach a trusted software vendor. The tactic does not require compromising the real Node.js project or its website.

Instead, the attackers created a fake download path that looked convincing enough to deliver malware. That approach gives them a practical way to reach developers, system administrators, and technical users through normal search behavior.

Elastic’s report says OXLOADER appears to be in an early operational phase, but its engineering shows clear investment in evasion and analysis resistance. That makes the loader worth tracking beyond this single campaign.

For defenders, the lesson is straightforward. Treat software-download ads as a security risk, verify installers through official sources, and build detections around behavior such as suspicious PowerShell downloads, in-memory payload loading, and malvertising infrastructure.

FAQ

What is OXLOADER?

OXLOADER is a newly documented Windows malware loader analyzed by Elastic Security Labs. It uses obfuscation, anti-sandbox checks, and unusual PE section abuse to deliver the CASTLESTEALER infostealer.

How did hackers impersonate the Node.js installer?

The attackers used malicious Google Ads that led users to a fake Node.js-themed landing page. From there, victims were redirected to a batch script hosted on a legitimate cloud file-sharing service, which downloaded and launched OXLOADER.

What is CASTLESTEALER?

CASTLESTEALER is an infostealer payload delivered by OXLOADER in this campaign. It is a .NET-based malware family designed to collect sensitive information from infected systems.

Was the fake Node.js ad campaign linked to North Korea?

Elastic did not attribute the campaign to North Korea. Its analysis said CIS-region and Russian-language exclusions suggest a financially motivated, Russian-speaking threat actor.

How can users avoid fake software installer ads?

Users should avoid relying on sponsored search results for software downloads, verify the vendor domain, download installers from official websites, and avoid running unexpected batch scripts or executables from cloud storage links.

Readers help support VPNCentral. We may get a commission if you buy through our links. Tooltip Icon

Read our disclosure page to find out how can you help VPNCentral sustain the editorial team Read more

User forum

0 messages