Evolution of the PipeMagic backdoor: from the RansomExx incident to CVE-2025-29824

Evolution of the PipeMagic backdoor: from the RansomExx incident to CVE-2025-29824

Microsoft patched 121 vulnerabilities in April 2025, with CVE-2025-29824 actively exploited by the PipeMagic backdoor observed in campaigns since 2022 and resurfacing in 2024–2025 targeting Saudi Arabia and Brazil. The malware uses varied loaders (trojanized Rufus, fake ChatGPT Rust/Tauri apps, .mshi msbuild loaders, and DLL hijacking), named pipes and 127.0.0.1:8082 for communication, and modules for injection, I/O, and bypassing AMSI to enable credential theft and lateral movement. #PipeMagic #CVE-2025-29824

Keypoints

  • Only CVE-2025-29824 was observed exploited in the wild among the 121 Microsoft patches released in April 2025.
  • PipeMagic backdoor was first seen in Dec 2022 (RansomExx campaign) and reappeared in Oct 2024 and Jan 2025 targeting organizations in Saudi Arabia and Brazil.
  • Attackers used diverse initial loaders: trojanized Rufus, a fake ChatGPT Rust/Tauri app, .mshi msbuild loaders with obfuscated C# and RC4, and DLL hijacking via legitimate executables (e.g., Google update).
  • PipeMagic communicates via randomly named named pipes (.pipe1.) and a local network interface 127.0.0.1:8082, and downloads plugins from an Azure-hosted domain (aaaaabbbbbbb.eastus.cloudapp.azure[.]com).
  • Modules include an asynchronous I/O module, a loader for 64-bit payloads exporting DllRegisterService, and an injector that disables AMSI and loads .NET payloads via mscoree.dll.
  • Post-exploitation includes dumping LSASS memory using ProcDump renamed to dllhost.exe to extract credentials and enable lateral movement—method noted by Microsoft in CVE-2025-29824 context.
  • IoCs include multiple file hashes, domain aaaaabbbbbbb.eastus.cloudapp.azure[.]com, filenames like metafile.mshi, chatgpt.exe, googleupdate.dll, and named pipes such as .pipe104201.%d and .pipe1..

MITRE Techniques

  • [T1090] Proxy: Intra-network – PipeMagic uses a local network interface 127.0.0.1:8082 to interact with named pipes for relaying encrypted payloads and notifications (“…the standard network interface with the IP address 127.0.0.1:8082 is used to interact with the named pipe.”)
  • [T1204.002] User Execution: Malicious File – Attackers delivered fake ChatGPT client applications (Rust/Tauri) that executed shellcode when launched (“…a fake ChatGPT client application as bait… when launched, it simply displayed a blank screen” and extracted/decrypted a payload).
  • [T1218] Signed Binary Proxy Execution: Msbuild – Attackers executed .mshi via msbuild to run obfuscated C# loader code (“cmd.exe “/k … msbuild.exe c:windowshelpmetafile.mshi””).
  • [T1070.004] Indicator Removal on Host: File Deletion – Loaders deploy decrypted code into memory and delete the original payload file after loading (“…the library deploys the decrypted code into memory and transfers control to it, and the original file is subsequently deleted”).
  • [T1055] Process Injection – Multiple loaders and modules inject decoded/decrypted shellcode or executables into memory and relocate imports before transferring execution to the payload (“…memory was allocated, necessary offsets in the import table were relocated, and finally, the backdoor’s entry point was called.”).
  • [T1547.001] Boot or Logon Autostart Execution: DLL Search Order Hijacking – Attackers used DLL hijacking by placing a malicious DLL alongside a legitimate executable (e.g., Google Chrome update) to execute malicious initialization code in DllMain (“…malicious DLL was placed on the disk alongside the legitimate application… the malicious code was contained in the initialization function (DllMain)”).
  • [T1562.001] Impair Defenses: Disable or Modify Tools – Injector module patches AMSI functions AmsiScanString and AmsiScanBuffer in memory to always return safe, bypassing AMSI (“…a stub function is placed in memory that always returns 0 (thus marking the file as safe)”).
  • [T1005] Data from Local System – LSASS Memory Dumping – Attackers used ProcDump (renamed to dllhost.exe) to dump LSASS memory to extract credentials (“…use this utility to dump the LSASS process memory into the file specified as the last argument”).
  • [T1105] Ingress Tool Transfer – C2 download of modules – PipeMagic downloads plugins/modules from an Azure-hosted C2 domain (hxxp://aaaaabbbbbbb.eastus.cloudapp.azure[.]com) to extend functionality (“…attackers used a domain hosted on the Microsoft Azure cloud provider… to download modules”).

Indicators of Compromise

  • [Domain ] C2 infrastructure – aaaaabbbbbbb.eastus.cloudapp.azure[.]com
  • [File hash ] initial loader (.mshi) – 5df8ee118c7253c3e27b1e427b56212c (metafile.mshi)
  • [File hash ] fake ChatGPT loader – 7e6bf818519be0a20dbc9bcb9e5728c6 (chatgpt.exe), 60988c99fb58d346c9a6492b9f3a67f7 (chatgpt.exe)
  • [File hash ] DLL hijack library – e3c8480749404a45a61c39d9c3152251 (googleupdate.dll)
  • [File hash ] PipeMagic backdoor PE – 1a119c23e8a71bf70c1e8edf948d5181 and additional hash bddaf7fae2a7dac37f5120257c7c11ba (backdoor variants)
  • [Pipe name ] Named pipes used for IPC – .pipe104201.%d, .pipe1.


Read more: https://securelist.com/pipemagic/117270/