Attackers compromised the official JDownloader website and replaced selected download links with trojanized installers that delivered a Python bot, an r77 rootkit stager, and a WDAC policy designed to disable security tools. The campaign used dead-drop resolvers, DGA fallback domains, and encrypted C2 communications to maintain control, while affecting users who downloaded fresh installers during the compromise window. #JDownloader #r77 #PyArmor #WDAC
Keypoints
- Attackers hacked the official JDownloader website on May 6, 2026, and swapped download links to serve malicious installers.
- The trojanized installers deployed a multi-stage payload including a Python bot protected by PyArmor v9, an r77 rootkit stager, and a WDAC policy.
- The WDAC policy blocked 50 security-related executables, including tools from Avast, AVG, Avira, Windows Defender, HitmanPro, and Kaspersky Virus Removal Tool.
- The infection chain used delays, XOR-encrypted resources, RC4-encrypted registry data, and dead-drop resolvers to hide its behavior and C2 infrastructure.
- The bot used a dead-drop resolver mechanism plus DGA fallback domains to discover C2 servers and support infrastructure rotation.
- The C2 protocol relied on RSA-OAEP and AES-GCM encryption, and the bot could execute arbitrary Python code on infected systems.
- The Linux and Windows payloads shared the same core bot logic, with the Linux chain delivering a SUID helper, PyInstaller bundle, and persistence via /etc/profile.d/systemd.sh.
MITRE Techniques
- [T1195.002 ] Supply Chain Compromise: Compromise Software Supply Chain â Attackers altered the official JDownloader download path to distribute trojanized installers. [âcompromised the official JDownloader website and swapped download links to serve trojanized installersâ]
- [T1027 ] Obfuscated Files or Information â The malware used PyArmor, XOR-encrypted resources, RC4-encrypted registry values, and obfuscated bytecode to hinder analysis. [âprotected by PyArmor v9â, âXOR-obfuscatedâ, âRC4-encrypted and hex-encodedâ]
- [T1562.001 ] Impair Defenses: Disable or Modify Tools â The WDAC policy blocked security products and Windows security services from launching after reboot. [âblocks 50 AV/EDR executables from running after rebootâ]
- [T1055.001 ] Process Injection: Dynamic-link Library Injection â The r77 stager injected DLLs into winlogon.exe to hide processes, files, and registry keys. [âinjects the r77 hooking DLLs ⌠into winlogon.exeâ]
- [T1102.001 ] Web Service: Dead Drop Resolver â The bot fetched encrypted C2 addresses from Telegraph and Rentry pages. [âThe bot fetches the page, extracts and decrypts the contentâ]
- [T1480.001 ] Execution Guardrails: Environmental Keying â Stage 2 delayed execution to outlast sandboxes before showing malicious behavior. [âthree times in sequenceâ, âdesigned to outlast automated sandboxesâ]
- [T1014 ] Rootkit â The r77-based component hid artifacts using $77-prefixed hooks and invisibility behavior. [âOnce r77 is active, the $77 prefix acts as an invisibility cloakâ]
- [T1543.003 ] Create or Modify System Process: Windows Service â The stager installed a service to survive reboots. [âinstalls a Windows service ($77svc) to ensure the rootkit survives rebootsâ]
- [T1112 ] Modify Registry â The dropper stored bot config and rootkit persistence data in registry locations. [âwrites the botâs initial configuration to HKCUSOFTWAREPythonâ, âstores the stager assembly as a binary blob in HKLMSOFTWARE$77stagerâ]
- [T1573.002 ] Encrypted Channel: Asymmetric Cryptography â The bot used RSA-OAEP to wrap the AES key during C2 handshake. [âwraps a fresh AES-256 key with the hardcoded RSA-2048 public key (OAEP, SHA-256)â]
- [T1090.003 ] Proxy: Multi-hop Proxy â The dead-drop resolver mechanism acted as an intermediary layer between infected hosts and C2 addresses. [âan intermediary, a legitimate web page where the operator publishes encrypted C2 addressesâ]
- [T1001 ] Data Obfuscation â Campaign IDs, resolver URLs, and registry content were concealed using encrypted and hex-encoded storage. [âmaking the registry entries look like random hex stringsâ]
- [T1068 ] Exploitation for Privilege Escalation â The Linux chain installed a SUID-root helper to gain root execution. [âcalls setuid(0), setgid(0), and execvp()â]
- [T1053.004 ] Scheduled Task/Job: Launchd â Not mentioned explicitly as a technique; omitted from strict list.
Indicators of Compromise
- [SHA-256 hashes ] Malicious installers, droppers, bot components, and policies â 5a6636ce490789d7f26aaa86e50bd65c7330f8e6a7c32418740c1d009fb12ef3, 6d975c05ef7a164707fa359284a31bfe0b1681fe0319819cb9e2c4eec2a1a8af, and 8 more hashes
- [Domains ] C2, staging, and dead-drop infrastructure â parkspringshotel[.]com, auraguest[.]lk, and other 6 items
- [URLs ] Active C2 panels and dead-drop resolvers â parkspringshotel[.]com/m/Lu6aeloo.php, telegra[.]ph/tr02-05-02, and 4 more items
- [IP addresses ] Server infrastructure linked to C2 and staging â 172.96.172[.]91, 209.133.215[.]178, and 1 more item
- [Registry paths ] Bot configuration and rootkit persistence â HKCUSOFTWAREPython*, HKLMSOFTWARE$77stager
- [File names and paths ] Windows policy, bot process, Linux helper, and persistence files â SIPolicy.p7b, systemd-exec, /etc/profile.d/systemd.sh, and /usr/libexec/upowerd
- [Mutex ] Host-based synchronization artifact â GlobalC3C1D37
- [User-Agent ] Bot network fingerprint â Python-urllib/3.14
- [Tor path ] Fallback access path â C:ProgramDatatortortor.exe
Read more: https://www.gendigital.com/blog/insights/research/inside-the-jdownloader-supply-chain-attack