Il cherchait un emploi et a installé un cheval de Troie: comment le faux recrutement web3 vole les portefeuilles de cryptomonnaies

Il cherchait un emploi et a installé un cheval de Troie: comment le faux recrutement web3 vole les portefeuilles de cryptomonnaies

Sous couvert d'une plateforme d'IA pour les réunions en ligne, les attaquants distribuent un logiciel malveillant capable d'accéder aux clés, aux mots de passe, aux sessions de navigateur et aux données des portefeuilles de cryptomonnaies. Nous décortiquons tout le scénario de l'attaque, du premier message du recruteur jusqu'à l'envoi des informations volées vers des serveurs distants.

5 août 2026

Récemment, des spécialistes en sécurité de l'information ont découvert une nouvelle campagne de diffusion de logiciels malveillants visant les employés des entreprises Web3. Les attaquants se font passer pour des recruteurs, contactent les candidats sous prétexte d'organiser un entretien, puis proposent de poursuivre la conversation via le site relay.lc.

Un message Telegram du faux recruteur
Un message Telegram du faux recruteur

À première vue, la ressource paraît tout à fait crédible. Elle se présente comme une plateforme moderne pour les réunions en ligne utilisant l'intelligence artificielle. Le site annonce des fonctionnalités telles que la transcription automatique des conversations en temps réel, des notes collaboratives, des résumés par IA des réunions, des listes de tâches et des applications de bureau pour Windows et macOS.

Le site relay.lc
Le site relay.lc

Pour une personne qui passe un entretien à distance, ce scénario paraît tout à fait ordinaire. La demande d'installer une application spéciale avant l'étape suivante de l'entretien n'éveille aucun soupçon. De plus, les pages du site renforcent encore la confiance: elles décrivent en détail les possibilités du service et proposent de télécharger les versions du programme aussi bien pour Windows que pour macOS.

Ce qui se passe après l'installation

Sur les ordinateurs Mac, on demande à l'utilisateur d'ouvrir l'application Terminal, de faire glisser le fichier téléchargé dans sa fenêtre et d'appuyer sur Entrée.

Sur Windows, tout paraît encore plus simple: il suffit de lancer le programme d'installation et d'attendre la fin du processus. Une fenêtre apparaît à l'écran avec une barre de progression de mise à jour qui se remplit lentement jusqu'à environ 80%.

À première vue, une option rappelle une installation manuelle ordinaire, et l'autre une mise à jour logicielle standard. Cependant, après examen du contenu des programmes d'installation, il s'avère que tout est organisé de manière bien différente.

Infection de macOS: installation via Terminal

Il n'y a pas de véritable application à l'intérieur de l'image disque. Le fichier Relay.dmg est une image disque macOS ordinaire. En règle générale, les programmes légitimes pour ce système d'exploitation sont distribués sous forme d'un paquet .app que l'utilisateur se contente de faire glisser dans le dossier Applications.

Il n'y a à l'intérieur ni application .app standard ni paquet d'installation .pkg. De plus, le véritable exécutable est caché dans le répertoire .back, que le Finder n'affiche pas par défaut.

Faire glisser dans Terminal n'est pas une installation

Les auteurs ont même laissé des commentaires expliquant qu'ils renonçaient à la procédure officielle de signature numérique et de notarisation d'Apple par souci de «réduire la complexité» et de «rendre le processus plus simple et plus transparent». En réalité, c'est précisément là que se cache le point clé de l'attaque.

Comment les attaquants contournent la protection intégrée de macOS

La commande utilisée par les attaquants supprime cet attribut de quarantaine. Aucune vulnérabilité de macOS n'est exploitée dans ce processus. L'utilisateur ouvre lui-même Terminal et lance le script proposé, qui retire ensuite de lui-même la marque de protection du fichier malveillant.

En conséquence, ce qui ressemble à une installation manuelle ordinaire se transforme en fait en la désactivation de l'un des mécanismes de sécurité intégrés du système d'exploitation.

Vol des mots de passe et des données de Keychain

À l'intérieur de l'exécutable caché, de nombreuses chaînes contenant des données sensibles sont chiffrées à l'aide d'une clé fixe. Grâce à cela, elles ne peuvent pas être trouvées par une recherche ordinaire parmi les chaînes de texte du programme.

Une fois déchiffrées, on constate que le programme contient deux adresses distantes:

On découvre également un script AppleScript qui imite une fenêtre système de macOS:

«La version actuelle de l'application n'est pas entièrement compatible avec votre version de macOS. Pour que le programme fonctionne correctement, veuillez saisir le mot de passe de votre système.»

La fenêtre porte le titre Application Error et ressemble à une véritable alerte système. Le champ de saisie masque les caractères tapés par des points, si bien que l'utilisateur peut facilement la prendre pour une demande standard de macOS de mot de passe administrateur.

Cependant, cette fenêtre n'a rien à voir avec l'authentification du système. Il s'agit d'une simple boîte de dialogue AppleScript, créée dans le seul but de récupérer le mot de passe de l'utilisateur. Une fois saisi, le mot de passe est enregistré par le programme sous l'étiquette PWD et préparé en vue d'un envoi ultérieur sur Internet.

Vol du trousseau Keychain

La collecte de données ne s'arrête pas là. Le logiciel malveillant contient du code permettant de lire le fichier:

Après déchiffrement du code, il apparaît clairement que les attaquants s'intéressent à deux objets à la fois:

Ayant obtenu le fichier Keychain et le mot de passe correspondant, ils peuvent tenter d'ouvrir cette base de données sur leur propre ordinateur et d'accéder à tous les identifiants qui y sont enregistrés.

Telegram, Apple Notes et les données du système menacés

Outre les données des navigateurs, le programme contient du code pour voler des informations depuis Telegram Desktop. Il tente d'accéder au répertoire tdata, où Telegram stocke les données locales d'autorisation et de session utilisateur active.

Si les attaquants parviennent à copier ce répertoire, ils peuvent restaurer la session Telegram existante sur un autre ordinateur et accéder au compte sans avoir à saisir de nouveau le numéro de téléphone ni le code de confirmation.

Le module destiné à collecter des données depuis Apple Notes n'est pas moins intéressant. Le programme parcourt successivement tous les comptes, dossiers et notes de l'utilisateur, lit le contenu de chaque entrée et l'enregistre dans un fichier HTML distinct, en utilisant le titre de la note comme nom de fichier.

En outre, une vérification est effectuée quant à la présence d'applications populaires pour la gestion des portefeuilles matériels de cryptomonnaies: Ledger Live et Trezor Suite.

Pourquoi le cheval de Troie continue de fonctionner après la fermeture de Terminal

Au cours de l'étude, les spécialistes ont également vérifié la présence de mécanismes permettant au logiciel malveillant de se lancer automatiquement après chaque redémarrage de l'ordinateur.

D'après les données disponibles, aucun signe d'un mécanisme qui assurerait le lancement automatique après un redémarrage de macOS n'a été trouvé. Néanmoins, la commande nohup utilisée au lancement permet au processus malveillant de continuer à fonctionner même après la fermeture de la fenêtre de Terminal.

Autrement dit, l'utilisateur peut penser que l'installation est terminée et que le programme peut être fermé, alors que le processus malveillant continue de fonctionner en arrière-plan jusqu'à l'achèvement de ses tâches.

À en juger par la structure du programme, son objectif principal est de collecter en une seule exécution le maximum de données possible, de les empaqueter et de les transmettre vers un serveur distant.

Contrairement à la version pour macOS, la variante pour Windows utilise plusieurs mécanismes de persistance à la fois, en créant des entrées dans les sections Run et RunOnce du registre Windows et en se plaçant dans le dossier de démarrage avant même le début du vol de données principal.

Infection de Windows: un faux écran de mise à jour

L'utilisateur voit une «mise à jour» qui, en réalité, n'existe pas. La version du programme pour Windows est un exécutable auto-extractible créé à l'aide du programme d'installation NSIS.

Après extraction, on trouve à l'intérieur une application développée sur la base d'Electron version 2.9.0. C'est elle qui affiche à l'utilisateur une interface avec le logo de Relay et une barre de progression en mouvement constant. Pendant la «mise à jour», les messages suivants apparaissent successivement à l'écran:

Tout cela donne l'impression qu'une mise à jour du programme est réellement en cours. Cependant, l'analyse du code a révélé un tableau tout à fait différent. La barre de progression n'a aucun rapport ni avec le téléchargement de fichiers, ni avec la vérification du système, ni avec l'installation de l'application.

Sa valeur commence à 4% puis augmente toutes les 1.4 seconde d'un nombre aléatoire compris entre 0 et 11. Les messages changent eux aussi automatiquement, en fonction uniquement de la valeur de la barre de progression, et ne reflètent en rien les actions réelles du programme.

Lorsque l'indicateur atteint 80%, le processus s'arrête brusquement. Mais, au lieu de terminer l'installation, l'application envoie un message interne nommé runUpdate. C'est juste après cela que commence l'étape suivante de l'attaque.

Le virus tente d'obtenir les droits d'administrateur

Lorsque l'indicateur de chargement atteint la barre des 80%, l'application envoie la commande interne runUpdate.

Au cours de l'analyse du code, un module qui reçoit cette commande a été découvert. Avec lui, les spécialistes ont trouvé le chemin d'accès au fichier updater.exe et une commande PowerShell destinée à le lancer:

Cette commande fait plusieurs choses à la fois. Premièrement, elle désactive la politique de sécurité standard de PowerShell, ce qui permet d'exécuter le programme sans restrictions supplémentaires. Ensuite, elle demande une élévation de privilèges via le mécanisme de Contrôle de compte d'utilisateur de Windows (UAC). Après quoi, elle lance le processus en mode caché afin que l'utilisateur ne voie aucune fenêtre supplémentaire.

Le fichier updater.exe lui-même a une taille d'environ 116 Mo et ne comporte aucune signature numérique confirmant son origine. De plus, sa configuration indique explicitement qu'il a besoin des droits d'administrateur pour fonctionner.

L'étude a montré qu'à l'intérieur de ce fichier se trouvent des modules destinés à collecter des informations depuis les navigateurs, Telegram, les portefeuilles de cryptomonnaies de bureau et le système d'exploitation lui-même.

En outre, le programme comprend un autre exécutable intégré. Sa tâche est bien plus limitée: assurer la persistance du logiciel malveillant dans le système après le redémarrage de l'ordinateur et analyser la mémoire des processus des navigateurs Chrome et Brave.

Comment le cheval de Troie s'installe durablement dans le système

Le module intégré porte le nom interne callsoul. Après son lancement, sa première tâche est d'essayer d'assurer son démarrage automatique après chaque redémarrage de Windows.

Pour cela, le programme se copie dans le répertoire:

Après la copie, les attributs caché et système sont attribués au fichier, de sorte que, dans l'Explorateur de fichiers standard de Windows, l'utilisateur ne le verra pas sans activer l'affichage des fichiers cachés.

Ensuite, le programme tente de s'enregistrer de plusieurs manières indépendantes à la fois. Il crée des entrées dans la section Run du registre système, puis fait de même dans la section RunOnce, et ajoute également un raccourci dans le dossier de démarrage de Windows.

Pour cela, il utilise des noms tout à fait anodins, WindowsSysUpdateCheck et Windows Update, afin que les entrées ressemblent à des composants du système d'exploitation lui-même et n'éveillent pas les soupçons.

Le programme ne se limite pas à une seule méthode de persistance. Il utilise les trois options successivement. Il suffit qu'au moins l'une d'elles fonctionne pour que le logiciel malveillant puisse se lancer automatiquement après chaque redémarrage de l'ordinateur. Ce n'est qu'après avoir terminé ses tentatives de s'installer durablement dans le système que le programme passe à l'étape suivante: l'analyse de la mémoire des processus des navigateurs.

Analyse de la mémoire vive des navigateurs Chrome et Brave

La particularité la plus inhabituelle de la version pour Windows tient au fait qu'elle ne se limite pas au vol des fichiers de profil des navigateurs, comme le fait la plupart des logiciels malveillants de ce type.

Au lieu de cela, elle tente d'accéder directement à la mémoire des processus en cours d'exécution de Chrome et de Brave. D'abord, le programme parcourt tous les processus Windows actifs et recherche ceux qui appartiennent à Chrome ou à Brave et qui, de plus, sont responsables du fonctionnement des extensions du navigateur.

Après avoir trouvé le processus voulu, il l'ouvre avec des droits permettant de lire le contenu de la mémoire. Puis il examine successivement les zones de mémoire allouées, en extrayant toutes les données disponibles.

Les informations obtenues sont analysées à la recherche de la chaîne syncPasswordAndUnlockWallet, le nom interne d'une méthode liée au déverrouillage des portefeuilles de cryptomonnaies fonctionnant sous forme d'extensions de navigateur.

Si une telle chaîne est trouvée, le programme tente d'extraire les paramètres voisins contenus dans une structure JSON. Ce sont précisément ces valeurs qui sont ensuite préparées en vue d'un envoi vers un serveur distant.

Les données volées sont envoyées vers un serveur distant

Après avoir extrait les informations de la mémoire du navigateur, le programme constitue un petit objet JSON qui comprend trois valeurs: l'identifiant unique de la copie de Windows installée (MachineGuid), le paramètre lié à l'extension du navigateur trouvé en mémoire, ainsi qu'une indication du navigateur d'où proviennent les données, Chrome ou Brave.

Ensuite, le programme tente d'envoyer les données constituées par une requête HTTPS vers un serveur distant à l'adresse:

C'est précisément cette adresse qui est utilisée comme canal principal de transmission des informations les plus précieuses que le logiciel malveillant a réussi à collecter.

Un canal supplémentaire de transmission d'informations via Sentry

L'étude a également montré que le programme utilise le service Sentry.

Cependant, dans ce cas, il est utilisé d'une tout autre manière.

Dans différentes parties du code, on a trouvé des appels de fonctions qui envoient à Sentry des messages sur l'avancement du programme, les erreurs qui surviennent et ses différentes étapes. Avec eux sont également transmises des informations de service supplémentaires: l'identifiant de l'ordinateur, l'identifiant du processus, le nom du navigateur utilisé, ainsi que les désignations internes des étapes de fonctionnement du programme, par exemple Init, Conn et Success.

Le gestionnaire chargé d'envoyer les résultats de la requête POST principale présente un intérêt particulier. Dans cette partie du code, les spécialistes ont découvert que la structure de données contenant les paramètres h, v et b est également transmise via Sentry.

Malgré cela, le canal principal de transmission des informations confidentielles reste le serveur cdnresolver.com. L'utilisation de Sentry sert très probablement d'outil supplémentaire permettant aux opérateurs du logiciel malveillant de contrôler le succès des infections et de suivre le fonctionnement de leur propre logiciel.

Une autre coïncidence est également frappante. Lors de l'analyse de la version pour macOS, les mêmes domaines e1.cdnresolver.com et a2.cdnresolver.com ont été détectés. Bien que les programmes d'installation pour macOS et Windows reposent sur des technologies totalement différentes, tous deux finissent par communiquer avec la même infrastructure.

Sentry comme canal supplémentaire de transmission de données

Lors de l'analyse de la version pour Windows, les chercheurs ont découvert un autre détail intéressant. À l'intérieur du bytecode compilé du processus principal subsistait une chaîne:

Elle n'a aucun rapport avec la marque Relay sous laquelle l'application était diffusée. De plus, le nom du fichier sysupdwin.exe, dans lequel le programme se copie après son lancement, ainsi que l'entrée WindowsSysUpdateCheck créée dans le registre système, ne correspondent en rien non plus à l'identité de Relay.

Les noms de ces processus coïncident entièrement avec ceux utilisés dans l'échantillon étudié.

Néanmoins, les auteurs de l'étude soulignent qu'ils n'ont pas réussi à obtenir l'échantillon original de FYMeet. C'est pourquoi, à ce jour, on ne peut parler que d'une coïncidence de noms de fichiers et de certains éléments d'infrastructure. Il est prématuré de conclure que les deux campagnes sont organisées par le même groupe d'attaquants ou qu'elles utilisent un code source commun.

Bilan: une seule exécution, l'accès à toutes les données

L'enquête a commencé après les signalements de membres de la communauté qui avaient remarqué le site relay.lc. Au cours de l'analyse, il est apparu que les attaquants avaient préparé deux scénarios d'infection totalement différents, l'un pour les utilisateurs de macOS et l'autre pour Windows. Malgré les différences de mise en œuvre, les deux programmes d'installation poursuivent le même objectif: obtenir l'accès le plus large possible aux données confidentielles de la victime.

Toute la chaîne de l'attaque est construite en tenant compte des habitudes des utilisateurs de chaque système d'exploitation.

Sur macOS, les attaquants utilisent un procédé inhabituel mais psychologiquement convaincant. On demande à l'utilisateur d'installer l'application en faisant glisser un fichier dans la fenêtre de Terminal. À première vue, cela ressemble à une méthode d'installation non conventionnelle mais tout à fait admissible. En pratique, cependant, un script est exécuté qui supprime la marque d'origine système du fichier, contournant ainsi l'un des avertissements de sécurité intégrés de macOS, après quoi le logiciel malveillant est lancé de manière furtive.

Sur Windows, une approche totalement différente est appliquée. À la place, l'utilisateur voit un écran de mise à jour vraisemblable avec une barre de progression. Dans le meilleur des cas, le passage à l'étape suivante se produit au bout d'une dizaine de secondes, mais le temps d'attente maximal n'est nullement limité dans le code. Dès que la barre atteint la barre des 80%, le programme envoie la commande interne runUpdate. L'analyse du bytecode a montré qu'après cela devait être lancé le fichier non signé updater.exe, et ce avec une demande de droits d'administrateur.

L'approche du vol de données diffère elle aussi selon la plateforme.

Dans la version pour macOS, on montre à l'utilisateur une fausse fenêtre système lui demandant de saisir son mot de passe. En même temps, le programme accède à la base de données Keychain, où sont stockés les mots de passe et d'autres données secrètes. Ensuite, le mot de passe saisi et le contenu de Keychain sont réunis en un seul paquet destiné à être envoyé vers un serveur distant.

Sur Windows, l'accent principal est mis sur la persistance du programme dans le système et sur l'analyse ultérieure de la mémoire des navigateurs Chrome et Brave. Le logiciel malveillant recherche des informations liées au déverrouillage des portefeuilles de cryptomonnaies, extrait les paramètres nécessaires et les transmet à l'infrastructure distante dans une requête JSON spécialement constituée.

L'étude montre que le préjudice potentiel est bien plus large que la compromission d'un seul portefeuille de cryptomonnaies.

Le code du programme contient des modules ou des références directes à des mécanismes de collecte de données des navigateurs, des gestionnaires de mots de passe, du contenu de Keychain, des données locales de Telegram, des notes d'Apple Notes et de diverses informations sur l'appareil. Cela signifie qu'après une seule infection réussie, les attaquants peuvent potentiellement accéder non seulement aux données personnelles de l'utilisateur, mais aussi aux comptes d'entreprise, aux services cloud, aux systèmes internes de l'entreprise et à d'autres ressources critiques.

Recommandations aux personnes touchées

Si le fichier a seulement été téléchargé mais que l'utilisateur ne l'a pas exécuté, il suffit de supprimer le fichier DMG ou EXE téléchargé, de vider la Corbeille et de bloquer tous les domaines, URL et hachages énumérés dans l'étude à l'aide du filtrage DNS, des passerelles de sécurité ou des solutions EDR.

Si le logiciel malveillant a été exécuté sur macOS (l'utilisateur a fait glisser le fichier dans Terminal et appuyé sur Entrée), l'appareil doit être immédiatement déconnecté du réseau mais, si possible, ne pas être redémarré jusqu'à la fin de l'analyse forensique.

Si l'utilisateur a saisi son mot de passe dans la fausse fenêtre, il faut partir du principe que les attaquants ont pu obtenir aussi bien le mot de passe lui-même que le contenu de Keychain.

Si l'infection s'est produite sur Windows, l'ordinateur doit être immédiatement isolé du réseau et toute action liée à la saisie de mots de passe ou au déverrouillage de portefeuilles de cryptomonnaies doit être interrompue.

Si des portefeuilles de cryptomonnaies dans le navigateur étaient utilisés, il faut considérer que les données liées à leur déverrouillage ont pu être exposées, et transférer les actifs vers de nouveaux portefeuilles créés sur un appareil sûr.

Toutes les recommandations ci-dessus reposent sur une évaluation des risques aussi prudente que possible, à partir des capacités qui ont été confirmées au cours de l'analyse du code.

Il est important de tenir compte du fait que le logiciel malveillant analyse des paramètres déjà présents dans la mémoire des extensions de navigateur ou qui y apparaissent au cours de leur fonctionnement. De plus, les cookies et les jetons volés peuvent rester valides même sans changement de mot de passe. C'est pourquoi l'enquête sur ce type d'incident ne doit pas se limiter à vérifier si des actifs en cryptomonnaies ont été volés; les conséquences d'une infection peuvent s'avérer bien plus vastes.

#Piratage#Cryptofraude
Faux recrutement web3: comment une application d'IA vole des données personnelles et des mots de passe