Home/ Blog/ Security news/ Article
Blog · Security news

Mustang Panda's kernel rootkit hides its backdoor from host tools

Mustang Panda's CoolClient backdoor now uses a signed kernel rootkit to hide from host tools. Why it is a hide not a kill, and where to still detect it.

Isometric glass server tower with one lower module rendered empty and transparent

For the past year the trend in endpoint evasion has been loud: attackers ship a signed but flawed driver whose only job is to switch the security agent off. HoneyMyte, the China-nexus espionage group more widely tracked as Mustang Panda, has gone the other direction. Its CoolClient backdoor now loads a signed kernel driver that never touches your agent. It leaves the tool running and feeds it an edited version of reality, so the malicious process, its files, its registry keys, and its live network connections stop appearing in anything that asks Windows what is running. Researchers at Kaspersky documented the upgrade on August 16.

That distinction is the whole story, and it changes where you look.

Kill the agent, or blind it: two different problems

We have written about the kill approach more than once. Ransomware crews and access brokers load a trusted-but-flawed driver to reach into the kernel and terminate protection, a technique the industry calls bring your own vulnerable driver, or BYOVD. When it works, the console goes quiet and the agent stops reporting. That silence is ugly, but it is also a signal: a managed endpoint that suddenly stops checking in is an alarm most teams already watch. We covered exactly that pattern with a signed-driver kill used by ransomware and with an evasion kit sold as a finished product.

A rootkit is the quieter cousin. HoneyMyte's driver does not stop the agent or trigger a missed check-in. The agent keeps running and keeps reporting, but the answers it gets from the operating system have been rewritten underneath it. There is no silence to detect. Nothing looks wrong, because the thing that would look wrong has been removed from view before your tool ever sees it. Kill trips an alarm. Hide trips nothing. That is why the two need different detections, and why treating a rootkit like a louder BYOVD case will miss it.

What the driver actually hides

Kaspersky identified the kernel component as msagent.sys, installed as a Windows service named media_updaten. Once loaded it does four things, and each one targets a different way a defender might notice the backdoor. It unlinks the CoolClient process from the kernel list that tools walk to enumerate what is running, so the process is live but absent from a normal process listing. It registers a file-system filter that denies access to the backdoor's own files and folders. It installs a registry callback that hides the keys holding its persistence. And it hooks the Nsiproxy driver to strip its command-and-control addresses out of the connection tables the host reports.

The driver exposes 33 command handlers, but the analyzed sample used only three: one to register a process to hide, one to register an address to filter, and one to protect a path. One more detail is worth keeping. An active install writes a marker value, Wid_H1deF5Dirs, under HKLM\SYSTEM\RNG, which is a clean thing to hunt for because it is present whether or not the runtime is hidden.

The activity is hidden on the host, not everywhere

Here is the opening. A kernel rootkit can only edit what the host reports about itself. It cannot reach back in time to delete the events your systems already recorded before the driver loaded, and it cannot touch the record your network kept off the box. The process is gone from the local list, but the process-create event fired at launch, before the driver was ever installed. The C2 connection is scrubbed from the host's own tables, but the flow still crossed your network and your collector saw it. The hiding is real, and it is also local.

Malicious activityHidden on the host after the driver loadsStill visible to you
CoolClient backdoor processUnlinked from the live process listThe process-create event logged before the driver loaded
Backdoor files and foldersAccess denied by a kernel file filterThe signed vendor binary sideloaded to drop them
Persistence registry keysFiltered by a registry callbackThe registry write and the service that installed the driver
Command-and-control trafficScrubbed from on-host connection tablesFlow records collected from your network, not the host
How a kernel rootkit hides activity on the host, and where that same activity still shows. Source: Kaspersky analysis of the HoneyMyte CoolClient rootkit.

Read that table as a hunting plan. Every entry in the middle column is a runtime query you can no longer trust on a compromised host. Every entry on the right is a place the same activity survives, because it lives in telemetry the driver has no reach into: events shipped to your log pipeline as they happened, and flow data recorded by your network rather than the endpoint.

The install chain is loud. Watch it.

The rootkit is the quiet end of a noisy sequence, and the noise is your detection window. HoneyMyte's chain starts with the older PlugX backdoor, then sideloads its payload through a legitimate, signed Sangfor executable renamed to defender.exe, decrypts several staged loaders, bypasses User Account Control through a remote-procedure-call technique, and injects into synchost.exe before the driver is ever installed as a service. Along the way it adds Microsoft Defender exclusions and creates a decoy C:\Program Files\microsoft\windows defender\ folder to blend into the namespace defenders trust.

None of that is hidden, because the rootkit is not loaded yet. The events worth alerting on are concrete: a signed third-party binary loading an unexpected DLL from its own directory, a new kernel-mode service being created, a driver load whose signing certificate is years old, writes that add Defender exclusions, and the creation of files or services that borrow Microsoft's own product names. A managed detection service watching service-creation and driver-load telemetry, rather than periodically listing processes, catches this class of intrusion at install time, which is the only time it is reliably visible. We made the same point about a Linux backdoor that moved into the Windows kernel: the detection window closes the moment the driver loads.

Treat an old signature as a warning, not a pass

The most quietly instructive detail is the driver's certificate. Kaspersky reports it was issued to Nanjing Ranyi Technology Co., Ltd. and was valid only from August 2013 to September 2014. It is expired, and Kaspersky did not establish how the attackers obtained it. Windows loaded it anyway, because kernel-mode signing checks honor a signature that was valid when it was made. That is the gap. A decade-old certificate is not a mark of trust, it is a mark of something that should not be loading a fresh driver today. Microsoft's vulnerable-driver blocklist covers known-bad drivers, but the durable habit is to treat the age of a driver's signature as a signal in its own right and to question any kernel module signed years before it appeared on the host.

Attribution here is careful, and worth repeating as such. Kaspersky links the campaign to HoneyMyte based on the consistent PlugX-led chain and prior tradecraft, while noting that Chinese-language debug strings alone do not settle it. The victims it names, government entities among targets in Myanmar, Mongolia, Pakistan, and Russia, fit an espionage operation, and reporting on the research frames it the same way. We have watched this same shift, from tools that disable defenses to tools that hide beneath them, in a modular kit that hot-swaps drivers. The kernel is where both fights now end, and the side that owns the driver-load moment owns the outcome.

Topics

Frequently asked questions

What is HoneyMyte's CoolClient kernel rootkit?

CoolClient is a backdoor used by the China-nexus group HoneyMyte, also tracked as Mustang Panda. Its 2026 version loads a signed Windows kernel driver that hides the backdoor's process, files, registry keys, and network connections from tools that query the operating system.

How is a kernel rootkit different from a BYOVD attack that kills EDR?

A bring-your-own-vulnerable-driver attack disables the security agent, which produces a missed check-in you can alert on. A rootkit leaves the agent running and hides the malware from it instead, so nothing looks wrong and there is no silence to detect.

Can defenders still detect the CoolClient rootkit?

Yes. The driver only edits what the host reports about itself. Events logged before it loaded, such as process creation, service installation, and the DLL sideload, still exist, and command-and-control traffic still appears in network flow records collected off the host.

What should defenders watch for?

Watch the install chain, not runtime process lists. Alert on signed third-party binaries loading unexpected DLLs, new kernel-mode services, driver loads with old signing certificates, and new Microsoft Defender exclusions. Hunt for the registry marker Wid_H1deF5Dirs as a direct indicator.

Who did HoneyMyte target with this campaign?

Kaspersky reports victims including government entities among targets in Myanmar, Mongolia, Pakistan, and Russia, consistent with an espionage operation. Attribution to HoneyMyte rests on the PlugX-led infection chain and prior tradecraft, which Kaspersky treats as suspected rather than definitive.

Ready to meet the Guardians?

Deploys fast - agentless for monitoring and cloud, a lightweight agent for deep endpoint security. Just Suriq, standing watch.