Cryptojacking : fonctionnement et détection

Mekkioui majda
INSA TC
Published in
7 min readJan 6, 2020

Qu’est-ce qu’une cryptomonnaie ?

La cryptomonnaie est une monnaie électronique et un système de paiement qui permet de transférer de l’argent sans faire appel à un intermédiaire et sans passer par le système bancaire actuel, c’est une monnaie décentralisée qui se fait de pair-à-pair. Elle est basée sur un principe de cryptographie lui permettant d’être infalsifiable et non duplicable. Le Bitcoin est la cryptomonnaie la plus connue, mais on peut trouver des concurrents tels qu’Ethereum ou Monero.

Son fonctionnement : blockchain et minage :

Le fonctionnement des cryptomonnaies est principalement axé sur une technologie informatique appelée Blockchain. Il s’agit d’un système informatique de stockage et de transmission d’informations, transparente, sécurisée, et fonctionnant sans organe central de contrôle (définition de Blockchain France). D’une façon générale, la blockchain est un ensemble de blocs qui constituent une base des données rassemblant toutes les transactions effectuées. Ces dernières doivent être vérifiées et validées par des mineurs. Le minage est l’un des éléments clés qui fait de la cryptomonnaie un système décentralisé qui ne nécessite aucun élément intermédiaire. Le mineur reçoit une transaction envoyée par un utilisateur et vérifie la signature électronique émise par l’émetteur qui permet de retrouver l’identité du signataire de manière certaine. Ensuite, il vérifie si l’adresse de l’envoyeur possède des fonds pour réaliser la transaction et finit par rassembler toutes les transactions validées dans un bloc et reçoit à la fin des récompenses contre son travail. Tous les mineurs peuvent réaliser ces tâches mais il est nécessaire de déterminer lequel peut ajouter un nouveau bloc de données sur l’unique chaîne de bloc. C’est pour cela qu’il faut un consensus au sein de la blockchain pour qu’un nouveau bloc soit ajouté à celle-ci. Il s’agit du mécanisme appelé Proof of work qui répond à ce besoin à condition d’avoir des pc surpuissants vu la puissance de calcul énorme qu’il demande.

Bien qu’elles étaient conçues à être bien sécurisées, les cryptomonnaies ne sont pas à l’abri des attaques.

Qu’est ce que le cryptojacking ?

Comme expliqué avant, le minage nécessite l’utilisation de plusieurs ressources du PC. Des utilisateurs malveillants souhaitent alors utiliser les ressources d’autres utilisateurs une fois connectés sur internet. L’accès aux ressources d’autres PC se fait par plusieurs méthodes mais les plus connues sont à travers un lien envoyé par mail, similairement au fishing[8], qui télécharge le code de cryptojacking et le lance, ou à travers des annonces publicitaires sur des sites sur lesquelles une fois l’utilisateur entre dedans un code javascript et automatiquement exécuté[6]. Le terme « cryptojacking » devient de plus en plus populaire dans le monde des hackers puisqu’ils en profitent énormément avec moins de risque de divulgation et d’efforts. Puisque même si la personne arrive à détecter que sa machine est atteinte, il serait difficile de savoir qui a hacké son PC. Et généralement personne n’essaie de savoir l’identité de l’hacker puisque les données personnelles de l’utilisateurs restent saines.

L’idée du cryptojacking est de faire tourner plusieurs machines en harmonie au profit de l’hacker pour miner de la cryptomonnaie.

Quelles est la cryptomonnaie la plus visée par le cryptojacking ? Contrairement au Bitcoin, toutes les transactions de Monero sont obscurcies et son historique des opérations effectuées est caché , ce qui assure sa fongibilité et fait d’elle la cible préférée des hackers pour des utilisations malsaines.

Comment fonctionne le cryptojacking ?

Pendant la consultation d’un visiteur à un site web, le script se lance et s’exécute en arrière plan, cette exécution est corrélée avec la présence de l’utilisateur dans le site où l’annonce publicitaire apparaît. Un exemple de scripts est coinhive[9], qui est considéré comme alternatif de publicité. Il exploite, en plus de la publicité, la puissance de calcul inutilisée de l’internaute. l’internaute paie alors une facture d’électricité plus chère que d’habitude, et le hacker qui est devenu maître de plusieurs ordinateurs en profite pour gagner des Moneros sans utiliser beaucoup d’électricité.

Même si la dernière version de coinhive est autorisée que pour les sites web ayant voulu intégrer ce genre de “publicité”, et les propriétaires suppriment toute utilisation frauduleuse sur un site web (si le mineur l’a intégré après avoir hacké un site), Coinhive a annoncé la fin de ses activités vu que Monero à perdu sa valeur à cause des effondrement des cryptomonnaies.

Techniquement parlant, que ça soit du javascript ou des applications natives, le “superordinateur” virtuel créé par le hacker communique à l’aide de sockets sur https et envoyé sur le protocol tcp. Des messages stratum mining protocol sont envoyés depuis et vers les serveurs de minage et l’ordinateur infecté, plusieurs support sont utilisés pour ce genre de piratage notamment des projets forkés sur github, ou à travers des logiciels de torrent qui laissent les communications XML-RPC accessiblent sans authentification. Enfin, la méthode la plus classique est de mettre le malware sur un disque amovible directement sur le PC cible.

Il est clair alors qu’on pourra empêcher d’être infecté à l’aide du blocage des mining pools à travers un firewall ou même administrer l’ordinateur de tel façon à bloquer des ports potentiellement vulnérables. une liste des pools de cryptominage est présentées ci-dessous:

A partial list of crypto-mining pools. Source: Cato Research Labs

Après la hausse de valeur de la cryptomonnaie qui a atteint à peu près un taux de 200%, les cybercriminels se sont de plus en plus orientés vers le minage de la cryptomonnaie et avoir un revenu important.

Comme ils font pour les annonces publicitaires et les mails de fishing comme expliqué ci-dessus, ils peuvent infiltrer des malwares dans des mises à jour systèmes ou de logiciels importants pour les navigateurs web. Un exemple est d’utiliser la mise à jour de flashplayer, un malware executé en même temps que l’utilisateur accepte de télécharger la mise à jour du programme. Ce qui causera l’utilisation des ressources de l’ordinateur au profit du pirate. Coinminer est un exemple de minage de bitcoin, contrairement à coinhive qui est utilisé pour le minage de monero. Des coinminers peuvent être aussi installer avec des plugins sur chrome.

Mais en tous cas, la redirection vers ce genre de sites causants l’infection de l’ordinateur, cliquer n’importe où et accepter d’installer des programmes gratuits ou des mises à jour sans lire paramètres d’installation pourra potentiellement être la grande cause de l’installation de ces malwares ou trojan.

D’autres exemples d’attaques de cryptojacking :

Certes, Coinhive et coinminer sont deux exemples de scripts et malware, mais ils ne sont pas bien évidemment les seuls à miner de la monnaie en se basant sur les ressources d’ordinateurs distribués.

On cite ci-dessous deux autres exemples d’attaques cryptojacking de l’année précédente:

PowerGhost [10]: en Amérique du Sud et précisément au Brésil et en Colombie, PowerGhost infecte les réseaux en toute discrétion. Sa force est qu’il est dématérialisé, le mineur attaque un parc informatique (serveurs et ordinateurs), et il s’infiltre donc à l’issu des attaques de type RAT (Remote Administration Tool) à l’aide d’un backdoor, et il n’émet rien de la part de l’ensemble des machines cibles par contre il reste en écoute. Une fois il trouve qu’une machine est à son écoute, il lance le script et toujours rien n’est lancé de la part de la machine cliente bien entendu. Cette attaque a été découverte par des chercheurs de Kaspersky en 2018 et analysée par Fortinet.

rTorrent [11]: En février 2019, une équipe de F5 networks avait repéré une vulnérabilité que rTorrent laisse exposée aux pirates, celle de l’authentification XML-RPC. Des messages XML transportés sur le protocole http. Bien que c’est un détail de configuration, les attaquants essaient leurs chances à avoir des clients rTorrent qui ont laissé cette vulnérabilité ouverte pour exécuter leur code.

Comment on le détecte ?

Il n’y pas une méthode précise pour déterminer si son PC est atteint ou pas. Par contre, si on se rend compte de problèmes de performances dans l’utilisation d’applications pas assez gourmandes en termes de ressources. Ou un site web qui se charge pour un bon moment et rien ne s’affiche. Ce seront des signes de lancement du script de cryptojacking et pourront potentiellement être une victime.

En plus, pas mal de projets ont été créés afin de mettre fin à ces utilisations malsaines des ordinateurs de victimes. Notamment le projet développé sous python Minesweeper, qui fait des correspondance entre une large base de données de pool et détecte passivement les domaines de cryptojacking. Et une fois détecté, une alerte est lancé.

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

La plupart des détecteurs de cryptojacking se basent sur une base de données de domaines hébergeants les scripts utilisés pour le cryptojacking. La solution qu’envisage ces hackers est de changer leur domaine de cryptojacking à chaque fois qu’il soit divulgué, en utilisant une sorte de cloud jetables pour l’hébergement de leurs scripts.

Les cryptohackers cherchent à contourner les systèmes de détection. Les méthodes se diffèrent mais le but est unique, parmi ces méthodes, on trouve l’utilisation de serveurs proxy qui permettent le contournement des systèmes de détection avec moins d’effort car elle dispense les cryptohackers des frais des algorithmes ainsi que d’autres commissions au moins de 30%. Le principe de cette méthode est axée sur la mise en contrôle des infrastructures tout en installant des scripts dans le but de bloquer toute fonctionnalité des proxys.

Ils peuvent également recourir à développer leurs propres applications de minage qui se faites hébergées dans leurs propres serveurs ou dans des clouds qui utilisent JavaScript. Quand l’activité du cryptohacker est détectée, elle se fait blacklister, par contre, le cryptohackers ne baisse pas ses bras et lance son script sur un autre serveur cloud.

Sources :

[1] Le Cryptojacking, une tendance lourde du paysage des menaces, site accessible en ligne ( consulté le 27/11/2019)

[2 ]Cryptojacking user’s CPU- Monero Browser Mining, site accessible en ligne ( consulté le 02/12/2019)

[3] Que Savons-Nous De Satoshi Nakamoto, L’Inventeur Du Bitcoin ? site accessible en ligne ( consulté le 02/12/2019)

[4] Monero — La confidentialité des transactions au centre du code, site accessible en ligne

[5] Qu’est-ce que Monero Crypto-Monnaie? , site accessible en ligne

[6] CRYPTOJACKING , THE THREAT TO BUSINESS AND HOW TO PROTECT THE NETWORK , site accessible en ligne

[7] You Could Be Mine(d): The Rise of Cryptojacking , site accessible en ligne

[8] La nouvelle Cybermenace : le Cryptojacking, site accessible en ligne

[9] Le projet Coinhive de C0nw0nk, lien accessible en ligne

[10] PowerGhost : un nouveau cryptomineur sans fichiers cible des réseaux d’entreprise à travers le monde, lien accessible en ligne

[11]rTorrent Client Exploited In The Wild To Deploy Monero Crypto-Miner, document accessible en ligne

--

--