A doubled “Dragon Breath” adds new air to DLL sideloading attacks

Two-stage DLL sideloading campaigns build on classic sideloading by introducing a second clean application that auto-executes a malicious loader, which then runs the final payload. The operation, linked to Dragon Breath/Golden Eye Dog, targets online-gambling users across Asia and uses multiple lure apps (Telegram, LetsVPN, WhatsApp) to drop components and persistence mechanisms while varying the second-stage application to evade detection. Hashtags: #DragonBreath #GoldenEyeDog

Keypoints

  • The attack chain extends classic DLL sideloading into a double-clean-app workflow: a first-stage clean app side-loads a second clean app, which then sideloads a malicious loader DLL that finally executes the payload.
  • Threat actors are associated with Operation Dragon Breath, also called APT-Q-27 and Golden Eye Dog, with a focus on online-gambling targets and multiple variations of the second-stage application.
  • Initial infection vectors include Telegram-based installers, with other lures like LetsVPN and WhatsApp MSI packages; the delivery site telegramos.org sometimes serves different versions based on user-agent.
  • The first-stage Telegram installer drops components, creates a startup shortcut, and uses a renamed Windows component (regsvr32.exe) to run JavaScript, enabling the sideloading chain.
  • Second-stage variants swap out the second-stage clean application (e.g., XLGame.exe, KingdomTwoCrowns.exe) and adjust dependencies (UNITYPLAYER.dll, d3dx9_43.dll) to enable endless DLL sideloading.
  • The final payloads are cryptowallet-stealers; payload encryption uses a simple SUB and XOR, followed by decompression and execution of a shellcode loader that loads the DLL into memory and executes it.
  • Indicator of compromise includes the use of a C2 domain nsjdhmdjs.com and multiple SHA-256 hashes for the installers and payloads; campaigns also reference the domain telegramos.org.

MITRE Techniques

  • [T1574.001] DLL search order hijacking – The malicious loader DLL loads the payload by abusing a sideloading flow where a legitimate app loads a malicious DLL. ‘The malicious loader DLL finds templateX.txt in the same directory, loads the content, decrypts the payload loader shellcode, and executes it.’
  • [T1218.011] Regsvr32 – The first-stage chain uses a renamed regsvr32-based execution path to run an alternate DLL; ‘It will execute the appR.dll library, which is another renamed Windows component, scrobj.dll — the script execution engine.’
  • [T1059.007] JavaScript – The attacker uses JavaScript executed via a Windows shortcut to display the Telegram UI while dropping sideloading components; ‘When the shortcut is executed, the JavaScript code runs.’
  • [T1547.001] Boot or Logon Autostart Execution – Persistence is achieved by creating a startup shortcut so the malware runs on startup; ‘The installer also creates a shortcut on the desktop… establishes persistence and allows for automatic execution after system startup.’
  • [T1036] Masquerading – The attackers rename legitimate components to masquerade as legitimate software; ‘The second-stage clean loader is renamed once again to XLGameUpdate.exe, but its original (real) name is KingdomTwoCrowns.exe.’
  • [T1027] Deobfuscation/Decompression – The payload is encrypted with a simple SUB/XOR scheme and then decrypted for execution; ‘The payload’s encryption is a simple combination of bytewise SUB and XOR.’
  • [T1041] Exfiltration Over C2 Channel – The final backdoor stores and potentially exfiltrates data via a C2 path; includes references to an updated C2 address encoded in the data: ‘CopyC: updated C2 address (encoded with bytewise XOR 5 + BASE64)’.
  • [T1204] User Execution – The infection begins when users run lure installers (Telegram, LetsVPN, WhatsApp); ‘When the malicious Telegram installer… is run, it installs and executes the sideloading package.’

Indicators of Compromise

  • [Hash] Telegram installer – 097899b3acb3599944305b064667e959c707e519aef3d98be1741bbc69d56a17
  • [Hash] LetsVPN variant – e414fc7bcd80a75d57ee4fdbb1c80a90a0993be8e8bbbe0decfc62870a2e1e86
  • [Hash] WhatsApp main exe sample – 91e4eb7517f55ac93b1da109539aa0011e9346be41704dc0da360ebad0f3f63d
  • [Hash] WhatsApp dll sample – e25289d44403a6f6132a470fdbe6b46eade466d08eca0ad44fca519592c54fdf
  • [Hash] WhatsApp updater/exe – fffa7a97fba9dfb235f969ecce0e5c4a71a48a37c1bc79b77cd78f0ab72f993d
  • [Hash] WhatsApp little unzip – 81046f943d26501561612a629d8be95af254bc161011ba8a62d25c34c16d6d2a
  • [Hash] WhatsApp exe variant – 8d92c7d7f301bc0e4965dbd9253933a4580883805119dd7c27788d04c17d595e
  • [Hash] Final payload (debug build) – d86f1292d83948082197f0a29fcb69fdec9feb4bf3898d7b8e693c7d5a28099c
  • [Hash] Final payload (gh0st reference) – 64613eadd91a803fe103bef5349db04ddfc01b8d115ba7a24a694563123d38ad
  • [Domain] Telegram lure site – telegramos.org
  • [Domain] C2 domain – nsjdhmdjs.com
  • [Domain] Delivery domain (malicious Telegram site) – telegramos.org (tie-in)
  • [File name] Application.exe (XLGame.exe renamed) and other second-stage loaders like XLGameUpdate.exe, KingdomTwoCrowns.exe

Read more: https://news.sophos.com/en-us/2023/05/03/doubled-dll-sideloading-dragon-breath/