Le site de JDownloader a été compromis début mai 2026 (signalé le 7 mai 2026 à 17h06 sur Reddit) et a distribué une version modifiée des installeurs Windows et Linux de JDownloader (https://www.bleepingcomputer.com/news/security/jdownloader-site-hacked-to-replace-installers-with-python-rat-malware/), une Supply-Chain attack. Ce type d’attaque par compromission de la chaîne d’approvisionnement est particulièrement redoutable, car il détourne la légitimité du site officiel pour infecter des utilisateurs ne se doutant de rien.
Les versions compromises de l’installeur de JDownloader contiennent un loader (stage 2) qui exécute un RAT python (stage 3) après avoir désactivé les antivirus de la machine infectée.

Résumé de l’attaque
Nous proposons ici une analyse de ce malware (md5: d3b398a757b424f91e645985ade00516) à partir des résultats de notre moteur d’analyse Gorille. Gorille va permettre de vérifier l’intégrité des installeurs de JDownloader en comparant les fonctionnalités avec des fonctionnalités préalablement identifiées comme malveillantes.
Identification de la fonction malveillante avec Gorille

Vue principale de l’analyse Gorille
L’installeur est détecté par Gorille comme partageant du code commun avec plusieurs malware différents. Il a bien identifié une modification malveillante de l’installeur de JDownloader. https://demo.gorille.tech/file/detail/6a0483aafa6bd8c8ea7e71a4?publicToken=EDzRHRCguQnhVVUeB6b5ECJ_uqlVTGJjZYbWZLfAxOQ

Description des similarités de l’analyse Gorille

Affichage des adresses de similarité Gorille – aide au reverse
L’analyse Gorille permet d’aller plus loin en ciblant la fonctionnalité problématique dans le code de l’installeur JDownloader compromis. Pour cela il suffit de lister les adresses identifiées comme du code malveillant. Ces Adresses du code de l’installeur JDownloader compromis ciblent une zone bien spécifique de l’installeur : la fonction sub_1400019e0.

Fonction malveillante dans l’installeur JDownloader
Cette fonction effectue notamment un PEB walk afin de masquer des appels API — comportement très suspect, commun à de nombreux malwares — que Gorille est capable de détecter. Masquer les appels API permet aux malwares de cacher leur comportement face à des analyses statiques.
Gorille nous a mis sur la voie pour débuter l’analyse
L’explicabilité des résultats de Gorille permet de récupérer les endroit exacts qu’il considère comme suspect, cela permet de lié la fonction à des fonctions peut être déjà analysée par des équipes de reverse. Ici nous avons tout de suite identifié la fonction d’API hashing par similarité avec d’autres malware utilisant le meme type de fonctionnalité.
Dans cette fonction sub_1400019e0, on distingue des appels maqués à des API, notamment WriteFile et ShellExecute. On repère également une boucle de déchiffrement : un xor qui déchiffre deux fichiers avec la clé ectb (adresse du XOR 0x140001fc5) :

- Un fichier “BIN1”, fichier légitime qui lance l’installeur légitime de JDownloader
- Un fichier “BIN2”, le loader stage 2 qui est déposé dans Temp. Ce loader désactive plusieurs antivirus et lance le RAT python.

Boucle de déchiffrement du Loader stage 2

Écriture du fichier temporaire contenant le Loader stage 2

Exécution du Loader stage 2
Une fois exécuté, les strings qui correspondent aux registres et à au lancement du script python sont déchiffrés à la volée avec la clé : fywo`

Strings chiffrées dans le code du Loader stage 2
Une fois déchiffrée, nous distinguons les strings suivantes :
sub_140003320
Registry Manipulation, Deactivate Real-Time protection, ...
SOFTWARE\Policies\Microsoft\Windows Defender
DisableAntiSpyware
SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection
DisableRealtimeMonitoring
SOFTWARE\Policies\Microsoft\Windows Defender Security Center\Account protection
SOFTWARE\Policies\Microsoft\Windows Defender Security Center\App and Browser protection
SOFTWARE\Policies\Microsoft\Windows Defender Security Center\Device performance and health
SOFTWARE\Policies\Microsoft\Windows Defender Security Center\Family options
SOFTWARE\Policies\Microsoft\Windows Defender Security Center\Firewall and Network protection
SOFTWARE\Policies\Microsoft\Windows Defender Security Center\Virus and threat protection
\Policies\Microsoft\Windows\WindowsUpdate
Le loader stage 2 installe son interpréteur maison “pythonw.exe”, et installe les différentes librairies pour le script Python malveillant, notamment cryptography et request qui serviront à contacter les C2.
Le loader exécute le script python malveillant packé par PyArmor :
unk_14002eff0 (Installation RunTime)
\pythonw.exe -m pip install --timeout 30 --retries 99999 -U pywin32 cryptography msvc-runtime gevent requests requests[socks]
sub_14000ADD0 runPython:
PYTHON314_INSTALLER
/quiet Include_tcltk=0 Include_test=0 Include_doc=0 Shortcuts=0 AppendPath=1
C:\Program Files\Python314
BIN1
BIN2
BIN3
\Lib\runtime.py
\Lib\pyarmor_runtime_000000
\Lib\pyarmor_runtime_000000\__init__.py
\Lib\pyarmor_runtime_000000\pyarmor_runtime.pyd
pythonw.exe
HKCU\SOFTWARE\PythonBilan sur l’utilisation de Gorille pour détecter des attaques sur la Supply-chain
Gorille est un outil efficace dans ce contexte d’attaque sur la Supply-chain, il permet comme ici d’identifier immédiatement la compromission sur JDownloader. Mais il permet aussi d’aller plus loin pour accélérer l’analyse de la compromission, qui elle est une étape indispensable pour connaitre l’impact réel de l’attaque sur les systèmes qui ont téléchargés la version compromise de JDownloader.
IOCs
| d3b398a757b424f91e645985ade00516 | Installeur compromis de JDownloader (Windows version) |
| 0721d27c2530ee11b92ed67d8aae29be | Loader stage 2 (BIN2) |
| parkspringshotel[.]com/m/Lu6aeloo.php auraguest[.]lk/m/douV2quu.php 172.96.172.91 209.133.215.178 | C2 servers |
References
Analyse Gorille du programme d’installation corrompu de JDownloader :
Article à propos de cette attaque :
Personnes ayant également partagé leur analyse de ce logiciel malveillant au moment où nous avons terminé la rédaction de cet article :
Extraction de la clé PyArmor :