TeamPCP injecte des backdoors dans le package Telnyx PyPI, dissimulant des malwares dans des fichiers audio WAV
Le package **Telnyx** sur le Python Package Index (PyPI) a été compromis par le groupe de pirates **TeamPCP**, qui a mis en ligne des versions malveillantes conçues pour délivrer des malwares dérobant des identifiants. Le malware est astucieusement caché dans des fichiers audio WAV, marquant une attaque sophistiquée de la chaîne d'approvisionnement.

Les entreprises modernes de sécurité applicative **Aikido**, **Socket** et **Endor Labs** ont détecté l'attaque de la chaîne d'approvisionnement et l'ont attribuée à TeamPCP, citant des schémas d'exfiltration et des clés RSA similaires observés dans des incidents précédents.
TeamPCP a été lié à plusieurs attaques récentes de la chaîne d'approvisionnement, y compris celles ciblant le scanner de vulnérabilités **Trivy** d'**Aqua Security** et la bibliothèque Python open-source **LiteLLM**, ainsi que des attaques de type wiper visant des systèmes iraniens.
## Détails du package malveillant
Plus tôt aujourd'hui, l'acteur de la menace a publié les versions backdoorées **4.87.1** et **4.87.2** du package Telnyx. Ces versions malveillantes déploient des malwares sur les systèmes Linux et macOS qui volent les clés SSH, les identifiants, les jetons cloud, les portefeuilles de cryptomonnaies, les variables d'environnement et d'autres données sensibles.
Sur les systèmes Windows, le malware est conçu pour la persistance, se plaçant dans le dossier de démarrage pour s'exécuter à chaque connexion.
Le package **Telnyx PyPI** est le kit de développement logiciel (SDK) Python officiel qui permet aux développeurs d'intégrer les services de communication Telnyx, tels que la VoIP, la messagerie (SMS, MMS, WhatsApp), le fax et la connectivité IoT, dans leurs applications. Le package enregistre plus de 740 000 téléchargements par mois sur PyPI, soulignant son utilisation généralisée.
## Méthode de compromission
Les chercheurs en sécurité soupçonnent que les attaquants ont obtenu l'accès en utilisant des identifiants volés pour le compte de publication sur le registre PyPI.
Initialement, TeamPCP a publié la version 4.87.1 de Telnyx à 03:51 UTC, mais le payload était non fonctionnel. Ils ont corrigé cette erreur environ une heure plus tard, à 04:07 UTC, avec la publication de la version 4.87.2 de Telnyx.
Le code malveillant réside dans le fichier `telnyx/_client.py`, qui s'exécute automatiquement lors de l'importation, tout en permettant aux classes légitimes du SDK de fonctionner comme prévu.
## Analyse technique
Sur les systèmes Linux et macOS, le payload lance un processus détaché qui télécharge un payload de second niveau déguisé en fichier audio WAV (`ringtone.wav`) depuis un serveur de commande et de contrôle (C2) distant.

En utilisant la stéganographie, les attaquants ont intégré du code malveillant dans les trames de données du fichier sans altérer les propriétés audio. Le payload est extrait à l'aide d'une simple routine de décryptage basée sur XOR et s'exécute en mémoire pour récolter des données sensibles sur les hôtes infectés.
Si **Kubernetes** est détecté sur la machine compromise, le malware énumère les secrets du cluster et déploie des pods privilégiés sur les nœuds, tentant d'accéder aux systèmes hôtes sous-jacents.
Sur les systèmes Windows, un fichier WAV différent (`hangup.wav`) est téléchargé, qui extrait un exécutable nommé `msbuild.exe`.
Cet exécutable est placé dans le dossier de démarrage pour assurer la persistance après les redémarrages du système. Un fichier de verrouillage est utilisé pour limiter l'exécution répétée dans des fenêtres de 12 heures.
## Étapes d'atténuation
Les chercheurs conseillent que la version 4.87.0 du SDK Telnyx est la variante propre et contient du code Telnyx légitime sans aucune modification. Il est fortement recommandé aux développeurs de revenir à cette version s'ils trouvent les versions 4.87.1 ou 4.87.2 de Telnyx dans leurs environnements.
Tout système ayant importé les versions malveillantes du package doit être considéré comme entièrement compromis, car le payload s'exécute à l'exécution et peut avoir déjà exfiltré des données sensibles. Il est fortement recommandé de faire pivoter tous les secrets dès que possible.