Obfuscation de codes Python : it’s a trap

Par :
Yehuda Gelb

lun, 13/11/2023 - 17:12

L’open source joue un rôle central dans la simplification des tâches et l'accélération des processus de développement. Plus la communauté se développe, plus le nombre d'acteurs malveillants qui cherchent à l'exploiter augmente en miroir. Exemple récent : des développeurs ont été ciblés par des paquets Python d’obfuscation apparemment légitimes mais hébergeant du code malveillant.

Les point clés

- Durant 2023 :  les attaquants ont distribué des paquets Python malveillants déguisés en outils d’obfuscation légitimes. 

- La charge utile malveillante s'active lors de l'installation.

- Etiquetée « BlazeStealer », elle récupère un script malveillant supplémentaire depuis une source externe, permettant à un bot Discord de donner aux attaquants un contrôle total sur l'ordinateur de la victime.

- Les développeurs qui font de l’obfuscation de code travaillent avec des informations sensibles. Par conséquent, ils sont donc plus susceptibles d’être la cible de ce type d’attaques.

Durant l’année, les attaquants ont introduit différents paquets avec des noms commençant par « pyobf », comme« pyobftoexe », « pyobfusfile », « pyobfexecute », et plus récemment, « pyobfgood ». Ces paquets ont des fonctionnements cachés. Ces noms ont été intentionnellement conçus pour être similaires aux paquets authentiques tels que « pyobf2 » et « pyobfuscator ».

pyobfgood, le paquet le plus récent, a été publié fin octobre 2023.

Un examen plus approfondi de pyobfgood a révélé que les fichiers setup.py et init.py  contiennent un script qui est activé lors de son installation, recevant et exécutant du code externe :

BlazeStealer

Après avoir étudié le code Python récupéré, plusieurs observations ont été faites. Ce malware, nommé « BlazeStealer », exécute un bot Discord avec l'identifiant unique suivant : « MTE2NTc2MDM5MjY5NDM1NDA2MA.GRSNK7.OHxJIpJoZxopWpFS3zy5v2g7k2vyiufQ183Lo »

Ce bot, une fois activé, fournit à l'attaquant le contrôle total du système de la cible, lui permettant d'effectuer de nombreuses actions sur la machine hôte : 

  • Récupérer des informations détaillées sur l'hôte
  • Voler des mots de passe de Chrome
  • Configurer un enregistrer de frappe
  • Télécharger des fichiers à partir du système infecté
  • Capturer des screenshots et enregistrer à la fois l'écran et l'audio
  • Rendre l'ordinateur inopérant en staurant le processeur, en insérant un script batch dans le répertoire de démarrage pour arrêter le PC ou en forçant une erreur BSOD avec un script Python
  • Chiffrer les fichiers, potentiellement contre une rançon
  • Désactiver Windows Defender et le Gestionnaire de tâches
  • Exécuter n'importe quelle commande sur l'hôte compromis

Souriez :) Votre logiciel open source vous prend en photo

Le bot Discord intègre une commande spécifique pour contrôler la caméra de l'ordinateur. Il y parvient en téléchargeant discrètement un zip à partir d'un serveur distant, en extrayant son contenu et en exécutant une application appelée WebCamImageSave.exe. Cela permet de capturer secrètement une photo à l'aide de la webcam. L'image résultante est ensuite renvoyée sur le canal Discord, sans laisser aucune trace de sa présence après la suppression des fichiers téléchargés.

Affichage des différentes fonctionnalités du bot

Parmi les fonctions malveillantes, l'humour du bot émerge à travers des messages indiquant la destruction imminente de la machine compromise. « Votre ordinateur va commencer à brûler, bonne chance. :) » et « Votre ordinateur va mourir maintenant, bonne chance pour le récupérer :) »

Mais au moins il y a un smiley à la fin de ces messages.

Ces messages mettent non seulement en évidence l'intention malveillante mais aussi l'audace des attaquants.

Les cibles de ces attaques

Qui ces attaquants ciblent-ils ? Et pourquoi ? Il va de soi que les développeurs faisant du masquage de codes sont susceptibles de traiter des informations sensibles, et par conséquent, pour un pirate, ce sont des cibles intéressantes. 

Répartition du nombre total de téléchargements du paquet malveillant par pays (en %)

Conclusion

L’'open source reste un terreau fertile pour l'innovation, mais il exige de la prudence. Les développeurs doivent vérifier les paquets avant de les utiliser.

 

A propos de l'auteur

Yehuda Gelb
security researcher chez Checkmarx