Aller au contenu
Beveiligingsnieuws

XCSSET sur macOS : nouvelles variantes via Xcode

XCSSET-aanval via Xcode

Les équipes sécurité observent un retour remarqué d’une campagne malveillante visant XCSSET sur macOS. Cette variante s’appuie sur des projets de développement de confiance — notamment des espaces Xcode et des dépôts GitHub — pour atteindre des milliers d’utilisateurs. Le point clé : l’infection se déclenche au moment où un développeur compile un projet compromis.

Des chercheurs de Unit 42 (Palo Alto Networks) expliquent que la menace a refait surface après une période d’inactivité, avec une version identifiée v40. Cette mise à jour combine des mécanismes d’évasion renforcés et de nouveaux modules, ce qui élargit ses capacités d’attaque.

Pourquoi XCSSET vise les développeurs

Xcode est le kit de développement officiel d’Apple, utilisé pour créer, tester et publier des applications sur ses plateformes. C’est précisément cet environnement que la campagne cherche à contourner. Au lieu d’attaquer directement l’utilisateur final avec un fichier isolé, l’opération se propage via des éléments de production logicielle.

Concrètement, le groupe malveillant compromette des dépôts Git vulnérables, puis injecte un script de type “downloader” dans des fichiers qui paraissent légitimes à l’intérieur des projets Xcode. Quand quelqu’un télécharge ces projets et les construit, la charge malveillante peut prendre le relais et entraîner une compromission plus large.

Chaîne d’infection en plusieurs étapes

Les analyses décrivent une chaîne d’infection en quatre étapes avant le déploiement d’un ensemble de 17 modules distincts. Ces modules contribuent à des objectifs variés : vol d’identifiants, enregistrement des frappes, manipulation du presse-papiers, redirection de navigation web et exfiltration de données.

Les chercheurs indiquent aussi que, grâce à ce mécanisme, le logiciel peut compromettre d’autres projets Xcode présents sur la machine de la victime, puis se propager plus loin à partir du code partagé. Autrement dit, le danger ne s’arrête pas à “une app” : il touche l’ensemble du flux de développement.

Deux vagues d’attaque au printemps

La version XCSSET v40 a été observée dans deux vagues distinctes : autour du milieu d’avril puis au début de mai. Cette chronologie suggère une reprise planifiée de l’infrastructure et des techniques d’exécution.

Plus largement, la menace est active sur des systèmes macOS au moins depuis 2021. Dans certains cas, elle aurait aussi exploité des failles dites “zéro jour” dans le cadre de ses attaques.

De nouveaux modules : détournement de Chrome et “télégramisation”

La mise à jour v40 ne se contente pas d’ajouter des couches d’évasion. Elle introduit aussi deux modules supplémentaires particulièrement ciblés.

Un pirate de navigateur orienté Chrome

Le module de détournement “enveloppe” l’application Chrome dans un lanceur malveillant. Ensuite, il active l’interface Chrome DevTools Protocol (CDP) sur un port local afin de récupérer du JavaScript depuis l’infrastructure de commande et contrôle (C2) de l’attaquant.

Cette logique sert à intercepter et altérer le trafic web : identifiants, cookies, et même des interactions liées à des environnements de type portefeuille (par exemple des transactions via MetaMask). L’objectif est de permettre des modifications “à la volée” pour détourner des paiements.

Le module inclut également une exécution de commandes système via une reverse shell sans fichier (fileless). Sur Windows, ce type d’élément est bloqué dans Chrome ; les chercheurs indiquent que des protections sont en cours d’extension côté macOS.

Un trojan pour Telegram Desktop

Le second module agit différemment : il supprime l’application Telegram Desktop sur la machine infectée et la remplace par une version malveillante. Les auteurs pourraient ainsi viser l’interception des communications de la victime.

Dans ce cas précis, les chercheurs ne disposent pas d’informations suffisantes pour confirmer le comportement exact, notamment car la configuration chiffrée n’a pas pu être récupérée lors de l’analyse.

Des techniques d’évasion plus discrètes

Pour passer sous les radars, les chercheurs attribuent à la nouvelle version plusieurs mesures de furtivité. Parmi elles : la recompilation périodique du chargeur depuis le serveur C2, l’utilisation de clés de chiffrement distinctes pour les communications entrantes et sortantes, et l’obfuscation des noms de fonctions, variables et chaînes.

Le tout s’appuie sur des “chiffres” propres à chaque construction (build-unique ciphers), ce qui rend les signatures plus difficiles à réutiliser d’un échantillon à l’autre.

Attaque directe de la posture de sécurité macOS

Au-delà de l’approche par la chaîne de développement, XCSSET sur macOS cherche à réduire la capacité de défense de la machine. Les chercheurs décrivent une tentative agressive pour désactiver ou perturber plusieurs composants de sécurité.

Le malware viserait notamment des mécanismes comme XProtect, MRT, TCC et la fonctionnalité Rapid Security Response. Il tente aussi de stopper le service Apple CloudTelemetryService, et de bloquer les mises à jour de signatures de XProtect.

Dans le contexte, l’idée est simple : diminuer les chances qu’un contrôle de sécurité détecte la charge active, notamment après l’installation via un projet “de confiance”.

Quels signaux surveiller en priorité

Pour contrer cette variante, Unit 42 recommande de surveiller plusieurs indicateurs concrets. L’attention doit se porter sur des événements qui sortent de la routine :

  • Activité AppleScript anormale sur les postes concernés.
  • Modifications non autorisées de navigateurs, en particulier liées à Chrome.
  • Domaines de configuration macOS suspects (dits “defaults domains”).
  • Applications signées de manière ad hoc capables de contourner Gatekeeper.

Ces points aident à repérer des comportements typiques d’outils malveillants, même lorsque la charge initiale s’est glissée via un dépôt ou un projet.

Limiter le risque dans la chaîne logicielle

Comme l’infection démarre depuis des projets et dépendances, la meilleure défense consiste à renforcer le pipeline de développement. Les chercheurs recommandent notamment :

  • Scanner les dépendances open source afin d’éviter qu’un dépôt compromis n’entre dans le processus de build.
  • Contrôler la provenance des projets et repositories utilisés par l’équipe.
  • Vérifier chaque étape (source, compilation, artefacts) pour repérer les incohérences tôt.

Cette approche est cohérente avec l’idée que l’attaque peut rester invisible si l’on ne teste pas et n’alerte pas “à chaque couche”.

Réduire les angles morts de détection

Les équipes sécurité savent souvent mesurer la détection, mais moins souvent l’évaluer en profondeur. Dans le document cité par Unit 42, une observation attire l’attention : une part importante des attaques réussies ne déclenche pas d’alertes suffisantes. Autrement dit, certaines menaces passent par des chemins qui ne sont pas couverts par les règles SIEM/EDR.

Pour améliorer la couverture, l’enjeu est de tester la capacité de détection et de réponse : mettre à l’épreuve les règles, vérifier la visibilité sur les comportements clés, et s’assurer que les signaux attendus existent réellement dans les données collectées.

Conclusion

XCSSET sur macOS illustre une menace moderne : au lieu d’attaquer seulement l’utilisateur final, elle vise le processus de développement. En compromettant des dépôts GitHub et en modifiant des projets Xcode, l’attaque peut se déclencher au moment de la compilation et se propager à d’autres projets via le code.

Avec v40, la menace ajoute des capacités de détournement orientées Chrome et une approche de remplacement d’application pour Telegram Desktop, tout en renforçant ses mécanismes d’évasion et sa capacité à perturber la sécurité macOS. La réponse efficace passe par la surveillance des comportements anormaux et par un contrôle strict de la supply chain logicielle.

Source: https://www.bleepingcomputer.com/news/security/new-xcsset-variant-targets-macos-devs-via-compromised-xcode-projects/