APT Groups Deploy NetamLoader to Target Windows 10 Systems in Asian Government Networks

A newly observed malware framework named NetamLoader is being deployed against a customized build of Windows 10 used only by certain government agencies in Asia. The operation appears to be a supply-chain style campaign, and researchers have not yet attributed it to any known threat actor.

NetamLoader is concealed inside a Windows update package, leverages trusted signed components to execute, and removes traces of its activity.

The malware also uses very slow, delayed communication patterns with its operators so brief sandbox checks can overlook it. Even a file that appears legitimate and is signed by a known vendor can be part of the infection chain.

Researchers from Securelist, the Kaspersky GReAT blog, discovered the framework and published a detailed technical analysis on October 29, 2026.

Kaspersky’s telemetry first flagged the threat in the first half of 2026 after detecting a suspicious .config file stored inside a CAB archive within the Windows update package folder.

APT Hackers Use NetamLoader Malware

Initially the archive appeared benign. Most files were legitimate components from Patch My PC, a third-party patching tool, and the .NET modules referenced in the chain carried Microsoft signatures.

Only a single file, Resources.resx, actually contained malicious code. Analysts did not observe how the archive was delivered to the victim and found no evidence that Patch My PC itself had been compromised.

The infection begins when PatchMyPC-ScriptRunner.exe runs. Its configuration file abuses AppDomainManager injection to load code before the program’s normal entry point executes.

That configuration points to a Microsoft-signed module which loads a second file named fabric.config. That file causes Windows to open Resources.resx, and an issue in the legacy BinaryFormatter mechanism triggers execution of the first concealed XAML script.

After that, multiple layers of payloads are unpacked sequentially. Each layer is encoded, compressed, or encrypted, and the initial decryption key is taken from the running program’s command line.

Infection chain – Stage 1 (Source – Securelist)

If the command line value is incorrect, as commonly happens in sandbox environments, decryption fails and the program exits quietly. In the second stage the malware disables protections: a large XAML payload patches the Windows Antimalware Scan Interface (AMSI) so that subsequent scans report “clean.”

Strings and other sensitive text are split into many small fragments to evade signature-based detection. This technique is similar to other campaigns that abused signed utilities to bypass defenses.

The initial loader then performs cleanup. It deletes extracted files, .NET usage logs, and Prefetch entries, and removes lines from update logs located in a directory named CmitUpdateAgent, which Kaspersky notes may be associated with the government-specific Windows build.

Finally, the loader uses a remote COM object to launch the last-stage payload inside dllhost.exe, isolating it from the original process and helping it evade EDR behavioral checks.

Slow Command Channel Keeps the Malware Hidden

The final component, identified as the .NET 2 Plugin, communicates with a command-and-control (C2) domain registered as openaigpt4v[.]com.

Although the domain name resembles an AI service, it is fronted by Cloudflare. The malware delays its first callback by 20 to 40 minutes to increase the chance of outliving automated sandbox tests.

After receiving a valid response, the implant checks in every five to six minutes. If no reply is received, it switches to a backoff mode where it waits 22 to 28 hours and then polls every ten minutes to see if that period has expired.

A timer also forces the process to terminate after roughly 28 hours. All communications are encrypted with AES and validated with an HMAC. The malware probes for a proxy using three different methods so it can operate in restrictive network environments.

Downloaded XAML modules are executed inside a temporary AppDomain that is unloaded afterward. This approach keeps the main process stable and reduces forensic artifacts.

Kaspersky notes a similar AMSI-patching tactic was seen in an earlier GhostContainer backdoor case in Asia, where the backdoor disabled AMSI prior to executing additional functionality.

Kaspersky observed just one victim in its telemetry. Because the framework targets a government-specific Windows build, the researchers conclude the intended victims are likely government organizations in Asia.

The report emphasizes that countries developing their own operating system variants must secure the entire software supply chain themselves—a process that requires time and investment.

Kaspersky detects this threat under signatures such as HEUR:Trojan.MSIL.NetamLoader.gen, Trojan.MSIL.Zapchast, and Trojan.Script.Agent. Defenders are advised to monitor update directories for unexpected configuration files and to scrutinize signed executables that load external code unusually.

Additional indicators include unexpected Windows processes with external connections and missing or altered local logs. Forwarding logs to a central server can preserve evidence if local files are erased.

Indicators of compromise (IoCs):

Type Indicator Description
Hash / archive name e4537a1762fcafd2fd96bfc825bad34f9db9a24d CAB archive
Hash F2458ED133F8D0CA19E22C10F577E98E Listed first in the report’s file-hash block
Hash E1DC6F1ED193594F2284BE22AE08DFA4 Resources.resx
Hash AB81564BCB8CA7E710C66832DE747556 .NET 1 Loader
Hash CFB8B281BDF5D9390E64B10C312FB2C1 .NET 2 Plugin
Hash 67E3617F8709D34F806F8E02BADBA8A5 fabric.config
Hash 514AC0D73B8A1B73488EF5E2E55A75C3 PatchMyPC-ScriptRunner.exe.config
Hash 514117D536E347560D049CFE0C609632 XAML-1
Hash 9000820D8153C24CD60D53001D3A97B6 XAML-2
Hash B3C4A635179680EDAFB5D006CF0CFFC6 XAML-2-1
Hash 4F28622C5E60C01319BF48CF742FE1A5 XAML-2-2
Hash C86D53392A87DD3F3E62D62C9B92A9BD XAML-3
File path C:WindowsSoftwareDistributionDownloadInstallPatchMyPC-ScriptRunner.exe.config Malicious config file
File path C:WindowsSoftwareDistributionDownloadInstallfabric.config Malicious config file
File path C:WindowsSoftwareDistributionDownloadInstallResources.resx Payload container
Domain openaigpt4v[.]com C2 server
IP address 104.18.14[.]219 C2 IP (Cloudflare)

Note: IP addresses and domains have been intentionally defanged (for example, using [.]) to prevent accidental resolution or linking. Re-fang these indicators only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM.

Give your SOC the alert context to stop incidents quickly. Integrate threat intelligence from 16K SOCs.

spot_img

More from this stream

Recomended