Not Every Fox is Silver: Inside an AtlasRAT loader chain
AtlasRAT is a modular Windows RAT delivered through a four-stage in-memory loader chain beginning with a Delphi executable disguised as Flash Player. The final payload (MainDll.Dll) establishes encrypted C2 over TLS using ChaCha20, executes modular plugins, performs offline keylogging, and injects DLLs into WeChat processes. A separate persistence module (persistence86.Dll) provides BITS tampering, NTUSER.MAN-based logon persistence, and UAC bypass via CMSTPLUA and registry hijacking. The scale of 146 unique samples with multiple PDB builds suggests commercial or private distribution rather than a single operator.
- domainbifa668[.]comC2 domain used by AtlasRAT for command and control communication
- ip101[.]43[.]53[.]116C2 server IP associated with AtlasRAT infrastructure
- ip108[.]187[.]7[.]84C2 server IP associated with AtlasRAT infrastructure
- ip116[.]204[.]169[.]70C2 server IP associated with AtlasRAT infrastructure
- ip143[.]92[.]32[.]49C2 server IP associated with AtlasRAT infrastructure
- ip143[.]92[.]32[.]65C2 server IP associated with AtlasRAT infrastructure
- ip150[.]158[.]50[.]175C2 server communicating over port 443 with TLS-based ChaCha20-encrypted channel
- ip192[.]163[.]162[.]30C2 server IP associated with AtlasRAT infrastructure
- ip206[.]119[.]191[.]242C2 server IP associated with AtlasRAT infrastructure
- ip23[.]226[.]57[.]50C2 server IP associated with AtlasRAT infrastructure
- ip27[.]124[.]20[.]172C2 server IP associated with AtlasRAT infrastructure
- ip38[.]46[.]13[.]82C2 server IP associated with AtlasRAT infrastructure
- ip82[.]23[.]246[.]175C2 server IP associated with AtlasRAT infrastructure
- mutexGlobal\NtuserManPayloadMutex created by the NTUSER.MAN persistence payload to ensure single instance execution
- sha25603d93b56ac4219a8ac8a55fd4ba777618b5682cc84bec0efe8ea78e497dd3b3dSHA256 hash of an AtlasRAT sample identified during VirusTotal retrohunt
- sha25604bef2153417efeb408d8e027bd91bb6db5b957c43ceb7429a15cb76ef436af3SHA256 hash of an AtlasRAT sample identified during VirusTotal retrohunt
- sha25606abfcb1b253bb6722d01181dc4bf90f25d012ea585974e49a7bf839a20f0d24SHA256 hash of an AtlasRAT sample identified during VirusTotal retrohunt
- sha25606b06be9dfbc70557278ebd9622c6994b30be2642793d2fafec228240459fbb2SHA256 hash of an AtlasRAT sample identified during VirusTotal retrohunt
- sha2560941884daf94d347e4bdd793b2ecb8a0692ae8054ed7d62e0663a982af113a0eSHA256 hash of an AtlasRAT sample identified during VirusTotal retrohunt
Detection / Hunteropenrouter
What Happened
A malware called AtlasRAT has been discovered that tricks users by pretending to be a Flash Player application. Once installed, it loads additional malicious components in memory (without saving them to disk, making detection harder) and connects back to attacker-controlled servers using encrypted communication. The malware can record what you type, inject itself into the WeChat messaging app, and maintain access to your computer even after reboots by exploiting built-in Windows features. It also tries to gain administrator-level access by abusing legitimate Windows tools. Security researchers found 146 different versions of this malware, suggesting it may be sold or distributed to multiple groups rather than being used by a single attacker. Organizations should check their systems for the listed indicators of compromise and ensure their security tools are updated to detect this threat.
Key Takeaways
- AtlasRAT is a modular Windows RAT delivered via a four-stage in-memory loader chain starting with a Delphi executable disguised as AGE Flash Player
- Final payload MainDll.Dll uses TLS with ChaCha20 encryption for C2, supports modular plugins, offline keylogging, and remote LoadLibraryW injection into WeChat.Exe
- Persistence module persistence86.Dll leverages BITS database tampering, NTUSER.MAN logon persistence, and UAC bypass via CMSTPLUA, fodhelper.exe, and eventvwr.exe
- Malware uses a self-signed certificate impersonating CN=update.Microsoft.Com for TLS client initialization
- VirusTotal retrohunt found 146 unique samples across 6 PDB builds and 2 developer usernames, suggesting commercial or privately distributed malware rather than a single operator
Affected Systems
- Windows (x86 and x64)
- WeChat (targeted for DLL injection)
Vulnerabilities (CVEs)
None identified.
Attack Chain
- Initial Access: Social engineering delivers Delphi executable (FlashPlay.Exe) disguised as AGE Flash Player
- Execution: Stage 1 loader performs in-memory PE loading; Stage 2 reconstructs encrypted fragments using Base64, XOR, and AES-256-CBC to create x86 downloader shellcode
- C2: Downloader shellcode beacons to C2 server; manually mapped loader calls ServiceRun export leading to final DLL
- Persistence: Persistence86.Dll establishes logon persistence via NTUSER.MAN, BITS database tampering, and UAC bypass using CMSTPLUA and registry hijacking
- Credential Access: Offline keylogging module captures keystrokes and stores data in offline.Ini
- Lateral Movement: Remote LoadLibraryW injection targets WeChat.Exe process for DLL injection
Detection Availability
- YARA Rules: No
- Sigma Rules: No
- Snort/Suricata Rules: No
- KQL Queries: No
- Splunk SPL Queries: No
- EQL Queries: No
- Other Detection Logic: No
The article provides descriptive threat hunting guidance (e.g., checking for ServiceRun exports, By@V< markers, handshake strings, and certificate fingerprints) but does not include formal YARA, Sigma, Snort, Suricata, or query rules.
Detection Engineering Assessment
| Dimension | Rating | Rationale |
|---|---|---|
| EDR Visibility | Medium | The in-memory loading and manual mapping techniques may evade some EDR sensors, but remote thread creation into WeChat.Exe, NTUSER.MAN modifications, and UAC bypass via CMSTPLUA/fodhelper.exe/eventvwr.exe are well-known behaviors that modern EDR products can detect. |
| Network Visibility | Medium | C2 uses TLS on port 443 with ChaCha20 encryption, making payload inspection difficult. However, the self-signed certificate with CN=update.Microsoft.Com and known C2 IPs/domains can be flagged via TLS fingerprinting and IP/domain reputation matching. |
| Detection Difficulty | Moderate | The in-memory execution and encrypted C2 increase difficulty, but the malware leaves identifiable artifacts on disk (offline.Ini, Wxfun.Dll, MODIf.Html), uses known UAC bypass techniques, and has static IOCs (IPs, domain, hashes, certificate subject) that enable detection. |
Required Log Sources
- Process creation and thread injection events (Sysmon EID 8, EID 1)
- Registry modification events (Sysmon EID 12, 13, 14)
- File creation events in C:\Users\Public\Documents (Sysmon EID 11)
- Network connection events (Sysmon EID 3, firewall logs)
- TLS certificate inspection logs (proxy/IDS)
- BITS service event logs
- UAC bypass-related process execution (eventvwr.exe, fodhelper.exe, CMSTPLUA)
Hunting Hypotheses
| Hypothesis | Telemetry | ATT&CK Stage | FP Risk |
|---|---|---|---|
| Consider hunting for 32-bit DLLs that export a function named ServiceRun, which is characteristic of the AtlasRAT final payload loader chain. | EDR file analysis, PE export table inspection, Sysmon EID 1 with image loading events | Execution | Low — ServiceRun is an uncommon export name for legitimate DLLs |
| Consider hunting for TLS client connections presenting a self-signed certificate with subject CN=update.Microsoft.Com, which AtlasRAT uses to impersonate Microsoft infrastructure. | TLS inspection logs, proxy logs, network IDS with TLS fingerprinting | Command and Control | Low — legitimate Microsoft services use properly signed certificates, not self-signed ones |
| Consider hunting for remote thread creation events where LoadLibraryW is injected into WeChat.Exe, indicating AtlasRAT's DLL injection technique. | Sysmon EID 8 (CreateRemoteThread), EDR process injection detection | Lateral Movement | Low to Medium — legitimate WeChat plugins may use similar injection, requiring context analysis |
| Consider hunting for file creation events in C:\Users\Public\Documents involving offline.Ini, Wxfun.Dll, or MODIf.Html, which are AtlasRAT payload artifacts. | Sysmon EID 11 (FileCreate), EDR file monitoring | Persistence / Credential Access | Low — these filenames in Public Documents are atypical for legitimate software |
| Consider hunting for UAC bypass execution chains involving CMSTPLUA, fodhelper.exe, or eventvwr.exe followed by suspicious child processes, which AtlasRAT uses for privilege escalation. | Sysmon EID 1 (ProcessCreate), EDR process ancestry analysis | Privilege Escalation | Medium — these are known UAC bypass techniques with existing detection content, but false positives from legitimate admin tools are possible |
Control Gaps
- In-memory PE loading and manual mapping may bypass file-based AV scanning
- TLS-encrypted C2 with ChaCha20 prevents network-level payload inspection
- BITS database tampering may not be monitored by standard endpoint controls
- NTUSER.MAN-based persistence is less commonly monitored compared to Run key persistence
Key Behavioral Indicators
- 32-bit DLL with ServiceRun export function
- Presence of By@V< configuration marker alongside BFuck or SFuck handshake strings
- Self-signed TLS certificate with CN=update.Microsoft.Com
- Files created in C:\Users\Public\Documents\ (offline.Ini, Wxfun.Dll, MODIf.Html)
- Remote thread creation targeting WeChat.Exe via LoadLibraryW
- NTUSER.MAN file creation or modification in user profile directories
- UAC bypass execution chains via CMSTPLUA, fodhelper.exe, or eventvwr.exe
- Mutex Global\NtuserManPayload indicating persistence payload activation
False Positive Assessment
Low — The combination of specific artifacts (ServiceRun export, By@V< marker, handshake strings, self-signed Microsoft certificate, files in Public Documents) provides strong correlation signals. Individual indicators like UAC bypass techniques or WeChat process activity may generate false positives, but the full chain of indicators significantly reduces this risk.
Recommendations
Immediate Mitigation
- Verify against your organization's incident response runbook and team escalation paths before acting. Consider blocking known C2 IPs and the domain bifa668.com at network perimeter controls if supported by your tooling.
- Consider searching endpoint telemetry for the listed SHA256 hashes and file artifacts (offline.Ini, Wxfun.Dll, MODIf.Html in C:\Users\Public\Documents) to identify potential compromises.
- If your EDR supports it, consider hunting for processes creating remote threads into WeChat.Exe, which may indicate AtlasRAT DLL injection activity.
Infrastructure Hardening
- Evaluate whether your network security tools can inspect and block TLS connections using self-signed certificates, particularly those impersonating Microsoft domains like CN=update.Microsoft.Com.
- Consider implementing monitoring for BITS service database modifications, which AtlasRAT abuses for persistence.
- If applicable, consider restricting WeChat.Exe execution in enterprise environments where it is not a business requirement, reducing the injection target surface.
User Protection
- Consider ensuring endpoint detection and response tools are configured to alert on UAC bypass techniques involving CMSTPLUA, fodhelper.exe, and eventvwr.exe.
- Evaluate whether your endpoint protection can detect in-memory PE loading and manual mapping techniques used in the AtlasRAT loader chain.
- Consider monitoring for NTUSER.MAN file creation in user profile directories as a persistence indicator.
Security Awareness
- Consider reinforcing user awareness training about social engineering tactics, as AtlasRAT is distributed via deceptive Flash Player installers.
- Consider reminding users to report unexpected Flash Player installation prompts, as Flash Player has been deprecated and any such prompts are inherently suspicious.
- If applicable, consider educating users about the risks of running unverified software, particularly those claiming to be media players or browser plugins.
MITRE ATT&CK Mapping
Initial Access
Persistence
Privilege Escalation
Stealth
Credential Access
Discovery
Command and Control
Impact
Additional IOCs
- Ips:
23[.]226[.]57[.]50- C2 server IP associated with AtlasRAT infrastructure27[.]124[.]20[.]172- C2 server IP associated with AtlasRAT infrastructure38[.]46[.]13[.]82- C2 server IP associated with AtlasRAT infrastructure82[.]23[.]246[.]175- C2 server IP associated with AtlasRAT infrastructure192[.]163[.]162[.]30- C2 server IP associated with AtlasRAT infrastructure206[.]119[.]191[.]242- C2 server IP associated with AtlasRAT infrastructure101[.]43[.]53[.]116- C2 server IP associated with AtlasRAT infrastructure108[.]187[.]7[.]84- C2 server IP associated with AtlasRAT infrastructure143[.]92[.]32[.]49- C2 server IP associated with AtlasRAT infrastructure143[.]92[.]32[.]65- C2 server IP associated with AtlasRAT infrastructure
- File Paths:
C:\Users\Public\Documents\Wxfun.Dll- Attacker-dropped DLL in Public Documents directory, part of AtlasRAT payload deliveryC:\Users\Public\Documents\offline.Ini- Offline keylogger configuration file dropped by AtlasRAT in Public Documents directoryC:\Users\Public\Documents\MODIf.Html- Attacker-dropped HTML file in Public Documents directory associated with AtlasRATC:\Users\xxx857857\Desktop\atlasPro验证版2026.6.2\Release\Plugin\x86\MainDll.PDB- PDB path revealing developer username xxx857857 and project name atlasPro, build version 2026.6.2C:\Users\xxx857857\Desktop\atlasPro Trial Version 2026.6.2\Release\Extend\x86\persistence86.PDB- PDB path for persistence module revealing developer username and trial version build
- Command Lines:
- Purpose: Remote DLL injection into WeChat process via LoadLibraryW | Tools:
LoadLibraryW,WeChat.Exe| Stage: Lateral Movement / Execution |LoadLibraryW targeting WeChat.Exe via remote thread creation
- Purpose: Remote DLL injection into WeChat process via LoadLibraryW | Tools:
- Other:
By@V<- Configuration marker string used in AtlasRAT samples for identificationBFuck\0\0\0- C2 handshake string used during initial connection by AtlasRAT loaderSFuck\0\0\0- C2 handshake string variant used during initial connection by AtlasRAT loaderCN=update.Microsoft.Com- Self-signed certificate subject name impersonating Microsoft for TLS client initialization in C2 communicationFlashPlay.Exe- Stage 1 Delphi executable disguised as AGE Flash Player, acts as in-memory PE loaderMainDll.Dll- Final payload DLL containing RAT functionality, modular plugins, and encrypted C2Persistence86.Dll- Persistence plugin providing BITS tampering, NTUSER.MAN logon persistence, and UAC bypass capabilities