L’API WhatsApp a fonctionné exactement comme promis et a tout volé

Lucas Morel

Un package npm malveillant se faisant passer pour une bibliothèque d’API Web WhatsApp a fonctionné pendant des mois comme une dépendance fonctionnelle tout en volant des messages et en maintenant la persistance.

Des chercheurs en sécurité ont découvert un package npm malveillant qui se présente comme une bibliothèque légitime d’API Web WhatsApp tout en volant discrètement des messages, des informations d’identification et des données de contact dans les environnements de développement.

Le package, identifié sous le nom de « lotusbail », fonctionne comme un cheval de Troie autour d’une véritable bibliothèque client WhatsApp et avait accumulé plus de 50 000 téléchargements au moment où il a été signalé par Koi Security.

« Avec plus de 56 000 téléchargements et un code fonctionnel qui fonctionne réellement comme annoncé, c’est le genre de dépendance que les développeurs installent sans hésiter », ont déclaré les chercheurs de Koi dans un article de blog. « Le package est disponible sur npm depuis 6 mois et est toujours en ligne au moment de la rédaction. »

Les données volées ont été cryptées et exfiltrées vers une infrastructure contrôlée par les attaquants, réduisant ainsi la probabilité de détection par les outils de surveillance du réseau. Ce qui est encore plus préoccupant pour les entreprises est le fait que Lotusbail abuse du couplage multi-appareils de WhatsApp pour maintenir la persistance des comptes compromis même après la suppression du package.

L’API légitime utilise un proxy pour les menaces

Selon les chercheurs, lotusbail ne semblait initialement être rien de plus qu’un fork utile de la bibliothèque légitime « @whiskeysockets/baileys » utilisée pour interagir avec WhatsApp via WebSockets. Les développeurs pourraient l’installer, envoyer des messages, recevoir des messages et ne jamais remarquer quoi que ce soit d’anormal.

Une enquête plus approfondie a cependant révélé un problème.

Le package encapsulait le client WhatsApp WebSocket légitime dans une couche proxy malveillante qui dupliquait de manière transparente chaque opération, y compris celles impliquant des données sensibles. Lors de l’authentification, le wrapper a capturé les jetons et les clés de session. Chaque message circulant via l’application a été intercepté, enregistré et préparé pour une transmission secrète à l’infrastructure contrôlée par l’attaquant.

De plus, les informations volées étaient protégées en cours de route. Plutôt que d’envoyer des informations d’identification et des messages en texte brut, le logiciel malveillant utilise une couche de cryptage RSA personnalisée et plusieurs stratégies d’obscurcissement, ce qui rend la détection par les outils de surveillance du réseau plus difficile et permet à l’exfiltration de se dérouler sous le radar.

« L’URL du serveur d’exfiltration est enfouie dans des chaînes de configuration cryptées, cachées dans des charges utiles compressées », ont noté les chercheurs. « Le malware utilise quatre couches d’obscurcissement : manipulation de variables Unicode, compression LZString, encodage Base-91 et cryptage AES. L’emplacement du serveur n’est codé en dur nulle part visible. »

ApisDéveloppement de logicielsSécurité