Comment des acteurs malveillants exploitent le système d’invitation de Discord

Les pirates informatiques détournent les liens d’invitation Discord et redirigent les victimes vers des serveurs d’escroquerie afin d’installer des programmes malveillants à l’aide de la technique ClickFix.

Les pirates utilisent des liens d’invitation Discord expirés et supprimés pour distribuer deux variantes de programmes malveillants : AsyncRAT, qui permet de prendre le contrôle à distance des ordinateurs infectés, et Skuld Stealer, qui vole les données des portefeuilles de cryptomonnaies. Pour ce faire, ils exploitent une vulnérabilité dans le système de liens d’invitation de Discord afin de rediriger furtivement les utilisateurs provenant de sources fiables vers des serveurs malveillants.

L’attaque repose sur la technique ClickFix, les chargeurs à plusieurs niveaux et l’exécution différée pour contourner les défenses et propager des programmes malveillants de manière indétectable. Cet article examine en détail la manière dont les pirates informatiques exploitent le système des liens d’invitation, ce qu’est ClickFix, pourquoi ils l’utilisent, et surtout, comment ne pas tomber dans ce piège.

Fonctionnement des liens d’invitation Discord

Tout d’abord, voyons comment fonctionnent les liens d’invitation Discord et en quoi ils diffèrent les uns des autres. Nous pourrons ainsi comprendre comment les pirates informatiques ont appris à exploiter le système de création de liens de Discord.

Les liens d’invitation Discord sont des URL spéciales que les utilisateurs peuvent utiliser pour rejoindre des serveurs. Ils sont créés par les administrateurs pour simplifier l’accès aux communautés sans avoir à ajouter des membres manuellement. Les liens d’invitation dans Discord peuvent se présenter sous deux formes différentes :

  • https://discord.gg/{invite_code}
  • https://discord.com/invite/{invite_code}

L’existence de plusieurs formats, dont l’un utilise un domaine « mème », n’est pas la meilleure solution du point de vue de la sécurité, car elle sème la confusion dans l’esprit des utilisateurs. Mais ce n’est pas tout. Les liens d’invitation Discord existent également sous trois formes principales, qui diffèrent sensiblement les unes des autres en termes de propriétés :

  • Liens d’invitation temporaires
  • Liens d’invitation permanents
  • Liens d’invitation personnalisés (URL personnalisées)

Les liens du premier type sont ceux que Discord crée par défaut. De plus, dans l’application Discord, l’administrateur du serveur a le choix entre des délais d’expiration d’invitation fixes : 30 minutes, 1 heure, 6 heures, 12 heures, 1 jour ou 7 jours (option par défaut). Pour les liens créés via l’API Discord, un délai d’expiration personnalisé peut être défini : n’importe quelle valeur jusqu’à 7 jours.

Les codes des liens d’invitation temporaire sont générés de façon aléatoire et contiennent généralement 7 ou 8 caractères, dont des lettres majuscules et minuscules, ainsi que des chiffres. Exemples de liens temporaires :

  • https://discord.gg/a7X9pLd
  • https://discord.gg/fq5zw2cn

Pour créer un lien d’invitation permanent, l’administrateur du serveur doit sélectionner manuellement Jamais dans le champ Expirer après. Les codes d’invitation permanents sont composés de 10 caractères aléatoires : des lettres majuscules et minuscules, ainsi que des chiffres, comme auparavant. Exemple de lien permanent :

  • https://discord.gg/hT9aR2kLmB

Enfin, les liens d’invitation personnalisés (liens personnalisés) ne sont disponibles que pour les serveurs Discord de niveau 3. Pour atteindre ce niveau, un serveur doit obtenir 14 boosts, qui sont des mises à niveau payantes que les membres de la communauté peuvent acheter pour déverrouiller des avantages spéciaux. C’est pourquoi les communautés populaires ayant un public actif (serveurs de blogueurs, streamers, groupes de joueurs ou projets publics) atteignent généralement le niveau 3.

Les liens d’invitation personnalisés permettent aux administrateurs de définir leur propre code d’invitation, qui doit être unique pour tous les serveurs. Le code peut contenir des lettres minuscules, des chiffres et des traits d’union, et sa longueur peut être presque arbitraire – de 2 à 32 caractères. Un serveur ne peut avoir qu’un seul lien personnalisé à la fois.

Ces liens sont toujours permanents : ils n’expirent pas tant que le serveur maintient les avantages de niveau 3. Si le serveur perd ce niveau, son lien personnalisé devient disponible et peut être réutilisé par un autre serveur ayant le niveau requis. Exemples de liens d’invitation personnalisés :

  • https://discord.gg/alanna-titterington
  • https://discord.gg/best-discord-server-ever
  • https://discord.gg/fq5zw2cn

À partir de ce dernier exemple, les lecteurs attentifs devineront peut-être où nous voulons en venir.

Comment les escrocs exploitent le système d’invitation

Maintenant que nous avons examiné les différents types de liens d’invitation Discord, voyons comment les acteurs malveillants exploitent le mécanisme. Il est à noter que lorsqu’un lien d’invitation régulier, non personnalisé, expire ou est supprimé, l’administrateur d’un serveur légitime ne peut pas obtenir à nouveau le même code, puisque tous les codes sont générés de manière aléatoire.

Cependant, lors de la création d’un lien d’invitation personnalisé, le propriétaire du serveur peut saisir manuellement n’importe quel code disponible, y compris un code correspondant à celui d’un lien précédemment expiré ou supprimé.

C’est justement cette particularité du système d’invitation que les pirates exploitent : ils traquent les codes authentiques qui expirent, puis les enregistrent en tant que liens personnalisés sur leurs serveurs grâce à leurs avantages de niveau 3.

Par conséquent, les escrocs peuvent utiliser :

  • Tout lien d’invitation temporaire expiré (même si le lien expiré comporte des lettres majuscules et que l’URL personnalisée des escrocs les remplace par des minuscules, le système redirige automatiquement l’utilisateur vers cette URL personnalisée).
  • Liens d’invitation permanente supprimés des serveurs, si le code est composé uniquement de lettres minuscules et de chiffres (pas de redirection ici)
  • Liens d’invitation personnalisés, si le serveur d’origine a perdu les avantages du niveau 3 et que son lien peut être réutilisé

À quoi aboutit cette substitution ? Les pirates informatiques ont la possibilité de rediriger les utilisateurs qui cliquent sur des liens précédemment publiés sur des ressources tout à fait légitimes (réseaux sociaux, sites Internet, blogs et forums de diverses communautés) vers leurs propres serveurs malveillants sur Discord.

De plus, les propriétaires initiaux de ces ressources ne se rendent peut-être même pas compte que les anciens liens d’invitation pointent désormais vers de faux serveurs Discord mis en place pour diffuser des programmes malveillants. Cela signifie qu’ils ne peuvent même pas avertir les utilisateurs qu’un lien est dangereux ou supprimer les messages dans lesquels il apparaît.

Comment ClickFix intervient dans les attaques menées via Discord

Examinons maintenant ce qui arrive aux utilisateurs qui suivent des liens d’invitation détournés à partir de sources fiables. Après avoir rejoint le serveur Discord des pirates, l’utilisateur constate que tous les canaux lui sont inaccessibles, à l’exception d’un seul, appelé verify (vérification).

Serveur Discord malveillant

Sur le serveur Discord des pirates informatiques, les utilisateurs qui ont suivi le lien détourné n’ont accès qu’à un seul canal, verify (vérification) Source

Ce canal fait appel à un bot nommé Safeguard qui offre un accès complet au serveur. Pour ce faire, l’utilisateur doit cliquer sur le bouton Verify (vérification), qui est suivi d’une invite à autoriser le bot.

Fenêtre d'autorisation du bot Safeguard

En cliquant sur le bouton Autoriser, l’utilisateur est automatiquement redirigé vers le site externe des pirates informatiques, où commence la phase suivante et la plus importante de l’attaque. Source

Après autorisation, le bot accède aux informations du profil (nom d’utilisateur, avatar, bannière), et l’utilisateur est redirigé vers un site externe : https://captchaguard[.]me. Ensuite, l’utilisateur passe par une chaîne de redirections et se retrouve sur une page Internet bien conçue qui imite l’interface de Discord, avec un bouton Verify (vérification) au centre.

Faux écran de vérification sur un site externe

La redirection redirige l’utilisateur vers une fausse page conçue pour imiter l’interface de Discord. Un clic sur le bouton Verify (vérification) entraîne l’activation d’un code JavaScript malveillant qui copie une commande PowerShell dans le presse-papiers Source

Un clic sur le bouton Verify (vérification) entraîne l’activation d’un code JavaScript qui copie une commande PowerShell malveillante dans le presse-papiers. L’utilisateur reçoit ensuite des instructions précises pour « passer la vérification » : ouvrir la fenêtre Exécuter (Win + R), coller le texte copié dans le presse-papiers (Ctrl + V) et cliquer sur Entrée.

La technique ClickFix mise en œuvre par les pirates de liens Discord

Vient ensuite la technique ClickFix : l’utilisateur est invité à coller et à exécuter la commande malveillante copiée dans le presse-papiers à l’étape précédente. Source

Le site ne demande pas à l’utilisateur de télécharger ni d’exécuter manuellement des fichiers, ce qui élimine les signes d’avertissement typiques. Au lieu de cela, l’utilisateur s’infecte lui-même en exécutant une commande PowerShell malveillante que le site glisse dans le presse-papiers. Toutes ces étapes font partie d’une tactique d’infection appelée ClickFix, que nous avons déjà abordée en détail sur notre blog.

Les programmes malveillants AsyncRAT et Skuld Stealer

Le script PowerShell activé par l’utilisateur est la première étape d’un processus en plusieurs étapes visant à livrer la charge utile malveillante. L’objectif suivant des pirates informatiques est d’installer deux programmes malveillants sur l’appareil de la victime. Examinons chacun d’eux de plus près.

Tout d’abord, les pirates téléchargent une version modifiée d’AsyncRAT afin de prendre le contrôle à distance du système infecté. Cet outil offre un large éventail de fonctionnalités : exécution de commandes et de scripts, interception des frappes clavier, affichage de l’écran, gestion des fichiers et accès au bureau distant et à la caméra.

Ensuite, les cybercriminels installent le virus Skuld Stealer sur l’appareil de la victime. Ce voleur de cryptomonnaies récolte les informations du système, siphonne les identifiants Discord et les jetons d’authentification enregistrés dans le navigateur et, surtout, vole les phrases secrètes et les mots de passe des portefeuilles de cryptomonnaies Exodus et Atomic en injectant un code malveillant directement dans leur interface.

Skuld envoie toutes les données collectées via un webhook Discord, un canal HTTP unidirectionnel qui permet aux applications d’envoyer automatiquement des messages aux canaux Discord. Il s’agit d’un moyen sécurisé de voler des informations directement dans Discord sans avoir besoin d’une infrastructure de gestion complexe.

Résultat des courses : toutes les données (allant des mots de passe et jetons d’authentification aux phrases secrètes des portefeuilles de cryptomonnaies) sont automatiquement publiées dans un canal privé préalablement configuré sur le serveur Discord des cybercriminels. Grâce aux phrases secrètes, les pirates peuvent récupérer toutes les clés privées des portefeuilles piratés et prendre le contrôle total de l’ensemble des cryptomonnaies de leurs victimes.

Comment éviter de tomber dans le piège ?

Malheureusement, le système d’invitation de Discord manque de transparence et de clarté. Il est donc extrêmement difficile, en particulier pour les novices, de repérer la supercherie avant de cliquer sur un lien détourné ou pendant la redirection.

Néanmoins, certaines mesures de sécurité, si elles sont correctement mises en œuvre, devraient permettre d’éviter le pire scénario, à savoir un ordinateur infecté par un programme malveillant et des pertes financières :

  • Ne collez jamais de code dans la fenêtre Exécuter si vous ne savez pas exactement ce qu’il accomplit. Cette opération est extrêmement dangereuse, et aucun site normal ne donnera jamais une telle instruction.
  • Configurez les paramètres de confidentialité et de sécurité de Discord en suivant notre guide détaillé. Cette mesure ne vous protégera pas contre les liens d’invitation détournés, mais elle minimisera les autres risques associés à Discord.
  • Utilisez une solution de sécurité fiable sur tous vos appareils qui vous avertit des dangers et empêche le téléchargement de programmes malveillants. Il est préférable de l'installer sur tous les appareils, mais surtout sur ceux où vous utilisez des portefeuilles de cryptomonnaies et d'autres logiciels financiers.

Les acteurs malveillants ciblent souvent Discord pour voler des cryptomonnaies, des comptes et des objets de jeu, et nuire de manière générale aux utilisateurs. Consultez nos articles pour découvrir d'autres exemples d'escroqueries sur Discord :

Conseils