Des chercheurs en sécurité ont identifié près de 800 packages sur le registre npm qui semblent faire partie d’une campagne distribuant des logiciels malveillants d’accès à distance et des outils de vol d’informations sur les systèmes Windows, macOS et Linux.
Selon le chercheur d’OpenSourceMalware Paul McCarty, les packages utilisent un mélange de noms issus de typosquatting, générés aléatoirement ou produits par IA. Plutôt que de s’appuyer sur des scripts du cycle de vie npm tels que preinstall ou postinstall, les packages demandent aux développeurs de les importer à l’aide de la fonction JavaScript require(), ce qui permet au code malveillant de s’exécuter lors du chargement du module.
Le composant initial, suivi sous le nom de WEL1DROPPER, détermine le système d’exploitation et l’architecture du processeur de l’hôte avant de récupérer une charge utile correspondante. Son infrastructure de téléchargement principale utilise plusieurs Cloudflare Workers. Si ces requêtes échouent, le malware peut utiliser des enregistrements DNS TXT associés au domaine wel1[.]ru afin de reconstituer une charge utile à partir de plusieurs fragments encodés en Base64.
Fonctionnalités propres à chaque plateforme
- Le malware Windows interfère apparemment avec la surveillance ETW et AMSI, vérifie la présence d’environnements virtualisés ou sandboxés, assure sa persistance via une clé de registre Run et une tâche planifiée, puis récupère un exécutable chiffré.
- La variante macOS effectue des vérifications anti-analyse, établit un LaunchAgent et télécharge un binaire distinct, la distribution via DNS étant disponible en solution de repli.
- L’échantillon Linux est un exécutable ELF compressé avec UPX qui peut récupérer des composants supplémentaires et finalement déployer Sliver, un framework open source de commande et de contrôle.
Les chercheurs ont également trouvé un fichier nommé lib/telemetry.js. Bien qu’il ressemble à une bibliothèque d’analyse légitime et qu’il ne soit pas importé par le point d’entrée principal du package, il contient une fonctionnalité de téléchargement. Les analystes estiment que la taille excessive du fichier pourrait viser à dissimuler le code malveillant lors d’examens superficiels.
Les références à des entreprises russes du secteur financier et des paiements dans la charge utile macOS pourraient indiquer un ciblage d’organisations de ce secteur. Sonatype, qui a baptisé cette activité Flooding Dropper, a déclaré que l’opération pourrait constituer une continuation d’une campagne antérieure de confusion de dépendances connue sous le nom de Moika.
Ces découvertes s’ajoutent à une vague plus large d’activités malveillantes touchant npm et PyPI, notamment le vol d’identifiants, le vol de cryptomonnaies, la collecte de secrets cloud et le vol de jetons CI/CD. Des chercheurs ont par ailleurs averti que certaines extensions Chrome présentées comme des outils de productivité ou des utilitaires intègrent des logiciels de partage de bande passante qui transforment les navigateurs en proxys de navigation web contrôlés à distance.
