Le cryptojacking, une tendance lourde du paysage des menaces

Introduction

Les cybercriminels tendent à privilégier les versements en cryptomonnaies car ces devises facilement convertibles leur procurent un certain niveau d'anonymat. Leur intérêt s’est même accru ces dernières années, si bien que les cryptomonnaies font aujourd’hui bien plus que faciliter l’achat d’outils et de services illicites. La popularité grandissante de ces monnaies virtuelles, et la hausse des cours qui s’en est suivie, ont en effet attiré la convoitise de nombreux acteurs du cybercrime. C’est ainsi que l’on a assisté à une prolifération des actes de cryptomining, ou minage de cryptomonnaies (aussi appelé « cryptojacking), de vol d’identifiants de portefeuilles virtuels, d’extorsion, ou encore d’attaques sur les bourses de cryptomonnaies.

Dans cet article, nous explorons les différentes tendances observées dans l’univers du cryptomining. Au sommaire : l’ajout des modules de cryptojacking aux familles de malwares courants, la multiplication des attaques de cryptomining de type « drive-by », l’utilisation d’applications mobiles contenant du code de cryptojacking, la menace du cryptomining pour les infrastructures critiques et les mécanismes de propagation observés.

Qu’est-ce que le minage ?

Pour être effectives, les transactions sur une blockchain doivent être validées et diffusées à travers le réseau. Tandis que les ordinateurs connectés au réseau de la blockchain (les nœuds) se chargent de ces opérations, les mineurs intègrent quant à eux ces transactions à des " blocs "pour les ajouter à la « chaîne ». Chaque bloc passe par un algorithme de hachage et doit inclure le hash du bloc précédent afin de ne pas briser la "chaîne " de la blockchain. Pour déterminer le hash complexe de chaque bloc valide, les mineurs ont besoin de la puissance 'de calcul d’une machine. Plus le nombre de blocs est important, plus les ressources nécessaires à la résolution du hash sont nombreuses. Pour accélérer le processus de minage, de nombreux mineurs mettent en commun leurs ordinateurs dans des groupes baptisés  "pools " qui effectuent ensemble le calcul des hash de bloc. Plus la puissance de calcul d’un pool est forte, plus il a de 'chances de « miner » un nouveau bloc. Pour chaque minage d’un nouveau bloc, les membres du pool 'reçoivent une rémunération en cryptomonnaie. La Figure 1 illustre les rôles des mineurs sur le réseau de la blockchain.


Figure 1 : Rôle des mineurs

La nouvelle coqueluche du DarkNet

D’après FireEye iSIGHT Intelligence, les cybercriminels montrent un intérêt pour tout ce qui touche au minage de cryptomonnaies depuis au moins 2009. Parmi les mots-clés les plus prolifiques, on trouve « miner », « cryptonight », « stratum », « xmrig » et « cpuminer ». Si les résultats de recherche de certains mots-clés liés au cryptomining ne fournissent aucun contexte, force est de constater que le nombre de leurs occurrences dans les conversations explose depuis 2017 (cf. Figure 2). Il est probable qu’au moins une partie de ces cybercriminels préfèrent le cryptojacking à d’autres activités lucratives car il attire moins que d’autres l’attention des autorités.


Figure 2 : Occurrences de mots-clés sur le DarkNet

La ruée vers Monero

La grande majorité des opérations de cryptojacking récentes se focalisent sur le minage de Monero, une cryptomonnaie open source basée sur le protocole CryptoNote, mais aussi un « fork » de Bytecoin. Contrairement à beaucoup d’autres cryptomonnaies, Monero s’appuie sur la technologie des algorithmes de "signature ,"de cercle ' dont la particularité est de mélanger les clés publiques de plusieurs utilisateurs afin d’empêcher l’identification de l’un d’entre eux et par là même toute traçabilité des transactions. Monero repose également sur un protocole qui génère de multiples adresses à usage unique, associables exclusivement au destinataire du paiement et impossibles à révéler par une analyse de blockchain. Résultat : les transactions Monero sont à la fois intraçables et sécurisées par cryptographie.

La blockchain Monero utilise également 'un algorithme de hachage de type ,"memory-hard" , baptisé CryptoNight. Contrairement à l’algorithme SHA-256 de Bitcoin,' il décourage le minage basé sur les circuits intégrés ASIC (Application-Specific Integrated Circuit). Les développeurs Monero tiennent beaucoup à cette fonctionnalité qui garantit la viabilité et la rentabilité du minage CPU. Toutefois, cette rentabilité et la confidentialité des transactions ont toutes deux rendu Monero particulièrement attrayante aux yeux des cybercriminels.

Publicités pour mineurs sur le DarkNet

Parce que la plupart des utilitaires de minage sont de petits outils open source, de nombreux cybercriminels s’appuient sur les crypteurs. Ces utilitaires reposent sur des techniques de chiffrement, de masquage et de manipulation de code pour rendre leurs outils et malwares 100 % indétectables (FUD). Le tableau 1 recense certains des utilitaires de minage de Monero les plus fréquemment détournés.

Utilitaires de minage XMR

XMR-STACK

MINERGATE

XMRMINER

CCMINER

XMRIG

CLAYMORE

SGMINER

CAST XMR

LUKMINER

CPUMINER-MULTI

Tableau 1 : Utilitaires de minage de Monero couramment utilisés

Ci-dessous vous trouverez également des exemples de publicités pour des utilitaires de minage fréquemment observées sur les forums et marketplaces du DarkNet. Les produits proposés vont des simples utilitaires de minage autonomes aux outils multi-fonctions (collecte d’identifiants, RAT pour l’administration à distance, spreader USB, déni de service distribué (DDoS), etc.).

Exemple de publicité n° 1 (Mineur intelligent + GUI de création)

Au début du mois d’avril 2018, FireEye iSIGHT Intelligence a vu une annonce de "Mon£y "» pour un mineur de Monero à 80 dollars US – payable via Bitcoin, Bitcoin Cash, Ether, Litecoin ou Monero. La prestation comprend des builds illimités, des mises à jour automatiques gratuites et un support 24h/7j. L’outil baptisé Monero Madness (cf. Figure 3) intègre un paramètre Madness Mode, qui permet au mineur de s’exécuter uniquement lorsque la machine infectée reste en veille pendant au moins 60 secondes. Le mineur peut ainsi fonctionner à pleine puissance sans risquer d’être détecté par l’utilisateur. D’après le vendeur, Monero Madness intègre également les fonctionnalités suivantes :

  • Builds illimités
  • GUI de création (Figure 4)
  • Codage en AutoIT (zéro dépendance)
  • FUD
  • Gestion plus sûre des erreurs
  • Utilisation du code XMRig le plus récent
  • Pool/port personnalisable
  • UPX compris
  • Compatibilité avec tous les OS Windows (32 et 64 bits)
  • Option Madness Mode


Figure 3 : Monero Madness


Figure 4 : GUI de création Monero Madness

Exemple de publicité n° 2 (Mineur + créateur de bots Telegram)

En mars 2018, FireEye iSIGHT Intelligence a trouvé une publicité de "kent9876" pour un mineur de Monero baptisé Goldig Miner (cf. Figure 5). Le vendeur demandait 23 dollars US pour une version CPU ou GPU et 50 dollars US pour les deux. Il acceptait les paiements via Bitcoin, Ether, Litecoin, Dash ou PayPal. Le mineur en question offrirait les fonctionnalités suivantes :

  • Codage en C/C++
  • Build de petite taille (entre 100 et 150 Ko)
  • Masquage du processus du mineur dans les principaux gestionnaires de tâches
  • Fonctionnement en mode utilisateur, sans privilèges administrateur
  • Mises à jour automatiques
  • Cryptage 256 bits de toutes les données
  • Accès à un créateur de bots Telegram
  • Support illimité (24h/7j) via Telegram


Figure 5 : Publicité pour Goldig Miner

Exemple de publicité n° 3 (Mineur + voleur d’identifiants)

En mars 2018, FireEye iSIGHT Intelligence a trouvé une annonce de "TH3FR3D" pour Felix (cf. Figure 6), un outil qui allie le minage de cryptomonnaie au vol d’identifiants. Pour cet outil 2-en-1, le vendeur demandait 50 dollars US, payables via Bitcoin ou Ether. D’après cette publicité, Felix a tout pour plaire :

  • Codage en C# (Version 1.0.1.0)
  • Vol d’identifiants sur tous les principaux navigateurs (cookies, mots de passe enregistrés, auto-remplissage)
  • Mineur de Monero (pool minergate.com par défaut, mais configurable)
  • Vol d’identifiants Filezilla
  • Extracteur de fichiers du poste de travail (.txt et autres)
  • Téléchargement et exécution de fichiers
  • Mises à jour possibles
  • Spreader USB
  • Interface web PHP


Figure 6 : Felix HTTP

Exemple de publicité n° 4 (Mineur + RAT)

En janvier 2018, FireEye iSIGHT Intelligence est tombé sur une annonce publiée par "ups " pour un mineur de toutes les cryptomonnaies basées sur Cryptonight (Monero, Dashcoin, etc.), compatible Linux et Windows. Outre sa fonction de mineur, l’outil permet apparemment de procéder à une élévation des privilèges locaux via l’exploit CVE-2016-0099. Il peut également télécharger et exécuter des fichiers à distance et recevoir des instructions. La version Windows ou Linux est à 200 €, tandis que les deux sont à 325 €, payables via Monero, Bitcoin, Ether ou Dashcoin. D’après le vendeur, l’outil offre de nombreuses fonctionnalités :

Version Windows

  • Codage en C++ (zéro dépendance)
  • Mineur basé sur XMRig
  • Options de cryptage et d’hébergement VPS faciles
  • Interface web (Figure 7)
  • Protocole TLS pour des communications sécurisées
  • Téléchargement et exécution
  • Mises à jour automatiques
  • Procédure de nettoyage
  • Réception d’instructions à distance
  • Escalade des privilèges
  • "Mode gaming" (interruption du minage pendant que l’utilisateur joue)
  • Fonctionnalité proxy (basée sur XMRig)
  • Support (20 € par mois)
  • Neutralisation des autres mineurs listés
  • Masquage dans le gestionnaire des tâches
  • Pool, cryptomonnaie et portefeuille configurables (via l’interface)
  • Compatible avec toutes les cryptomonnaies basées sur Cryptonight :
    • Monero
    • Bytecoin
    • Electroneum
    • DigitalNote
    • Karbowanec
    • Sumokoin
    • Fantomcoin
    • Dinastycoin
    • Dashcoin
    • LeviarCoin
    • BipCoin
    • QuazarCoin
    • Bitcedi

Version Linux

  • Problèmes connus en cas d’exécution sur serveurs Linux (meilleures performances sur les postes de travail)
  • Compatible avec les processeurs AMD64 sur Ubuntu, Debian, Mint (bientôt compatible avec CentOS)


Figure 7 : Interface web du bot de mineurs

Exemple de publicité n° 5 (Mineur + spreader USB + outil DDoS)

En août 2017, FireEye iSIGHT Intelligence a trouvé une annonce de "MeatyBanana" ventant les mérites d’un utilitaire de minage de Monero. Cet utilitaire permet de télécharger et d’exécuter des fichiers et de perpétrer des attaques DDoS. Vendu à 30 dollars US, payables via Bitcoin, l’outil fonctionne pour le minage CPU uniquement. Au menu :

  • Pool et port de mineurs configurables (minergate par défaut)
  • Compatible Windows 64 et 86 bits
  • Masquage du processus dans plusieurs gestionnaires de tâches :
  • Gestionnaire de tâches Windows
  • Process Killer
  • Kill Process
  • System Explorer
  • Process Explorer
  • AnVir
  • Process Hacker
  • Passe pour un pilote système
  • Aucun privilège administrateur requis
  • Zéro dépendance
  • Mécanisme de persistance du registre
  • Exécution de "tâches"(téléchargement et exécution de fichiers, visite d’un site, attaques DDoS)
  • Spreader USB
  • Support après-vente

Le coût du cryptojacking

Les logiciels de minage présents sur votre réseau s’octroient clandestinement des ressources, ce qui pourra vous coûter cher à trois niveaux :

  1. Dégradation des performances de vos systèmes
  2. Hausse de la consommation électrique
  3. Risque d’exposition des failles de sécurité

Étant donné que le cryptojacking siphonnent la puissance de calcul des ordinateurs, les charges CPU augmentent et les performances diminuent en conséquence. Dans des cas extrêmes, la surcharge est telle que le système d’exploitation finit par planter. Dans d'autres cas, l’infection pourra se propager à des machines environnantes et ainsi générer d’énormes volumes de trafic qui risquent'de saturer les réseaux informatiques des victimes.

Sur les réseaux opérationnels des entreprises, le cryptojacking pourra causer de sérieux dégâts. La plupart des environnements des systèmes de contrôle et d’acquisition de données ou de contrôle industriel (SCADA/ICS) s’appuient en effet sur des matériels vieillissants et des réseaux bas débit. Dans ces conditions, même une infime surcharge des processeurs ou du réseau pourra paralyser les infrastructures industrielles. Les opérateurs n’auront alors plus aucun moyen d’interagir avec le processus contrôlé en temps réel.

Le coût de la consommation électrique, en kilowatt-heure (kWh), dépend de plusieurs facteurs : la fréquence d’exécution du logiciel de minage malveillant, le nombre de threads' utilisés et le nombre de machines impliquées dans le minage 'sur le réseau infecté. Le coût du kilowatt-heure lui-même variera énormément, en fonction de la position géographique des machines exploitées. Par exemple, des chercheurs en sécurité qui ont exécuté Coinhive sur une machine pendant 24 heures ont relevé une consommation électrique de 1,212 kWh. D’après leurs estimations, cela représente une facture électrique mensuelle de 10,50 USD aux États-Unis, 5,45 USD à Singapour et 12,30 USD en Allemagne.

Parfois, le cryptojacking met aussi en lumière des failles de sécurité passées jusqu’ici inaperçues sur les réseaux 'd’entreprise. En effet, si les « cryptojackeurs » ont réussi à s’introduire, c'est que l’entreprise est certainement exposée à d’autres exploits et d’autres attaques plus graves, allant des simples ransomwares aux malwares ciblant les ICS comme TRITON.

Techniques de propagation des mineurs de cryptomonnaie

Pour gagner un maximum d’argent, les cybercriminels propagent allègrement leurs mineurs à l’aide de diverses techniques : intégration de modules de cryptojacking à des botnets existants, attaques de cryptomining de type « drive-by », utilisation d’applications mobiles contenant du code de cryptojacking, ou encore diffusion d’utilitaires de cryptomining via le spam et des outils d’auto-propagation. Ils peuvent ainsi infecter de nombreux terminaux et siphonner leur puissance de calcul en toute discrétion. Parmi les équipements les plus souvent ciblés :

  • Terminaux utilisateurs
  • Serveurs d’entreprise
  • Sites web
  • Appareils mobiles
  • Systèmes de contrôle industriel (ICS)
Cryptojacking dans le cloud

Dans les administrations comme dans le secteur privé, on assiste actuellement à une grande migration des données et applications dans le cloud. Les cybercriminels ont donc tout naturellement suivi le mouvement. Ainsi, nous avons récemment observé des opérations de cryptomining menées par différents acteurs sur les infrastructures cloud. Si ces infrastructures sont de plus en plus ciblées, c’est parce qu’elles offrent aux hackers une surface d’attaque énorme, doublée d’une puissance de calcul phénoménale dans un environnement où la consommation de CPU et d’électricité s’avère de toute façon élevés. Leurs activités ont ainsi moins de chances d’être repérées. Selon nous, le fort potentiel collectif des réseaux cloud d’entreprise va très certainement continuer d’attirer la convoitise des cybercriminels.

Voici quelques exemples concrets de cryptojacking dans le cloud :

  • En février 2018, les chercheurs FireEye ont publié un billet de blog qui détaille les différentes techniques utilisées par les attaquants pour implanter leur programme de minage (en particulier sur les serveurs Oracle vulnérables) à l’aide de l’exploit CVE-2017-10271. Pour en savoir plus sur les techniques de dissémination pré-minage et post-exploitation utilisées lors de ces campagnes, lisez le billet qui y est consacré.
  • En mars 2018, Bleeping Computer a écrit un article sur l’arrivée du cryptomining dans le cloud via des applications Docker et Kubernetes vulnérables, deux outils logiciels utilisés par les développeurs pour scalabiliser l’infrastructure 'cloud d’une entreprise. Dans la plupart des cas, les attaques aboutissent grâce à une mauvaise configuration des applications et/ou la faiblesse des mots de passe et contrôles de sécurité.
  • En février 2018, Bleeping Computer a également couvert le piratage des serveurs cloud de Tesla 'pour le cryptomining de Monero. Les attaquants avaient alors identifié une console Kubernetes non protégée par mot de passe, ce qui leur avait permis de se procurer les identifiants de connexion au reste de l’environnement cloud de Tesla, hébergé sur Amazon Web Services (AWS) S3. Une fois les hackers infiltrés via les identifiants subtilisés, ils avaient pu lancer leurs opérations de cryptojacking.
  • La mauvaise configuration de buckets de stockage cloud AWS S3 a également favorisé plusieurs autres opérations de cryptojacking, notamment dans le cas de la compromission du site du LA Times en février 2018. Des buckets AWS S3 vulnérables permettent en effet à n’importe quel internaute d’accéder au contenu hébergé et de le modifier, y compris pour l’injection de scripts de cryptomining ou d’autres logiciels malveillants.
Intégration de modules de cryptojacking à des botnets existants

FireEye iSIGHT Intelligence a vu de nombreux botnets de grande ampleur comme Dridex et Trickbot intégrer le cryptomining à leurs activités existantes. Parmi ces familles, beaucoup sont modulaires par nature et capables de télécharger et d’exécuter des fichiers à distance. Résultat : leurs exploitants peuvent aisément transformer des machines déjà infectées en bots de cryptojacking. Bien qu’historiquement, ces botnets se soient concentrés sur le vol d’identifiants (notamment dans la banque en ligne), l’ajout de modules de minage ou le téléchargement de programmes de cryptojacking secondaires représentent une nouvelle source d’argent facile pour leurs exploitants. C’est d’autant plus vrai lorsque leurs victimes s’avèrent peu rentables ou ont déjà été exploitées dans le cadre d’une attaque initiale.

Voici quelques exemples concrets d’intégration du cryptojacking à des botnets existants :

  • Au début du mois de février 2018, FireEye iSIGHT Intelligence a pu constater que le botnet Dridex ID 2040 téléchargeait un mineur de Monero basé sur le mineur XMRig open source.
  • Le 12 février 2018, FireEye iSIGHT Intelligence a vu IcedID, un malware spécialisé dans le secteur bancaire, injecter du code JavaScript de cryptomining de Monero dans les pages web d’URL ciblées. Ces injections servent à lancer un mineur anonyme basé sur le code de minage de Coinhive 'AuthedMine.
  • À la fin de l’année 2017, d’après Bleeping Computer, des chercheurs en sécurité de Radware ont constaté que le collectif CodeFork exploitait le fameux téléchargeur Andromeda (alias Gamarue) pour la propagation d’un module de minage à travers ses botnets existants.
  • Toujours fin 2017, les chercheurs de FireEye ont vu des opérateurs de Trickbot déployer un nouveau module baptisé "testWormDLL" qui n’est autre qu’une compilation statique du fameux mineur Monero XMRig.
  • Le 29 août 2017, Security Week publiait un article sur une variante de Neutrino, un cheval de Troie bien connu du secteur bancaire, qui intégrait un module de cryptomining de Monero. D’après le site d’information, la nouvelle variante ne sert plus à subtiliser des données de cartes bancaires. Elle s’est désormais reconvertie dans le téléchargement et l’exécution de modules à partir d’un serveur distant.

Cryptojacking de type « drive-by »

Dans les navigateurs

FireEye iSIGHT Intelligence a étudié plusieurs rapports de clients faisant état d’opérations de cryptomining dans les navigateurs. Les scripts de minage utilisés ici provenaient de sites web compromis, de régies publicitaires, mais étaient aussi légitimement insérés sur certains sites web par leurs auteurs. S’il est possible d’intégrer directement des scripts de cryptomining au code source d’une page' web, ils sont le plus souvent chargés à partir de sites web externes. L’identification et la détection des sites web recourant à cette pratique peuvent s’avérer difficiles dans la mesure où les scripts incriminés ne sont pas tous autorisés par les auteurs des sites web (dans le cas d’un site compromis, par exemple). De même, lorsque le propriétaire d’un site autorise les scripts de cryptomining, il n’en notifie pas toujours clairement ses visiteurs. Au moment où nous écrivons ces lignes, le script le plus répandu reste Coinhive. Coinhive désigne une bibliothèque JavaScript open source qui, une fois chargée sur un site web vulnérable, peut miner de la cryptomonnaie Monero à l’aide des ressources 'CPU des internautes, à leur insu et pendant toute la durée de visite de ce site.

Voici quelques exemples concrets de déploiement de Coinhive :

  • En septembre 2017, Bleeping Computer écrivait que les auteurs de SafeBrowse, une extension Chrome installée plus de 140 000 fois, avaient intégré le script Coinhive à leur code' pour le minage de Monero à l’aide des ordinateurs 'de leurs utilisateurs, et ce sans leur consentement.
  • Mi-septembre 2017,  le site Reddit s’est fait l’écho d’une hausse de la consommation processeur sur l’ordinateur des visiteurs de The Pirate Bay (TPB), un célèbre site torrent. Ce pic s’expliquait par l’intégration du script Coinhive' dans le pied de page' du site. D’après les opérateurs de TPB, il ne s’agissait que d’un test pour permettre au site de générer des revenus passifs (cf. Figure 8).
  • En décembre 2017, des chercheurs de Sucuri ont signalé la présence du script Coinhive sur GitHub.io, qui permet aux utilisateurs de publier des pages web directement à partir des référentiels GitHub.
  • Le présence du script Coinhive a également été signalée sur le domaine Showtime et le site web du LA Times, pour le minage clandestin de Monero.
  • La majorité des activités de cryptojacking dans les navigateurs ne sont que temporaires par nature : elles se poursuivent tant que le navigateur web de l’utilisateur reste ouvert. Toutefois, des chercheurs des Malwarebytes Labs ont découvert une technique qui permet de prolonger les activités de minage même après la fermeture de la fenêtre. Cette technique consiste à exploiter une fenêtre d’arrière-plan « pop-under », cachée sous la barre des tâches. D’après ces chercheurs, fermer la fenêtre du navigateur risque de ne pas suffire pour stopper le cryptomining. Les internautes devront par exemple exécuter le gestionnaire de tâches pour vérifier qu’aucune opération ne s’exécute en arrière-plan.


Figure 8 : Communiqué des opérateurs de TPB concernant le script Coinhive

Malvertising et kits d’exploit

En règle générale, le malvertising (des publicités malveillantes sur des sites web légitimes) redirige les visiteurs d’un site vers la page d’un kit d’exploit. Ces pages de renvoi sont spécialement conçues pour rechercher des vulnérabilités sur le système de l’internaute et exploiter ces failles en vue de télécharger et d’exécuter du code malveillant sur ledit système. Notons également que les publicités malveillantes peuvent se trouver sur des sites légitimes et infecter leurs visiteurs quasiment sans interaction. Cette tactique de diffusion sert couramment à la propagation de malwares, notamment dans le cadre d’opérations de cryptomining.

Voici quelques exemples concrets de ce type d’activités :

  • Au début de l’année 2018, des chercheurs de Trend Micro ont signalé la propagation sur YouTube d’un script de minage modifié, via la régie publicitaire Google' DoubleClick. Le script est configuré pour générer une variable aléatoire comprise entre 1 et 100. Chaque fois que le nombre généré est supérieur à 10, il lance le script Coinhive coinhive.min.js, qui consomme alors 80 % des ressources CPU de l’utilisateur pour miner des Monero. Lorsque la variable est inférieure à 10, il lance un script Coinhive modifié, lui aussi configuré pour exploiter 80 % de la puissance de calcul de l’internaute. Ce mineur personnalisé est connecté au pool de minage wss[:]//ws[.]l33tsite[.]info:8443, certainement pour éviter les frais de 'Coinhive.
  • En avril 2018, des chercheurs de Trend Micro ont également découvert du code JavaScript basé sur Coinhive et injecté dans une régie publicitaire d’AOL. Le mineur utilisait deux pools privés : wss[:]//wsX[.]www.datasecu[.]download/proxy et wss[:]//www[.]jqcdn[.]download:8893/proxy. L’analyse d’autres sites compromis par cette campagne a révélé que certains opérateurs hébergeaient du contenu malveillant dans des buckets AWS S3 non sécurisés.
  • Selon des observations faites par FireEye depuis le 16 juillet 2017, le kit d’exploit Neptune redirige vers des publicités pour des clubs de randonnée et des domaines de convertisseurs MP3. Parmi les payloads associés à ces derniers, on trouve des mineurs CPU de Monero, installés à l’insu 'des victimes.
  • En janvier 2018, les chercheurs de Check Point ont découvert une campagne de malvertising associée au kit d’exploit Rig, qui installait clandestinement l’utilitaire de minage Monero XMRig sur les machines des victimes.

Cryptojacking sur terminaux mobiles

Lorsqu’ils ne ciblent pas les serveurs d’entreprise et les machines d’utilisateurs, les opérateurs de cryptojacking s’attaquent aux terminaux mobiles. Bien que moins courante (les terminaux mobiles offrent souvent une puissance de calcul limitée), cette technique constitue une menace car une consommation électrique intensive peut endommager ce type d’appareils et faire chuter leur temps d’autonomie. Pour cibler les terminaux mobiles, les attaquants hébergent des applications de cryptojacking sur les principaux app stores et lancent des campagnes de malvertising de type « drive-by » qui identifient les utilisateurs de navigateurs mobiles.

Voici quelques exemples concrets de cryptojacking des terminaux mobiles :

  • Dès 2014, FireEye iSIGHT Intelligence a signalé de multiples applications Android capables de cryptomining :
    • En mars 2014, le malware Android baptisé "CoinKrypt " a été découvert. Il minait des Litecoin, des Dogecoin et des CasinoCoin.
    • En mars 2014, une autre forme de malware Android – "Android.Trojan.MuchSad.A " ou " ANDROIDOS_KAGECOIN.HBT " – minait lui aussi des Bitcoin, des Litecoin et des Dogecoin. Ce malware se faisait passer pour des applications courantes comme "Football Manager Handheld " et "TuneIn Radio." Des millions d’utilisateurs de Google Play auraient alors téléchargé les variantes de ce malware.
    • En avril 2014, un malware Android baptisé "BadLepricon" a été identifié. Les hackers avaient alors logé leur malware dans des applications de fond d’écran sur Google Play pour miner du Bitcoin. Plusieurs de ces applications ont été installées entre 100 et 500 fois avant leur retrait de l’app store.
    • En octobre 2014, un type de malware mobile baptisé" Android Slave " a fait son apparition en Chine. Il était apparemment capable de miner plusieurs monnaies virtuelles.
  • En décembre 2017, des chercheurs des Kaspersky Labs ont signalé un nouveau malware Android polyvalent, doté d’une grande variété de fonctionnalités comme le cryptomining et le lancement d’attaques DDoS. La consommation de ressources de ce malware serait si élevée qu’elle peut littéralement faire gonfler la batterie, au point de détruire physiquement l’appareil. Baptisé Loapi, ce malware se distingue par l’étendue de ses fonctionnalités. Son framework comprend des modules de malvertising, d’envoi de SMS malveillants, de web-crawling, de cryptomining de Monero, et bien d’autres encore. Attribué aux développeurs du malware Android Podec de 2015, Loapi se fait généralement passer pour une application antivirus.
  • En janvier 2018, SophosLabs a publié un rapport sur 19 applications mobiles hébergées sur Google Play qui contenaient du code de cryptojacking basé sur Coinhive. Certaines d’entre elles ont été téléchargées entre 100 000 et 500 000 fois.
  • Entre novembre 2017 et janvier 2018, les chercheurs des Malwarebytes Labs ont suivi une campagne de cryptojacking de type « drive-by » qui a infecté des millions de navigateurs mobiles Android pour le minage de Monero.

Campagnes de spam pour le cryptojacking

FireEye iSIGHT Intelligence a constaté la diffusion de plusieurs mineurs de cryptomonnaie via des campagnes de spam, une tactique courante pour la propagation de masse des malwares. Selon nous, tant que le cryptomining sera rentable, les attaquants spammeront pour diffuser leur code de cryptojacking.

Fin novembre 2017, les chercheurs FireEye ont identifié une campagne d’e-mails contenant un PDF malveillant. Il s’agissait plus précisément d’une fausse facture émise soi-disant par le plus grand port marchand de Nouvelle-Zélande : le port Lyttelton de Christchurch (cf. Figure 9). Une fois ouvert, le fichier PDF lançait un script PowerShell qui téléchargeait un mineur de Monero depuis un hôte distant. Le mineur malveillant se connectait aux pools supportxmr.com et nanopool.org.


Figure 9 : Exemple de pièce jointe malveillante (PDF) qui télécharge un mineur de cryptomonnaie

En janvier 2018, les chercheurs de FireEye ont également mis au jour une grande campagne de cryptojacking perpétrée via un spam de masse. Les faux e-mails d’établissements financiers incitaient les victimes à cliquer sur un lien malveillant qui déclenchait le téléchargement d’un fichier ZIP infecté sur leur 'machine. Ce fichier ZIP contenait un utilitaire de minage de cryptomonnaie (MD5: 80b8a2d705d5b21718a6e6efe531d493) configuré pour Monero et connecté au pool minergate.com. Si chaque leurre des e-mails et chaque fichier ZIP associé étaient différents, nous avons cependant retrouvé le même échantillon de cryptomining dans tous les cas (cf. Tableau 2).

Noms de fichiers ZIP

california_540_tax_form_2013_instructions.exe

state_bank_of_india_money_transfer_agency.exe

format_transfer_sms_banking_bni_ke_bca.exe

confirmation_receipt_letter_sample.exe

sbi_online_apply_2015_po.exe

estimated_tax_payment_coupon_irs.exe

how_to_add_a_non_us_bank_account_to_paypal.exe

western_union_money_transfer_from_uk_to_bangladesh.exe

can_i_transfer_money_from_bank_of_ireland_to_aib_online.exe

how_to_open_a_business_bank_account_with_bad_credit_history.exe

apply_for_sbi_credit_card_online.exe

list_of_lucky_winners_in_dda_housing_scheme_2014.exe

Tableau 2 : Échantillon des noms de fichiers ZIP contenant des cryptomineurs

Vers de cryptojacking

À la suite des attaques WannaCry, de plus en plus de cybercriminels ont commencé à intégrer des fonctions d’auto-propagation à leurs malwares. Parmi les techniques observées : copie du malware sur des disques amovibles, attaque par force brute des connexions SSH ou encore EternalBlue, un exploit fuité attribué à la NSA. Les opérations de cryptomining bénéficient grandement de l’auto-propagation puisque la prolifération du malware se traduit par un accroissement des ressources processeurs disponibles pour le minage. C’est pourquoi nous nous attendons à un recours de plus en plus fréquent à ces méthodes.

Voici quelques exemples concrets de vers de cryptojacking :

  • En mai 2017, Proofpoint a signalé une vaste campagne de diffusion du malware de cryptomining"Adylkuzz." Ce mineur de cryptomonnaie s’appuyait sur l’exploit EternalBlue pour se propager rapidement sur les réseaux LAN et sans fil des entreprises. Les attaquants utilisaient le backdoor DoublePulsar pour télécharger Adylkuzz. Les infections Adylkuzz créent des botnets d’ordinateurs Windows dédiés au minage de Monero.
  • En avril 2018, les chercheurs en sécurité de Sensors ont identifié un ver de cryptomining de Monero baptisé "Rarogminer ". À chaque connexion d’une clé USB ou d’un disque dur externe à la machine, Rarogminer se copiait sur ce support amovible.
  • En janvier 2018, des chercheurs de F5 ont découvert un nouveau botnet de cryptomining de Monero qui cible les machines Linux. Basé sur le langage de script Python, PyCryptoMiner se propage via le protocole SSH. Le bot peut également utiliser Pastebin comme infrastructure de commande et de contrôle (C2). Pour se propager, le malware tente de deviner les informations de connexion SSH des systèmes Linux ciblés. Lorsqu’il y parvient, le bot déploie un simple script Python encodé en base64 qui se connecte au serveur C2 pour télécharger et exécuter d’autres codes Python malveillants.

Méthodes de contournement des systèmes de détection

Autre tendance à noter : l’utilisation de serveurs proxy pour contourner les systèmes de détection. Pour les cybercriminels, l’implémentation de serveurs proxy de minage a de quoi séduire puisqu’elle leur permet d’éviter les frais de développeur et autres commissions d’au moins 30 %. Par ailleurs, en délaissant les principaux services de cryptojacking (Coinhive, Cryptloot et Deepminer) au profit d’un hébergement de leurs propres scripts sur des infrastructures sous leur contrôle, les attaquants parviennent à contourner de nombreux dispositifs de blocage reposant sur des listes noires de noms de fichiers et de domaines.

En mars 2018, Bleeping Computer a écrit un article sur l’utilisation des serveurs proxy de cryptojacking. D’après le site, à mesure que l’usage du proxy se développe, l’efficacité des bloqueurs de publicités et des extensions de navigateurs basés sur des listes noires décroît fortement.

GitHub héberge plusieurs outils proxy de minage comme XMRig Proxy, qui fait chuter le nombre de connexions actives au pool, ou encore CoinHive Stratum Mining Proxy, qui repose sur la bibliothèque de minage JavaScript de Coinhive pour fournir une alternative aux scripts et à l’infrastructure Coinhive officiels.

Outre l’utilisation de serveurs proxy, certains cybercriminels établissent également leurs propres applications de cryptomining, qu’ils hébergent eux-mêmes sur des serveurs privés ou cloud compatibles Node.js. Bien que les serveurs privés procurent des avantages supplémentaires par rapport aux services de minage commerciaux, ils peuvent vite se faire blacklister et doivent faire l’objet d’une maintenance plus soutenue. D’après les chercheurs de Sucuri, les serveurs cloud offrent quant à eux de nombreux avantages aux cybercriminels désireux d’héberger leurs propres applications de minage. Parmi ces atouts :

  • Bas coût, voire gratuité
  • Zéro maintenance – il suffit juste de charger l’application
  • Blocage plus complexe puisque le placement sur liste noire de l’adresse hôte risque de gêner l’accès à des services légitimes
  • Plus difficiles à éradiquer puisque des comptes d’hébergement « jetables » peuvent être créés à volonté

En clair, pour les professionnels de la sécurité, l’alliance des serveurs proxy aux cryptomineurs hébergés sur des infrastructures cloud sous contrôle des attaquants complique énormément la tâche de détection et de neutralisation des opérations de cryptokjacking.

Données démographiques sur les victimes de cryptomining

D’après les données issues des systèmes de détection de FireEye, la détection des malwares de cryptomining s’est grandement améliorée depuis le début de l’année 2018 (cf. Figure 10). Minergate et nanopool représentent les deux principaux pools de mineurs (cf. Figure 11), tandis que les États-Unis occupent la tête du classement des pays les plus touchés (cf. Figure 12). En outre, l’enseignement reste le secteur le plus touché (cf. Figure 13). En cause, un plus grand relâchement dans les contrôles de sécurité des réseaux universitaires et des étudiants profitant de l’électricité gratuite pour miner des cryptomonnaies.


Figure 10 : Évolution mensuelle des détections de cryptomining


Figure 11 : Pools couramment observés et ports associés


Figure 12 : Top 10 des pays les plus touchés


Figure 13 : Top 5 des secteurs les plus touchés


Figure 14 : Secteurs les plus touchés par pays

Techniques de réduction des risques

Sessions Stratum non cryptées

D’après les chercheurs en sécurité de Cato Networks, pour qu’un mineur rejoigne un pool, la machine infectée devra exécuter du code natif ou JavaScript qui utilise le protocole Stratum sur TCP ou HTTP/S. Le protocole Stratum repose sur une architecture Pub/Sub (Publish/Subscribe), sur laquelle les clients envoient des requêtes d’inscription à tel ou tel pool et les serveurs envoient (publient) des messages aux clients inscrits. Ces messages JSON-RPC sont simples et accessibles en lecture. Quant aux requêtes d’inscription, elles contiennent les arguments suivants : id, method et params (cf. Figure 15). Il est donc possible de configurer un moteur d’inspection approfondie des paquets (DPI) pour la recherche de ces paramètres afin de bloquer Stratum sur le protocole TCP non crypté.


Figure 15 : Paramètres d’une requête d’abonnement Stratum

Sessions Stratum cryptées

Incapables de décrypter le trafic TLS, les moteurs DPI peinent davantage à détecter les mineurs JavaScript qui utilisent Stratum sur HTTPS. Pour bloquer le trafic de minage crypté sur un réseau, les entreprises peuvent placer sur liste noire les adresses IP et noms de domaine des principaux pools de cryptomining. Toutefois, encore faut-il trouver et actualiser régulièrement une telle liste. En effet, il peut s’avérer difficile et laborieux de repérer une liste des principaux pools qui soit fiable et maintenue à jour.

Sessions sur navigateur

L’identification et la détection de sites web contenant du code de cryptomining peuvent s’avérer difficiles dans la mesure où ces scripts ne sont pas tous autorisés par les auteurs des sites web (dans le cas d’un site compromis, par exemple). De même, lorsque le propriétaire d’un site autorise les scripts de cryptomining, il n’en notifie pas toujours clairement ses visiteurs.

À mesure que les systèmes de protection se renforcent pour prévenir ce type d’activités non autorisées, les attaquants adaptent eux aussi leurs techniques. Toutefois, le blocage de certaines méthodes les plus couramment observées jusqu’ici pourra permettre de lutter efficacement contre nombre des activités de cryptojacking qui siphonnent vos ressources CPU. Parmi les mesures génériques de détection des opérations de cryptomining dans les navigateurs :

  • Blocage de noms de domaine connus pour avoir hébergé des scripts de cryptojacking
  • Blocage des sites web de projets de minage connus comme Coinhive
  • Blocage généralisé des scripts
  • Utilisation d’un bloqueur de publicités ou d’une extension anti-cryptomining dans le navigateur
  • Détection des conventions de nommage fréquemment utilisées
  • Alertes et blocage du trafic à destination des principaux pools de mineurs connus

Outre les malwares dédiés au cryptojacking, certaines de ces mesures de détection pourront également servir à neutraliser les fonctionnalités de cryptomining de malwares spécifiques au secteur financier.

Il est important de noter que le code JavaScript utilisé dans les activités de cryptojacking sur navigateur ne peut accéder aux fichiers sur vos disques. Toutefois, si un hôte a visité par inadvertance un site web qui héberge ces scripts, nous recommandons de purger le cache de la machine et d’autres données du navigateur.

Perspectives

À en croire les nombreuses campagnes observées et signalées par les chercheurs en sécurité, les communautés et marketplaces du DarkNet montrent un vif intérêt pour le cryptojacking. La courbe de ces activités connaît en effet une forte progression qui devrait se poursuivre tout au long de l’année 2018. Notons également que le cryptojacking a sans doute gagné les faveurs des cybercriminels de par le manque d’attention perçu des autorités sur ce sujet, notamment par rapport aux autres formes de fraude et vols de données. De même, les victimes elles-mêmes pourront ne rien remarquer, si ce n’est un ralentissement des performances de leur système.

La rentabilité du minage CPU et la confidentialité des transactions ont toutes deux rendu Monero particulièrement attrayante aux yeux des cybercriminels. Selon nous, elle devrait rester la cryptomonnaie de choix des attaquants 'tant que sa blockchain maintiendra ses niveaux d’anonymat et résistera aux puces ASIC. À l’avenir, si le protocole Monero venait à assouplir ses fonctionnalités de sécurité et de confidentialité, les cybercriminels se tourneraient à coup sûr vers une autre cryptomonnaie offrant de hautes garanties d’anonymat.

Entre cet anonymat de la monnaie virtuelle et des portefeuilles électroniques Monero d'une part, et l’offre de nombreux marchés d’échange et autres mélangeurs (tumbler) d'autre part, les autorités peinent à trouver les coupables des activités de cryptojacking. Il est donc rare que leurs auteurs soient identifiés. En clair, tant qu'il demeurera rentable et relativement peu risqué, le cryptomining continuera sans aucun doute d'avoir les faveurs des cybercriminels.