Skip to main content
Meet us at Black Hat USA 2026— Las Vegas, August 1–6Book a Meeting
Mallory
Back to malware
MalwareUsed by 1 actor

ChromeLoader

ChromeLoader is a pervasive and persistent browser hijacker that modifies browser settings and redirects victim traffic and search results to advertisement or attacker-controlled pages. It is described as capable of redirecting searches from Google, Bing, and Yahoo, harvesting search data, sending that data to command-and-control infrastructure, and installing a malicious browser extension that users are prevented from easily uninstalling. The extension can redirect users away from the Chrome extensions page when removal is attempted.

The malware has been associated with the Charcoal Stork activity cluster, which researchers describe as a suspected pay-per-install provider first observed delivering ChromeLoader in 2022. Charcoal Stork used lures themed as cracked software, cracked games, wallpapers, pirated movies, TV shows, fonts, and other popular downloads, with distribution via SEO poisoning, malvertising, pay-per-install sites, and social media. ChromeLoader campaigns were specifically described as disguising themselves as cracked software downloads.

On Windows, ChromeLoader has been delivered through ISO images and later through VBS, EXE, and MSI installers. Early chains included Visual Basic Scripts leading to PowerShell execution. EXE installers were often NSIS-based, while MSI installers were often built with Advanced Installer. One documented Windows chain used an ISO containing CS_Installer.exe and a .NET wrapper for Task Scheduler; the installer created persistence via the Task Scheduler COM API with cross-process injection into svchost.exe rather than schtasks.exe. A scheduled task then launched cmd.exe, which executed a Base64-encoded PowerShell command. That PowerShell checked for the malicious extension, downloaded an archive from a remote location when absent, and launched Chrome with the --load-extension flag. If the extension was already present, the task could remove itself with Unregister-ScheduledTask.

Researchers also observed ChromeLoader increasingly using obfuscated NW.js/NodeJS applications installed under C:\Users<username>\AppData\Roaming. These applications established persistence via a Startup-folder LNK or an HKCU\Software\Microsoft\Windows\CurrentVersion\Run registry entry. The NW.js package commonly referenced malicious code through package.json, often with index.html as the main file; newer variants executed compiled JavaScript via win.evalNWbin. Earlier variants often renamed the NW.js runtime binary to match the application name, while later variants used the default nw.exe filename.

A macOS variant has also been reported. It was delivered in DMG files using the same lure themes as the Windows variant, including baited social-media posts with QR codes or links to malicious download sites. The DMG contained an installer script that used cURL to retrieve a ZIP archive containing a malicious browser extension, unpacked it into /private/var/tmp, and executed Chrome with command-line options to load the extension. The macOS variant could target both Chrome and Safari and maintained persistence by writing a plist file into /Library/LaunchAgents.

Across platforms, ChromeLoader’s end goal is to load a malicious browser extension that hijacks search traffic and redirects web activity through advertising or malvertising infrastructure. Reported detection-relevant artifacts and behaviors include encoded PowerShell, browser launches with --load-extension, scheduled tasks including one named "ChromeLoader," installation under AppData\Roaming, persistence via Startup LNK or HKCU Run keys, ISO/DMG-based delivery, and malicious extension behavior involving search hijacking and resistance to removal.

The malware remained highly prevalent in 2024 reporting, including being listed as the most prevalent threat in multiple Red Canary monthly reports.

Share:
For your environment

Hunt this family in your stack

Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.

THREAT ACTORS

Groups observed using it

1 distinct threat actor attributed by public researchers. Open in Mallory to see the full evidence chain and overlapping campaigns.

View more details
Charcoal Stork

ChromeLoader is a browser hijacker capable of redirecting searches for popular search engines such as Google, Bing and Yahoo, sending search data to its C2, and adding and preventing users from uninstalling a malicious browser extension.

via red canary threat reportredcanary.com
MITRE ATT&CK

Techniques & procedures

19 distinct techniques documented for this family, organized by ATT&CK tactic.

Resource Development

1 technique
T1583Acquire InfrastructureEvidence1

Analysis of SmashJacker and ChromeLoader MSI files delivered via concurrent Charcoal Stork campaigns showed several distinctions that led us to suspect Charcoal Stork is a pay-per-install (PPI) provider, responsible for the file naming and SEO and/or malvertising to get the click.

Initial Access

2 techniques
T1189Drive-by CompromiseEvidence1

The ChromeLoader Campaign (2022) A malware campaign that disguised itself as cracked software downloads. Once installed, it loaded a Chrome extension...

T1566.002Spearphishing LinkEvidence1

It appears to spread through pay-per-install sites and social media platforms such as Twitter... baited social media posts with QR codes or links that direct users to malicious pay-per-install download sites.

Execution

8 techniques
T1053.005Scheduled TaskEvidence1

Executing CS_Installer.exe creates persistence through a scheduled task using the Service Host Process (svchost.exe)... Once the extension is found, this PowerShell command will silently remove the ChromeLoader scheduled task using the Unregister-ScheduledTask function.

T1059.001PowerShellEvidence3

Early Charcoal Stork samples were ISO files with payloads leading to multiple phases, including a NodeJS-based app and PowerShell commands to achieve persistence and install ChromeLoader.

T1059.003Windows Command ShellEvidence1

ChromeLoader’s scheduled task will execute through svchost, calling the Command Interpreter (cmd.exe), which executes a Base64-encoded PowerShell command...

T1059.004Unix ShellEvidence1

ChromeLoader redirects an encoded command from a Bourne shell (sh) into a Bourne-again SHell (bash)... the installer script then initiates cURL to retrieve a ZIP file... finally executing Chrome with command-line options to load the malicious extension.

T1059.005Visual BasicEvidence1

In 2023, we observed ChromeLoader using several different file types. Early in the year, we saw Visual Basic Scripts leading to PowerShell.

T1059.007JavaScriptEvidence1

The HTML has the malicious JavaScript code to execute. In more recent versions of ChromeLoader, the JavaScript runs compiled JavaScript via the win.evalNWbin function.

T1204User ExecutionEvidence1

ChromeLoader is delivered by an ISO file, typically masquerading as a torrent or cracked video game. Once downloaded and executed, the .ISO file is extracted and mounted as a drive on the victim’s machine.

T1574Hijack Execution FlowEvidence1

The ChromeLoader Campaign (2022) ... Once installed, it loaded a Chrome extension that hijacked search results and redirected traffic through attacker-controlled pages.

Persistence

5 techniques
T1053.005Scheduled TaskEvidence1

Executing CS_Installer.exe creates persistence through a scheduled task using the Service Host Process (svchost.exe)... Once the extension is found, this PowerShell command will silently remove the ChromeLoader scheduled task using the Unregister-ScheduledTask function.

T1176Software ExtensionsEvidence3

ChromeLoader’s MSI was built using Advanced Installer and it installed a NodeJS application in order to deliver a malicious browser extension. SmashJacker was not built with Advanced Installer and instead installs a trojanized version of 7zip, which installs the malicious extension.

T1543.001Launch AgentEvidence1

To maintain persistence, the macOS variation of ChromeLoader will append a preference (plist) file to the /Library/LaunchAgents directory.

T1547.001Registry Run Keys / Startup FolderEvidence1

The application, installed in C:\Users\<username>\AppData\Roaming\ , established persistence through a LNK file placed in C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" or a registry key entry in "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\ .

T1547.009Shortcut ModificationEvidence1

The application, installed in C:\Users\<username>\AppData\Roaming\ , established persistence through a LNK file placed in C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

Privilege Escalation

5 techniques
T1053.005Scheduled TaskEvidence1

Executing CS_Installer.exe creates persistence through a scheduled task using the Service Host Process (svchost.exe)... Once the extension is found, this PowerShell command will silently remove the ChromeLoader scheduled task using the Unregister-ScheduledTask function.

T1055Process InjectionEvidence1

Instead, we saw the installer executable load the Task Scheduler COM API, along with a cross-process injection into svchost.exe (which is used to launch ChromeLoader’s scheduled task).

T1543.001Launch AgentEvidence1

To maintain persistence, the macOS variation of ChromeLoader will append a preference (plist) file to the /Library/LaunchAgents directory.

T1547.001Registry Run Keys / Startup FolderEvidence1

The application, installed in C:\Users\<username>\AppData\Roaming\ , established persistence through a LNK file placed in C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" or a registry key entry in "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\ .

T1547.009Shortcut ModificationEvidence1

The application, installed in C:\Users\<username>\AppData\Roaming\ , established persistence through a LNK file placed in C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

Stealth

4 techniques
T1027Obfuscated Files or InformationEvidence1

ChromeLoader uses the shortened -encodedcommand flag to encode its PowerShell command... ChromeLoader redirects an encoded command from a Bourne shell (sh) into a Bourne-again SHell (bash).

T1036MasqueradingEvidence1

Pulling that thread led us to an interesting pattern of files masquerading as cracked games and software or wallpaper downloads.

T1055Process InjectionEvidence1

Instead, we saw the installer executable load the Task Scheduler COM API, along with a cross-process injection into svchost.exe (which is used to launch ChromeLoader’s scheduled task).

T1574Hijack Execution FlowEvidence1

The ChromeLoader Campaign (2022) ... Once installed, it loaded a Chrome extension that hijacked search results and redirected traffic through attacker-controlled pages.

Command and Control

1 technique
T1105Ingress Tool TransferEvidence1

If the specific file path is not found, it will pull down an archive file from a remote location using wget and load the contents as a Chrome extension... the installer script then initiates cURL to retrieve a ZIP file containing the malicious browser extension.

ACTIVITY FEED

Recent activity

8 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets match these IOCs, which detections are missing, which campaigns to expect next, and what to do in the next 30 minutes.
IOC matching

Match every observed IP, domain, and hash against your live telemetry.

Threat actor attribution1

Named campaigns wielding this family, with evidence pinned to each claim.

Exploited vulnerabilities

CVEs this family uses for access and lateral movement.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

MITRE ATT&CK mapping19

Every documented technique, ranked by evidence weight.

Researcher chatter

Reddit, Mastodon, and CTI community discussion around this family.