In-Memory Evasion: Deconstructing the “Dropping Elephant” China-Themed Loader Chain

A sophisticated threat actor, tracked as “Dropping Elephant,” has deployed a highly evolved campaign characterized by the use of China-themed decoy documents and a heavily restructured, in-memory Remote Access Trojan (RAT). This campaign represents a significant shift toward stealth-centric execution, moving away from traditional disk-based persistence in favor of sophisticated memory-resident maneuvers.

The intrusion chain is a masterclass in hybrid exploitation, blending “Living-off-the-Land” (LotL) techniques with modern in-memory execution. The attack vector begins with an LNK shortcut that spawns an obfuscated PowerShell downloader. This downloader stages its artifacts in C:\Users\Public before initiating a DLL side-loading sequence. Specifically, the actor leverages a legitimate Microsoft binary, Fondue.exe, to bootstrap a custom loader. This loader decrypts and executes a Donut shellcode blob, which maps the final RAT directly into memory. By bypassing the traditional file-write process for the final implant, the actor achieves a low-footprint execution profile designed to evade disk-oriented EDR detection and complicate static analysis.

The initial lure is meticulously crafted: a GRES-3 contract completion document. This serves as a believable decoy targeting the energy sector, while a background process retrieves secondary payloads from the domain chinagreenenergy[.]org. To further obfuscate the presence of malicious tools, attackers use junk file extensions and renaming tactics to reconstruct Fondue.exe, APPWIZ.cpl, and various runtime libraries within the public user profile.

Persistence is maintained via a scheduled task named GoogleErrorReport. Configured to execute every minute, the task triggers Fondue.exe, which is then coerced into loading a malicious version of APPWIZ.cpl from the non-standard C:\Users\Public directory—a critical behavioral indicator for defenders.

The APPWIZ.cpl file acts as the primary on-disk loader. It performs a Base64 decoding of an AES-256-CBC ciphertext stored as editor.dat in C:\Windows\Tasks. By assembling the key and IV directly on the stack, it decrypts the Donut shellcode payload.

APPWIZ.cpl PE metadata showing original filename bluetooth_callback.dll

Figure 1: APPWIZ.cpl PE metadata revealing the deceptive original filename: bluetooth_callback.dll (Source: Rapid7).

Once the Donut shellcode is active, it maps the 32-bit native RAT into RWX (Read-Write-Execute) memory. It handles import resolution and applies relocations autonomously, transferring execution to the RAT without ever dropping the implant to the disk. Crucially, before handing over control, the Donut framework actively patches AMSI (Antimalware Scan Interface), WLDP (Windows Lockdown Policy), and ETW (Event Tracing for Windows) hooks in-process, effectively blinding common telemetry mechanisms.

The China-Themed Loader Chain: Advanced Hardening

The final RAT payload demonstrates professional-grade anti-analysis measures. To frustrate reverse engineers, the code employs control-flow flattening, runtime API reconstruction via LoadLibrary/GetProcAddress loops, and opaque predicates. It also utilizes static CRT linking and performs rigorous environmental checks, including process/VM artifact detection, CPUID hypervisor probes, and public-IP geolocation gating to ensure the malware is running on a legitimate target rather than a sandbox.

Full delivery chain from LNK to in-memory RAT

Figure 2: The complete delivery chain, from the initial LNK execution to the final in-memory RAT (Source: Rapid7).

Network communications are equally hardened. Command-and-control (C2) beaconing occurs over HTTPS to gcl-power[.]org, utilizing a Salsa20-encrypted payload envelope and a unique 23-character token. During the reconnaissance phase, the implant assembles a detailed host fingerprint—including username, OS version, public IP, and a complete process list—wrapped in a complex base64url(Salsa20(base64url(value))) encoding scheme. Observed operator capabilities include directory enumeration, remote execution, WIC-encoded screenshots, and file exfiltration.

Despite significant code rework intended to bypass signature-based detection, Rapid7’s analysis successfully linked this sample to the “Dropping Elephant” lineage. This attribution was made via AST-level (Abstract Syntax Tree) comparisons of command-handler structures, repeated buffer constants, and shared WININET request flows.

RAT beacon loop

Figure 3: The RAT beaconing loop, detailing the connectivity check, command polling, and idle sentinel logic (Source: Rapid7).

Defensive Recommendations

Defenders should pivot from static IOCs toward behavioral detection. Priority should be given to monitoring for:

  • LNK files spawning obfuscated PowerShell processes.
  • Unexpected file staging in C:\Users\Public.
  • High-frequency scheduled tasks (e.g., GoogleErrorReport).
  • Legitimate binaries (like Fondue.exe) loading unexpected DLLs or .cpl files from non-standard paths.
  • Telemetry gaps indicating the tampering of AMSI or ETW.

Indicators of Compromise (IOCs)

SHA-256 File Name Description
a8ecbd9c049044ca4990a0e5960d19ce782a3b42d7763e9693d7c91ead24a0b7 GRES3001.lnk Initial access shortcut; launches PowerShell downloader via conhost.exe
56d656d684077e7b3231393f5464447cdc8eea81b6415c5f010bc52f0c8cb317 GRES3001.pdf Decoy energy-sector document
b58351ead08db413ca499cfeb1b1091ed8bfd68f4089605e452fa01ed46f42b1 Fondue.exe Legitimate Microsoft binary used for side-loading
914da75a4ad6d70db856a2bc318d8828f28894622f017ee78d470b4794faafa6 APPWIZ.cpl Malicious loader; exports RunFODW
718812adb0d669eea9606432202371e358c7de6cdeafeddad222c36ae0d3f263 msvcp140.dll Bundled VC++ runtime (Verify against known-good)
09d1e604e8cdd06176fcc3d3698861be20638a4391f9f2d9e23f868c1576ca94 vcruntime140.dll Bundled VC++ runtime (Verify against known-good)
a5e448af73b0ff6b6fcfe6ef7808120e1fd7e5c4c9b4edd68e1c980e5ea3406b editor.dat Base64-wrapped AES-256-CBC encrypted payload
ecab0e747bff16a1163bbd9bb494e68dd4d7ca655ac7279bd4dd73221f7df57c editor.decrypted.bin AES-decrypted Donut loader blob
7099c33933716c00c1f4bdb0281c230b981c76b23d7d1c83abc6f58968267d54 editor.extracted.exe Final RAT implant (carved from memory)

 

Related Articles

Back to top button
Px Ly