OceanLotus suspected of using PyPI to deliver ZiChatBot malware

1 minute de lecture

Mis à jour :

Attaque par chaîne d’approvisionnement : OceanLotus utilise PyPI pour déployer ZiChatBot

Le groupe APT OceanLotus a été identifié derrière une campagne de compromission par chaîne d’approvisionnement via le dépôt PyPI. Les attaquants ont publié des bibliothèques Python malveillantes imitant des outils légitimes pour infecter les systèmes Windows et Linux. Une fois installés, ces paquets déploient une nouvelle famille de logiciels malveillants baptisée « ZiChatBot ».

Points clés :

  • Vecteur d’attaque : Utilisation de paquets « wheel » malveillants sur PyPI (uuid32-utils, colorinal, termncolor). Certains paquets sains incluent les paquets malveillants comme dépendances pour dissimuler l’infection.
  • Fonctionnement : Les paquets téléchargent un « dropper » (terminate.dll sous Windows ou terminate.so sous Linux) qui s’exécute lors de l’importation de la bibliothèque, déploie la charge utile, puis s’auto-supprime.
  • Infrastructure C2 inhabituelle : ZiChatBot n’utilise pas de serveurs C2 classiques, mais détourne les API REST de l’application de messagerie collaborative Zulip pour recevoir des ordres (exécution de shellcode) et communiquer les résultats via des émojis.
  • Cible : Bien qu’historiquement concentré sur l’Asie-Pacifique, OceanLotus cherche ici à toucher une base plus large d’utilisateurs Python à travers le monde.

Vulnérabilités : Aucun identifiant CVE spécifique n’est associé à cette attaque, car elle repose sur l’ingénierie sociale et l’empoisonnement de dépôts logiciels publics (Supply Chain Attack).

Recommandations :

  • Gestion des dépendances : Vérifiez rigoureusement l’origine et la réputation des paquets Python installés via pip. Évitez l’installation de bibliothèques inconnues ou récemment créées.
  • Filtrage réseau : Bloquez l’accès au domaine helper.zulipchat.com dans vos politiques de sécurité pour empêcher toute communication résiduelle avec l’infrastructure C2 du malware.
  • Surveillance système : Inspectez les entrées de registre suspectes (ex: clés créées dans %LOCALAPPDATA% sous vcpacket) et les tâches planifiées (crontab) pointant vers des répertoires temporaires comme /tmp/obsHub/.
  • Analyse : En cas de doute sur une bibliothèque, auditez son code source (__init__.py) à la recherche de chargements de DLL/SO ou d’appels à des fonctions API inhabituelles.

Source