JDownloader piraté : un malware RAT Python distribué depuis le site officiel

Le 7 mai 2026 à 17h06 UTC, un utilisateur Reddit signale que les installateurs téléchargés depuis le site officiel de JDownloader déclenchent une alerte Windows Defender. Dix-huit minutes plus tard, les développeurs coupent le serveur. Entre ces deux instants, et depuis près de 41 heures déjà, le site distribuait un **RAT (**Remote Access Trojan) en Python modulaire, fortement obfusqué et capable d’exécuter du code arbitraire à distance sur chaque machine infectée.

Gestionnaire de téléchargements libre disponible sur Windows, Linux et macOS, JDownloader est utilisé par des millions de personnes depuis plus d’une décennie. C’est précisément cette base installée, et la confiance qu’elle accorde à un site officiel établi de longue date, qui transforme l’incident en cas d’école d’attaque sur la chaîne d’approvisionnement logicielle. Le CMS constituait ici le véritable point d’entrée : sans toucher au code source ni aux serveurs de build, les attaquants ont simplement détourné les mécanismes de distribution qui inspirent un sentiment de sécurité aux utilisateurs.

Un CMS non corrigé suffit à détourner les liens de téléchargement

Les attaquants n’ont jamais touché aux serveurs sous-jacents de JDownloader. Ils ont exploité une vulnérabilité non corrigée dans le système de gestion de contenu du site, qui leur a permis de modifier les listes de contrôle d’accès et le contenu publié sans authentification. Leur périmètre d’action s’est limité aux pages et aux liens gérés par le CMS, sans atteindre le système de fichiers ni le système d’exploitation du serveur.

La chronologie reconstituée par l’équipe trahit une approche méthodique. Le 5 mai 2026 vers 23h55 UTC, les attaquants testent leur technique sur une sous-page à faible trafic, sans toucher aux liens principaux. Le 6 mai à 00h01 UTC, les liens de téléchargement basculent sur les installateurs malveillants. La fenêtre de risque court jusqu’au 7 mai à 17h24 UTC, moment où le serveur est coupé après une première alerte Reddit publiée 18 minutes plus tôt. Le site reste hors ligne pendant toute la phase de remédiation et n’est remis en service que dans la nuit du 8 au 9 mai avec des liens vérifiés.

Screenshot of JDownloader incident notice listing affected and unaffected download channels
Avis concernant l’incident JDownloader précisant les canaux de téléchargement concernés – Source : JDownloader

Deux chemins de téléchargement précis ont été modifiés : le lien « Download Alternative Installer » sous Windows, décliné en plusieurs versions selon l’architecture et la version de Java embarquée, et le script shell Linux. Tout le reste a été épargné : mises à jour in-app, packages Flatpak, Winget, Snap, archive JAR principale et téléchargements macOS. Les mises à jour distribuées via l’application reposent en effet sur une vérification cryptographique RSA indépendante du site web, qui a tenu pendant toute la durée de la compromission.

Un wrapper, un loader chiffré, un RAT Python obfusqué

Le premier signalement public vient de l’utilisateur Reddit “PrinceOfNightSky”. Son témoignage décrit le signal d’alerte visible côté victime : fichiers marqués comme malveillants par Microsoft Defender, et surtout un éditeur affiché dans les propriétés du fichier indiquant « Zipline LLC » ou « The Water Team » au lieu d' »AppWork GmbH », l’éditeur légitime de JDownloader. L’absence ou l’invalidité de la signature numérique constituait un indicateur fiable, à condition de penser à vérifier.

Le chercheur Thomas Klemenc a publié sur X la première analyse technique des exécutables Windows malveillants. Le wrapper initial est un binaire non signé qui embarque deux ressources : l’installateur JDownloader légitime d’un côté, un second PE chiffré de l’autre. Ce second binaire fait office de loader à plusieurs étages. Une fois déchiffré, il extrait et exécute le payload final, un RAT en Python fortement obfusqué via PyArmor (un outil légitime permettant de protéger du code Python, mais souvent utilisé par les malwares Python pour compliquer la rétro-ingénierie).

First JDownloader compromise IoCs
First JDownloader compromise IoCs – Source : Thomas Klemenc sur X

Le payload intègre un délai d’activation de huit minutes, technique destinée à passer sous les radars des sandbox d’analyse automatisée qui n’attendent généralement pas aussi longtemps avant de conclure à l’absence de comportement malveillant. Ce type de temporisation reste particulièrement efficace contre les pipelines automatisés d’analyse de masse, dont les fenêtres d’observation dépassent rarement quelques minutes pour des raisons de coût et de scalabilité. La chaîne d’exécution complète est documentée dans une sandbox ANY.RUN partagée publiquement.

JDownloader malware sandbox ANY RUN
JDownloader chaîne d’exécution complète – Source : Any Run

Une fois activé, le RAT Python fonctionne comme un bot modulaire. Il accepte et exécute du code Python arbitraire envoyé depuis les serveurs de commande et de contrôle, ce qui permet aux attaquants de modifier ses capacités à la volée sans nécessiter de nouvelle infection. Deux serveurs C2 (Command & Control) ont été identifiés dans les IOCs publiés par Thomas Klemenc : parkspringshotel[.]com/m/Lu6aeloo.php et auraguest[.]lk/m/douV2quu.php, vraisemblablement deux sites légitimes eux-mêmes compromis et utilisés comme relais.

Côté persistance Windows, Klemenc a relevé des clés de registre sous HKCU\\\\SOFTWARE\\\\Python et un mutex Global\\\\0C3C1D37.

Le payload Linux installe un binaire SUID-root et se déguise en upowerd

L’analyse de BleepingComputer sur le script shell Linux modifié révèle une logique différente mais tout aussi agressive. Le code malveillant avait été injecté directement dans le script d’installation, qui téléchargeait une archive depuis checkinnhotels[.]com sous l’apparence d’un fichier SVG.

Une fois décompressée, l’archive libérait deux binaires ELF, pkg et systemd-exec. Ce dernier était installé comme binaire SUID-root dans /usr/bin/, ce qui accorde des privilèges élevés au processus dès son exécution. Le payload principal était copié vers /root/.local/share/.pkg, un script de persistance créé dans /etc/profile.d/systemd.sh, et le malware lancé sous le nom /usr/libexec/upowerd, un processus système légitime utilisé pour la gestion de l’énergie. Le binaire pkg, obfusqué via PyArmor lui aussi, n’a pas encore été entièrement analysé.

JDownloader malware code Linux installer
Code du malware dans le programme d’installation de JDownloader pour Linux – Source : BleepingComputer

Les indicateurs de compromission SHA256 publiés par les développeurs couvrent sept fichiers malveillants distincts sur Windows, répartis entre les architectures amd64 (quatre fichiers) et x86 (trois fichiers) et les différentes versions Java embarquées. La liste complète figure dans le rapport d’incident officiel.

Troisième compromission d’un site logiciel populaire en six semaines

L’incident JDownloader s’inscrit dans une série courte et précise. Début avril 2026 (9-10 avril), le site de CPUID, éditeur de CPU-Z et HWMonitor, était compromis pour distribuer des installateurs piégés déployant le RAT STX via du DLL sideloading. Quelques semaines plus tard, les développeurs de DAEMON Tools confirmaient que des versions de leur logiciel de virtualisation de disques diffusées depuis le 8 avril intégraient un backdoor. Kaspersky a comptabilisé plusieurs milliers d’installations malveillantes dans une centaine de pays avant la publication de la version corrigée, le 5 mai, deux jours seulement avant que JDownloader ne ferme temporairement à son tour son site.

Ces trois incidents partagent un même schéma : les attaquants ne s’en prennent pas aux logiciels eux-mêmes mais à l’infrastructure de distribution, qu’il s’agisse du CMS, de l’API de téléchargement ou du mécanisme de mise à jour. L’objectif est d’instrumentaliser la confiance que les utilisateurs accordent aux sources officielles. Le vecteur diffère ainsi nettement des campagnes de malvertising ou de SEO poisoning qui montent de faux sites en imitation des logiciels populaires : ici, c’est le site légitime qui sert lui-même de point de distribution.

Marche à suivre pour les utilisateurs potentiellement exposés

Les développeurs de JDownloader sont explicites sur le périmètre du risque : seules les personnes ayant téléchargé et exécuté un des installateurs affectés entre le 6 et le 7 mai 2026 sont concernées. Un téléchargement non exécuté ou une simple visite du site ne présente pas de risque.

Première étape, vérifier si le fichier téléchargé figure dans la liste des SHA256 publiés dans le rapport d’incident. Si l’installateur a été exécuté, un scan antivirus ne suffit pas. Compte tenu de l’architecture multi-étages du malware et de ses mécanismes de persistance, développeurs et analystes convergent vers une seule recommandation : réinstallation complète du système d’exploitation.

Dans l’attente de cette remise en état, changer les mots de passe des comptes importants depuis un autre appareil est fortement recommandé. Le malware ayant la capacité d’exécuter du code arbitraire sur la machine infectée, la compromission des identifiants stockés doit être considérée comme probable.

Authenticated JDownloader installer
Programme d’installation authentifié de JDownloader – Source : BleepingComputer

Pour vérifier qu’un installateur JDownloader est légitime, la procédure reste simple : clic droit sur le fichier, Propriétés, onglet Signatures numériques. Tout installateur officiel est signé par AppWork GmbH. Toute autre mention, ou l’absence pure et simple de signature, constitue un signal sans ambiguïté.

La confiance dans la source officielle n’est plus une garantie

Ce que les attaquants exploitent dans ces compromissions, c’est précisément le comportement d’utilisateur le plus défendu par les bonnes pratiques de sécurité : vérifier l’URL, télécharger depuis le site officiel, ne pas s’éloigner de la source. La même mécanique de confiance qu’observe la prévention contre l’ingénierie sociale qui transforme les utilisateurs en complices opère ici à un niveau plus profond, en amont de tout choix de l’utilisateur.

La vérification systématique des signatures numériques avant exécution d’un installateur reste la contre-mesure la plus directe. Quelques secondes auraient suffi à n’importe quel utilisateur exposé pour repérer l’anomalie : les fichiers malveillants étaient soit non signés, soit signés par un éditeur inconnu. Les alertes Microsoft Defender et SmartScreen constituaient un second filet de sécurité que plusieurs victimes ont choisi de contourner manuellement.

Pour les équipes de sécurité, la répétition de ces compromissions sur six semaines pose une question opérationnelle : la vérification des hashes d’installateurs et l’intégration du contrôle d’intégrité dans les politiques de déploiement, même pour des logiciels parfaitement légitimes, deviennent un prérequis difficile à éviter.

Ce que démontre l’affaire JDownloader, ce n’est pas seulement qu’un site officiel peut être compromis, mais que les mécanismes mêmes censés réduire le risque, confiance dans la source, automatisation des téléchargements, réputation logicielle, deviennent désormais des surfaces d’attaque à part entière.

Sources :

BleepingComputer : JDownloader site hacked to replace installers with Python RAT malware

Security Affairs : Official JDownloader site served malware to Windows and Linux users between May 6 and May 7

Hackread : Hackers Hijack JDownloader Site to Deliver Malware Through Installers

JDownloader : JDownloader — Website installer incident (May 2026)

Reddit r/jdownloader : Is the website hacked?

Thomas Klemenc (X/@thomasklemenc) : First #JDownloader compromise IoCs

Reddit r/cybersecurity : JDownloader’s official website delivered Python RAT

Kaspersky : Supply chain attack via DAEMON Tools

Image de Florent Chassignol
Florent Chassignol
Attiré très jeune par l'informatique, je suis aujourd'hui Fondateur et CEO de Recoveo, leader français de la récupération de données. Vous êtes victime d'un ransomware, votre serveur est HS, votre téléphone a plongé dans la piscine ? Nous sommes là pour vous !

Partager cet article