Virus Quasar sur Linux espionne des développeurs pendant des mois sans laisser de traces sur le disque

13 mai 2026

Virus Quasar sur Linux espionne des développeurs pendant des mois sans laisser de traces sur le disque

Imaginez découvrir que votre machine de développement est compromise depuis trois mois. Pire encore : au cours de cette période, quelqu’un a publié des paquets malveillants sur NPM en utilisant votre jeton, a accédé à votre infrastructure AWS et s’est déplacé latéralement parmi les serveurs de votre entreprise. C’est exactement le genre de scénario que permet le nouveau virus Quasar Linux (QLNX), et des chercheurs de Trend Micro viennent tout juste de révéler comment il opère.

Ironiquement, le malware a été détecté parce que le système d’intelligence de l’entreprise a repéré un échantillon dont le taux de détection était pratiquement nul par les antivirus traditionnels. En d’autres termes, il passait inaperçu. De plus, la cible est clairement définie : des développeurs ayant accès à des dépôts de code, des environnements cloud et des registres publics de paquets.

Pourquoi ce virus fait-il peur à la communauté des développeurs

Tout d’abord, le QLNX n’est pas qu’un simple cheval de Troie d’accès à distance. Il agit comme une plateforme complète d’espionnage et de contrôle, capable de fonctionner pendant des mois sans être détecté. Ainsi, une fois installé, l’attaquant peut publier des paquets malveillants au nom de la victime.

De plus, il peut infiltrer des infrastructures cloud connectées à la machine. Enfin, le mouvement latéral à travers des serveurs exposés amplifie considérablement les dégâts. Pour ceux qui gèrent des bibliothèques avec des millions de téléchargements, le risque est catastrophique.

Comment le virus efface sa propre trace en quelques secondes

La première action du QLNX une fois lancé est de se copier dans la mémoire RAM. Ensuite, il se réexécute à partir de cet espace et efface le fichier original du disque. En pratique, après ce processus, il n’existe plus de fichier que l’enquêteur puisse trouver.

Toute l’opération se déroule en mémoire. Par conséquent, les outils traditionnels d’analyse médico-légale se retrouvent pratiquement aveugles. Ce comportement, qualifié de « fileless », était déjà courant dans les malwares Windows, mais il reste rare dans le domaine Linux.

De plus, le virus renomme son propre processus pour imiter des fonctions légitimes du noyau, telles que [kworker/0:0] ou [watchdog/0]. Des outils comme le commande ps affichent uniquement un nom apparemment inoffensif. Le camouflage est appliqué en trois endroits différents simultanément pour assurer une cohérence.

Six mécanismes de persistance simultanés

Le QLNX propose six mécanismes différents de persistance. Ils peuvent être activés de manière combinée par l’attaquant, selon les besoins.

Le plus agressif exploite une fonctionnalité native de Linux appelée LD_PRELOAD. Ce mécanisme force le système à charger une bibliothèque du malware à chaque exécution d’un programme. Même des commandes simples comme ls ou ps déclenchent ce chargement.

Par conséquent, supprimer ce processus sans éliminer préalablement cette entrée ne suffit pas pour mettre fin au problème. En pratique, il ressurgit dans la seconde qui suit. En plus de ce mécanisme, le virus s’installe sous forme de :

Chacun de ces mécanismes opère de manière indépendante. Par conséquent, l’élimination complète devient un processus complexe, même pour des professionnels chevronnés.

Rootkit en deux couches : ce qui change la donne

Le QLNX met en œuvre un rootkit à deux niveaux pour dissimuler sa présence. Cette approche double est ce qui rend l’outil si difficile à traquer.

Première couche : compilation locale

Dans un premier temps, le malware se compile directement sur la machine infectée une bibliothèque qui intercepte les fonctions fondamentales du système. L’énumération des fichiers et la vérification des processus deviennent trompeuses. Des outils comme ls et find ne voient tout simplement pas les fichiers du malware.

D’ailleurs, le compilateur utilisé est le gcc intégré à la machine cible. Cela élimine les soucis de compatibilité entre différentes distributions Linux. En d’autres termes, cela fonctionne sous Ubuntu, Debian, Fedora, Arch et tout autre système Linux.

Seconde couche : eBPF dans le noyau

En revanche, la seconde couche emploie une technologie avancée nommée eBPF. Grâce à elle, le malware cache des processus, des fichiers et des ports réseau directement dans le noyau du système d’exploitation. L’eBPF permet d’interagir avec le noyau sans avoir besoin d’installer des pilotes, ce qui rend l’occultation bien plus profonde.

En conséquence, les techniques traditionnelles de détection de rootkits deviennent inefficaces. Des outils comme chkrootkit et rkhunter ne sont tout simplement pas conçus pour ce genre de scénario.

Backdoor dans le PAM capture toutes les informations d’identification saisies

Un autre point critique est le module malveillant installé dans le PAM (Pluggable Authentication Modules). Ce module se charge de traiter les authentifications, les connexions SSH et les commandes sudo.

En résumé, le module intercepte les mots de passe au moment exact où ils sont saisis, avant même tout chiffrement. Puis il les stocke dans des fichiers cachés. Autrement dit, chaque fois que vous tapez sudo pour installer un paquet, votre mot de passe tombe entre les mains de l’attaquant.

Une commande, toutes vos informations d’identification (virus)

Lorsque l’opérateur déclenche la commande de collecte des identifiants, le QLNX balaie l’intégralité de la machine. Voici la liste de ce qu’il recherche, à faire frémir n’importe quel développeur :

Ainsi, il suffit d’une seule machine compromise pour transformer l’intégralité de la chaîne d’approvisionnement logicielle d’une équipe en une arène ouverte.

Ce qu’il faut faire maintenant : checklist pratique

Bien que Trend Micro continue de cartographier les indicateurs de compromission, certains gestes peuvent être adoptés immédiatement :

  1. Auditez vos jetons. Révoquez et régénérez les jetons NPM, PyPI, GitHub et AWS, notamment sur des machines Linux qui tournent depuis longtemps.
  2. Surveillez les publications. Vérifiez dans l’historique de NPM et PyPI s’il existe des paquets publiés au nom de votre compte que vous ne reconnaissez pas.
  3. Activez l’authentification à deux facteurs obligatoires. Activez l’authentification à deux facteurs sur tous les registres de paquets.
  4. Inspectez le LD_PRELOAD. Exécutez cat /etc/ld.so.preload et vérifiez la présence de bibliothèques inconnues listées.
  5. Auditez les modules PAM. Inspectez le répertoire /etc/pam.d/ pour des entrées suspectes ajoutées récemment.
  6. Envisagez des outils sensibles à l’eBPF. Des solutions comme Falco et Tetragon détectent des comportements suspects au niveau du noyau.

Le message à la communauté des développeurs

Enfin, l’émergence du QLNX confirme une tendance préoccupante. Les attaquants investissent de plus en plus dans des malwares sophistiqués ciblant les développeurs, et non les utilisateurs finaux. La raison est simple : compromettre un développeur équivaut à compromettre toute la chaîne.

En résumé, ce nouveau virus combine des techniques qui existaient autrefois uniquement dans des campagnes APT étatiques. Désormais, elles arrivent emballées dans un cheval de Troie d’accès à distance. C’est pourquoi il est impératif de revoir d’urgence l’hygiène des identifiants et les mécanismes de détection sur votre poste de travail.

La bonne nouvelle ? Ceux qui appliquent déjà des pratiques de sécurité opérationnelle solides se trouvent plusieurs longueurs d’avance. La mauvaise nouvelle est que le niveau minimal d’hygiène acceptable vient tout juste de progresser.

Suivez notre Profil sur Instagram !

Fabien Delpont

Auteur

Fabien Delpont

Fabien Delpont, développeur et créateur du site Python Doctor.