XCSSET sur macOS : comment fonctionne sa nouvelle variante et comment se défendre

Dernière mise à jour: 29/09/2025
Auteur: Isaac
  • Nouvelle variante de XCSSET avec obfuscation avancée et persistance multiple (zshrc, Dock et LaunchDaemon).
  • Étend le vol de données à Firefox et ajoute un clipper pour détourner les transactions cryptographiques du presse-papiers.
  • Infection de projets Xcode partagés : AppleScripts exécutables uniquement, modules renommés et exfiltration C2.
  • Recommandations : mettre à jour macOS, auditer les projets avant la création et surveiller osascript/dockutil.

Malware XCSSET sur macOS

Famille malware XCSSET pour macOS est de retour avec une variante améliorée, et ce n'est pas une mince affaire : Microsoft Threat Intelligence a identifié des changements importants dans les techniques d’obfuscation, de persistance et de vol de données. Cela place la barre plus haut pour cette vieille connaissance. Si vous travaillez avec Xcode ou partagez des projets entre équipes, vous voudrez rester informé de l'actualité.

Depuis sa découverte en 2020, XCSSET s'adapte aux changements de l'écosystème Apple. Ce qui est actuellement observé est la première nouvelle variante documentée publiquement depuis 2022., détecté lors d'attaques limitées, mais doté de capacités étendues. Il s'agit d'un malware modulaire qui s'infiltre dans les projets Xcode pour exécuter sa charge utile lors de leur compilation. Dans cette itération, il intègre des tactiques plus astucieuses pour se camoufler et persister.

Qu’est-ce que XCSSET et pourquoi se propage-t-il si bien ?

Essentiellement, XCSSET est un ensemble de modules malveillants conçus pour infecter les projets Xcode et activer leurs fonctions pendant la constructionLe vecteur de propagation le plus plausible est le partage de fichiers de projet entre développeurs collaborateurs. applications pour macOS, ce qui multiplie les opportunités d'exécution dans chaque build.

Ce malware a toujours été capable d’exploiter les vulnérabilités zero-day, injecter du code dans des projets et même introduire des portes dérobées dans des composants de l'écosystème Apple tels que SafariTout au long de son évolution, il a également ajouté une compatibilité avec les versions plus récentes des architectures macOS et Apple Silicon (M1), démontrant une adaptabilité remarquable.

Sur le terrain, XCSSET fonctionne comme voleur d'informations et crypto-monnaies: est capable de collecter des données à partir de programmes populaires (Evernote, Notes, Skype, Telegram, QQ, WeChat et plus encore), exfiltrent les fichiers système et applicatifs, et ciblent spécifiquement les portefeuilles numériques. De plus, certaines variantes ont démontré Captures d'écran non autorisées, cryptage de fichiers et déploiement de notes de rançon.

Quoi de neuf dans la dernière variante

Microsoft a précisé que la dernière variante intègre Nouvelles méthodes d'obfuscation, de persistance et de stratégies d'infectionNous ne parlons plus seulement d'échange de noms ou de compression de code : il y a désormais plus d'aléatoire dans la façon dont il génère ses charges utiles pour contaminer les projets Xcode.

Un changement frappant réside dans l'utilisation combinée de techniques de codage. Alors que les versions précédentes reposaient uniquement sur xxd (hexdump), La nouvelle version ajoute Base64 et applique un nombre aléatoire d'itérations, ce qui rend plus difficile l’identification et le démêlage de la cargaison.

Les noms internes des modules sont également plus cachés que jamais : Ils sont obscurcis au niveau du code pour cacher leur objectifCela complique l’analyse statique et la corrélation entre les fonctions et les effets observables dans le système.

Persistance : méthodes « zshrc » et « dock »

L’une des caractéristiques de ce retour du XCSSET réside dans deux chemins très différents pour rester en vie après une infection. La méthode « zshrc » exploite la configuration du shell pour s’exécuter automatiquement dans chaque session, et la méthode « dock » manipule les raccourcis système pour exécuter la charge utile malveillante de manière transparente pour l'utilisateur.

  Avast ne fonctionne pas, causes, solutions, alternatives

Dans l’approche « zshrc », le malware crée un fichier appelé ~/.zshrc_aliases avec la charge utile puis ajoute une commande à ~/.zshrc qui garantit le chargement du fichier à chaque ouverture de session. Cela garantit la persistance sur tous les terminaux sans éveiller de soupçons.

Le plan « dock » consiste à télécharger un outil signé depuis le serveur de commande et de contrôle, dockutil, pour gérer les éléments du DockIl crée ensuite une fausse application Launchpad et remplace le chemin d'accès à la véritable application Launchpad dans le Dock par cette fausse application. Résultat : chaque fois que l'utilisateur lance Launchpad depuis le Dock, la vraie application s'ouvre et, en parallèle, la charge utile malveillante est activée.

En guise de renforcement, la variante introduit Nouveaux critères pour décider où insérer la charge utile dans le projet XcodeCela optimise l’impact et minimise les chances que le développeur repère quelque chose d’inhabituel lors de l’examen de l’arborescence du projet.

AppleScript, exécution furtive et chaîne d'infection

Les recherches de Microsoft décrivent que XCSSET utilise AppleScripts compilés en mode exécution seule s'exécuter silencieusement et empêcher toute analyse directe de révéler son contenu. Cette technique répond à son objectif d'invisibilité et d'évasion des outils d'inspection de scripts.

Dans la quatrième phase de la chaîne d’infection, on observe que Une application AppleScript exécute une commande shell pour télécharger l'étape finaleCe dernier AppleScript rassemble des informations sur le système compromis et démarre les sous-modules en invoquant la fonction boot(), qui orchestre le déploiement modulaire des capacités.

Des changements logiques ont également été détectés : Vérifications supplémentaires pour le navigateur Firefox et une méthode différente pour confirmer la présence de l'application de messagerie Telegram. Ce ne sont pas des détails mineurs ; ils témoignent d'une volonté claire de fiabiliser la collecte de données et d'en élargir la portée.

Modules renommés et nouvelles pièces

À chaque révision, la famille XCSSET a légèrement modifié les noms de ses modules, un jeu classique du chat et de la souris. rendre difficile le suivi des versions et des signatures. Malgré cela, sa fonctionnalité reste généralement cohérente.

Parmi les modules mis en évidence de cette variante apparaissent des identifiants tels que vexyeqj (anciennement seizecj), qui télécharger un autre module appelé bnk et l'exécute en utilisant osascript. Ceci scénario ajoute la validation des données, le cryptage, le décryptage, la récupération de contenu supplémentaire à partir de C2 et les capacités de journalisation des événements, et inclut le composant « clipper ».

Il est également mentionné neq_cdyd_ilvcmwx, similaire à txzx_vostfdi, qui est responsable de exfiltrer les fichiers vers le serveur de commande et de contrôle; le module xmyyeqjx qui prépare le Persistance basée sur LaunchDaemon; jey (anciennement jez) qui configure un persistance via Git, Et iewmilh_cdyd, responsable du vol de données de Firefox à l'aide d'une version modifiée de l'outil public HackBrowserData.

  • vexyeqj: module d'information ; télécharger et utiliser bnk, intègre clipper et cryptage.
  • neq_cdyd_ilvcmwx:exfiltration de fichiers vers C2.
  • xmyyeqjx: persistance par LaunchDaemon.
  • jey: persistance via Git.
  • iewmilh_cdyd:Vol de données Firefox avec HackBrowserData modifié.

L’accent mis sur Firefox est particulièrement pertinent, car étend sa portée au-delà de Chromium et SafariCela signifie que l'éventail des victimes potentielles augmente et que les techniques d'extraction d'informations d'identification et de cookies sont affinées pour plusieurs moteurs de navigation.

  Que sont les attaques de manipulation WDAC et comment se défendre ?

Vol de cryptomonnaie par détournement de presse-papiers

L’une des fonctionnalités les plus préoccupantes dans cette évolution est le module « clipper ». Surveille le presse-papiers pour les expressions régulières qui correspondent aux adresses de cryptomonnaie (divers formats de portefeuille). Dès qu'il détecte une correspondance, il remplace immédiatement l'adresse par une adresse contrôlée par l'attaquant.

Cette attaque ne nécessite pas de privilèges élevés pour faire des ravages : La victime copie son adresse depuis son portefeuille, la colle pour envoyer des fonds et la transfère sans le savoir à l'attaquantComme l’a souligné l’équipe Microsoft, cela érode la confiance dans quelque chose d’aussi basique que le copier-coller.

La combinaison du clipper et du vol de données du navigateur fait de XCSSET un Une menace concrète pour les cybercriminels axée sur les cryptoactifsIls peuvent obtenir des cookies de session, des mots de passe enregistrés et même rediriger des transactions sans toucher au solde visible de la victime jusqu'à ce qu'il soit trop tard.

Autres tactiques de persistance et de camouflage

En plus de « zshrc » et « dock », Microsoft décrit que cette variante ajoute Entrées LaunchDaemon qui exécutent une charge utile dans ~/.rootCe mécanisme assure un démarrage précoce et stable et se camoufle dans l'enchevêtrement de services système se chargeant en arrière-plan.

La création d'un a également été observée Paramètres système falsifiés.app dans /tmp, ce qui permet aux logiciels malveillants de dissimuler leur activité sous l'apparence d'une application système légitime. Ce type d'usurpation d'identité permet d'éviter toute suspicion lors de l'inspection des processus ou des chemins lors d'une exécution aléatoire.

En parallèle, le travail d'obfuscation de XCSSET revient sur le devant de la scène : Cryptage plus sophistiqué, noms de modules aléatoires et scripts AppleScripts exécutables uniquementTout indique que la durée de vie de la campagne devrait être prolongée avant qu'elle ne soit neutralisée par des signatures et des règles de détection.

Capacités historiques : au-delà du navigateur

Rétrospectivement, XCSSET ne s'est pas limité à vider les navigateurs. Sa capacité à extraire des données à partir d'applications telles que Google Chrome, Opéra, Télégramme, Evernote, Skype, WeChat et les propres applications d'Apple telles que Contacts et notesIl s’agit d’une gamme de sources incluant la messagerie, la productivité et les données personnelles.

En 2021, des rapports comme celui de Jamf ont décrit comment XCSSET a exploité CVE-2021-30713, un contournement du framework TCC, pour boire captures d'écran du bureau sans demander la permission. Cette compétence répond à un objectif clair : espionner et collecter des informations sensibles avec un minimum de friction pour l'utilisateur.

Au fil du temps, le logiciel malveillant a été adapté pour Compatibilité avec macOS Monterey et avec les puces M1, quelque chose qui souligne son continuité et maintenance par les attaquantsÀ ce jour, l’origine exacte de l’opération reste floue.

Comment il s'infiltre dans les projets Xcode

La distribution de XCSSET n'est pas détaillée au millimètre près, mais tout indique que Profitez du partage de projets Xcode entre développeursSi un référentiel ou un package est déjà compromis, toute build ultérieure active le code malveillant.

Ce modèle transforme les équipes de développement en vecteurs de propagation privilégiés, en particulier dans les environnements où les pratiques de vérification des dépendances, les scripts de build ou les modèles partagés sont laxistes. Cela nous rappelle que chaîne d'approvisionnement en logiciels est devenue une cible récurrente.

  WhatsApp : Guide complet sur la confidentialité et la sécurité

Dans ce scénario, il est logique que la nouvelle variante renforce la logique pour décider où insérer les charges utiles dans le projetPlus votre emplacement paraît « naturel », moins un développeur est susceptible de le repérer lors d’une analyse rapide.

Ergonomie d'attaque : erreurs, étapes et signes

Microsoft avait déjà annoncé des améliorations à XCSSET plus tôt cette année. gestion des erreurs et persistance. L'important est qu'il s'intègre désormais dans une chaîne d'infection étape par étape : un AppleScript qui lance une commande shell, qui télécharge un autre AppleScript final, qui à son tour collecte les informations système et lance les sous-modules.

Si vous recherchez des signes, la présence de ~/.zshrc_aliases, manipulations dans ~/.zshrc, entrées suspectes dans LaunchDaemons ou un étrange System Settings.app dans /tmp Voici des indicateurs à surveiller. Toute activité anormale dans le Dock (par exemple, le remplacement des chemins du Launchpad) devrait également déclencher des alarmes.

Dans les environnements gérés, les SOC doivent calibrer les règles qui poursuivent osascript inhabituel, appels répétés à dockutil et artefacts codés ou chiffrés en Base64 lié aux processus de construction de Xcode et utilise des outils pour afficher les processus en cours d'exécution sur macOSLe contexte de la compilation est essentiel pour réduire les faux positifs.

À qui s'adresse XCSSET ?

L'objectif naturel est celui de ceux qui développent ou compilent avec Xcode, mais l'impact peut s'étendre aux utilisateurs qui installer des applications intégrées provenant de projets contaminés. La pièce financière apparaît dans le détournement de presse-papiers, particulièrement pertinent pour ceux qui manipulent régulièrement des crypto-monnaies.

Dans le domaine des données, le exfiltration depuis Firefox et d'autres applications met en danger les identifiants, les cookies de session et les notes personnelles. Ajoutez à cela les fonctionnalités héritées de captures d'écran, cryptage de fichiers et notes de rançon, le tableau est plus que complet.

Les attaques détectées jusqu'à présent semblent portée limitée, mais comme c'est souvent le cas, la véritable ampleur de la campagne peut prendre du temps à émerger. La modularité facilite les itérations rapides, les changements de nom et réglage fin pour éviter la détection.

Recommandations pratiques pour réduire les risques

Tout d’abord, mettez à jour la discipline : Maintenez macOS et les applications à jour et considérer solutions antimalware. XCSSET a déjà exploité des vulnérabilités, y compris des vulnérabilités zero-day, donc la mise à niveau vers la dernière version réduit considérablement la surface d'attaque.

En second lieu, inspecter les projets Xcode de télécharger ou de cloner depuis des dépôts, et d'être extrêmement prudent avec ce que vous compilez. Vérifiez les scripts de compilation. Exécuter les phases du script, les dépendances et tous les fichiers exécutés dans le processus de construction.

Troisièmement, soyez prudent avec le presse-papiers. Évitez de copier/coller des adresses de portefeuille non vérifiéesVérifiez bien le premier et le dernier caractère avant de confirmer une transaction. C'est un petit geste qui peut vous éviter bien des ennuis.

Quatrièmement, la télémétrie et la chasse. Surveille osascript, dockutil, les modifications apportées à ~/.zshrc et LaunchDaemonsSi vous gérez des flottes, intégrez des règles EDR qui détectent les AppleScripts compilés inhabituels ou les téléchargements codés répétitifs dans les processus de construction.