Écrire un malware une seule fois et l’expédier sur trois systèmes d’exploitation : le rêve de tout développeur, y compris ceux qui codent des chevaux de Troie. Les chercheurs de LevelBlue ont documenté QuimaRAT, un cheval de Troie d’accès à distance (RAT) écrit en Java et commercialisé sous forme de malware-as-a-service. Sa promesse commerciale tient en un mot : la portabilité.
Points clés
- QuimaRAT est un RAT écrit en Java, commercialisé en malware-as-a-service
- Il vise Windows, Linux et macOS avec une base de code unique grâce aux bibliothèques JNA
- Architecture modulaire à plugins chiffrés et persistance adaptée à chaque système d’exploitation
Un RAT qui refuse de choisir son camp
Là où la plupart des logiciels malveillants ciblent une plateforme précise, QuimaRAT joue la carte de l’universalité. Grâce à Java et aux bibliothèques JNA (Java Native Access), qui font le pont entre le code Java et les appels système natifs, le programme prend le contrôle de machines sous Windows, Linux et macOS avec la même base de code.
Le principe du malware-as-a-service vaut ce qu’il annonce : un opérateur développe l’outil, d’autres le louent pour mener leurs campagnes. La mutualisation du crime numérique, en somme, avec le support technique en moins et l’impunité en prime.
Plugins chiffrés et persistance sur mesure
QuimaRAT s’appuie sur une architecture modulaire à base de plugins chiffrés, chargés selon les besoins de l’attaquant. Cette approche complique l’analyse et permet d’ajouter des fonctions sans réécrire le cœur du programme.
Selon LevelBlue, le malware adapte aussi ses mécanismes de persistance au système hôte, c’est-à-dire les techniques qui lui permettent de survivre à un redémarrage. Chaque OS reçoit son traitement dédié pour rester en place le plus longtemps possible.
Ce qu’il faut en retenir
Le multiplateforme n’est plus l’apanage des applications légitimes. En misant sur Java, les auteurs de QuimaRAT abaissent le coût d’entrée d’une attaque visant simultanément trois environnements. Pour les administrateurs, la leçon est connue mais mérite répétition : surveiller les processus Java inhabituels et les mécanismes de persistance suspects ne relève pas de la paranoïa, mais de l’hygiène de base.