dhpcd : Le mineur de cryptomonnaie qui s'est caché pendant 4 ans
Synthèse
Akamai Security Intelligence Group a identifié une campagne d'attaques au long cours, que nous avons intitulée « dhpcd ». Elle cible les machines Linux dotées de serveurs SSH en attaquant les mots de passe par force brute avant d'exécuter un mineur de cryptomonnaie Monero sur lesdites machines.
Cette campagne a été identifiée pour la première fois par le réseau de capteurs de menaces d'Akamai en avril 2018 et reste active à ce jour.
Nous avons observé plus de 2 200 attaques provenant de plus de 800 adresses IP source uniques sur notre réseau de capteurs de menaces depuis le début de cette campagne, avec un pic perceptible en mai 2022.
Dans le cadre de la chaîne d'attaque, les pirates déploient plusieurs portes dérobées en utilisant des changements de mot de passe et en ajoutant une clé SSH, exécutent de nombreux scripts pour neutraliser les concurrents et utilisent les tâches cron ainsi que le fichier rc.local pour la persistance.
Certains fichiers binaires du mineur de cryptomonnaie ne sont pas connus des autres fournisseurs de solutions de sécurité.
Les origines de l'infrastructure des pirates sont inconnues car ces derniers opèrent derrière des nœuds de sortie Tor. Certains de ces nœuds de sortie Tor appartiennent à des universités, des organisations à but non lucratif, des entreprises de cybersécurité, etc.
Une liste partielle des indicateurs d'infection est disponible en annexe. Une liste complète des indicateurs d'infection et un script de détection sont disponibles dans notre référentiel public.
Qu'est-ce que dhpcd ?
Étant donné qu'une grande partie de l'Internet s'exécute sur l'infrastructure d'Akamai, nous avons une vision élargie de ce qui se passe. La découverte de logiciels malveillants nouveaux (ou presque) est l'une des conséquences de cette vision étendue. En avril 2018, le mineur de cryptomonnaie basé sur l'open source XMRig, que nous avons baptisé « dhpcd », a été pour la première fois détecté par les capteurs de menaces d'Akamai et est resté actif depuis. Il n'est pas courant de faire face à des logiciels malveillants qui ont été signalés et qui sont exécutés depuis si longtemps, de façon relativement constante, sans avoir fait l'objet de discussions. C'est parce que ce mineur de cryptomonnaie attaque par force brute, se cache et se rend méconnaissable pour de potentiels détecteurs.
Son nom vient d'une manipulation difficile à détecter sur le démon Linux légitime dhcpd : un processus chargé de configurer le serveur DHCP qui s'exécute sur la machine au démarrage. Cette technique d'échange de lettres est largement utilisée pour les vecteurs d'attaque multiples afin d'échapper à la détection, ce qui a permis à ce logiciel malveillant de rester actif pendant au moins quatre ans. Il utilise les nœuds de sortie Tor pour se cacher, ce qui rend difficile, voire impossible, de suivre les origines de l'attaque. Il mine ensuite la cryptomonnaie axée sur la confidentialité Monero. Nous avons pu obtenir les portefeuilles Monero des fichiers binaires du mineur de cryptomonnaie.
Il a connu quelques variations, qui l'ont aidé à éviter la détection, non seulement localement sur la machine infectée, mais aussi auprès des fournisseurs de sécurité et de divers flux d'informations sur les menaces. Dans ce billet de blog, nous allons explorer le flux d'attaque, l'atténuation et l'impact des différents déploiements.
Activité des incidents
Depuis avril 2018, nos capteurs ont enregistré plus de 2 200 incidents à partir de plus de 800 adresses IP uniques. Ces adresses IP appartenaient principalement à des sociétés d'hébergement et de communication. Cependant, on comptait également un nombre important d'IP d'universités et d'organisations à but non lucratif, qui sont de fait devenues l'infrastructure favorisant l'objectif visé par le logiciel malveillant.
En mars 2022, nous avons remarqué une mise à jour majeure de XMRig, le mineur de cryptomonnaie sur lequel dhpcd est basé, de la version 2.13.0 à la version 5.2.0. Parallèlement à cette mise à jour significative, nous avons observé une importante augmentation de son échelle et de sa portée. Peu de temps après, en mai 2022, nous avons observé le plus haut pic de l'année à ce jour. Bien qu'il ne soit pas aussi élevé que le pic de 2021, cela illustre le désir des pirates d'augmenter les futurs gains potentiels de ce logiciel malveillant en particulier. C'est la raison pour laquelle nous allons en voir d'autres exemples dans les mois à venir.
Portée de la campagne
Depuis notre première détection de dhpcd, nous avons compté 2 215 attaques, réparties sur 843 adresses IP différentes, soit en moyenne 2,6 attaques par IP. Pour chaque IP source, nous avons observé une plage de 1 à 27 attaques.
Parmi les 840 adresses IP des pirates, environ 80 % étaient des nœuds de sortie Tor, rendant presque impossible de retracer les cybercriminels derrière l'attaque. L'utilisation de Tor est une des meilleures pratiques de sécurité opérationnelle du côté des attaquants. Cependant, cela signifie que les organisations qui utilisent Tor prennent activement part à la propagation et à la distribution des logiciels malveillants de dhpcd (et d'autres campagnes). Parmi les organisations que nous avons vu attaquer les capteurs d'Akamai figuraient des machines appartenant entre autres à des universités américaines et à des organisations à but non lucratif européennes.
En se basant sur le nombre de nœuds de sortie Tor dans ces pays, la plupart des adresses IP des pirates sont situées aux États-Unis et en Europe. La plupart des attaques européennes provenaient d'Allemagne et des Pays-Bas.
Finance
Les attaquants utilisent plusieurs portefeuilles pour collecter les bénéfices de leur minage de cryptomonnaie. Nous avons trouvé 13 portefeuilles Monero uniques codés en dur dans les fichiers binaires du mineur de cryptomonnaie. Au cours du processus de surveillance de ces portefeuilles, nous avons constaté que chacun contenait un montant compris entre 150 et 160 $. Après avoir engrangé ce montant, les attaquants se tournent probablement vers un autre portefeuille. Compte tenu du solde relativement faible de chaque portefeuille, nous supposons que le nombre réel de portefeuilles est beaucoup plus élevé. Ces faibles montants sont un autre exemple de la sécurité opérationnelle de ce logiciel malveillant : prendre et garder de petites quantités pour réduire les chances d'être remarqué.
Les bénéfices totaux que nous avons calculés jusqu'à présent sont d'environ 85 mBTC, ce qui équivaut à environ 2 000 $. Mais encore une fois, nous supposons qu'il y a plus de portefeuilles dans les fichiers de logiciels malveillants que nous n'avons pas obtenus ; le gain réel est donc probablement beaucoup plus élevé.
Les attaquants ont extrait des Monero (XMR) en utilisant les domaines de pools de minage de minexmr[.]com, tels que : sg97[.]minexmr[.]com, fr13[.]minexmr[.]com, us40[.]minexmr[.]com, etc. La liste complète est fournie dans notre référentiel d'indicateurs d'infection.
En date du 19 août, ces pools de minage ont été fermés et les pirates ont dû trouver un autre pool à utiliser. Le pool de minage actuel est donc pool[.]supportxmr[.]com:80.
Flux d'attaque
Violation initiale
Les pirates corrompent les machines Linux cibles exécutant des serveurs SSH en attaquant leurs mots de passe par force brute. Ensuite, ils téléchargent un fichier exécutable factice dans le dossier bin à l'aide de SCP. Le programme factice écrit simplement « Hello, World » sur la console, vraisemblablement pour vérifier les autorisations d'exécution. Les noms de fichiers sont des chaînes alphanumériques aléatoires de 26 caractères ; par exemple, /bin/cpuufcdmorv9crpa8h6wgh6iq2.
Mineur de cryptomonnaie
Les pirates téléchargent ensuite le mineur de cryptomonnaie (un fichier nommé « dhpcd ») dans le même répertoire sur SCP. Le mineur recherche les serveurs de pool de minage disponibles sur le port TCP 4444 :
fr14[.]minexmr[.]com
ca61[.]minexmr[.]com
sg97[.]minexmr[.]com
fr13[.]minexmr[.]com
us40[.]minexmr[.]com
Persistance
Les pirates peuvent maintenant s'occuper de rendre le mineur de cryptomonnaie persistant. Ils utilisent plusieurs techniques pour ce faire.
Ils commencent par modifier les mots de passe des utilisateurs existants sur le système, par exemple root, admin, test, oracle, test1, ubuntu, et bien plus encore. Ils protègent leurs changements en modifiant les attributs de /etc/shadow, un fichier qui contient les mots de passe hachés dans le système ainsi que leurs métadonnées.
Les pirates ajoutent leur clé SSH au fichier ~/.ssh/authorized_keys et la rendent immuable.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCuhPmv3xdhU7JbMoc/ecBTDxiGqFNKbe564p4aNT6JbYWjNwZ5z6E4iQQDQ0bEp7uBtB0aut0apqDF/SL7pN5ybh2X44aCwDaSEB6bJuJi0yMkZwIvenmtCA1LMAr2XifvGS/Ulac7Qh5vFzfw562cWC+IOI+LyQZAcPgr+CXphJhm8QQ+O454ItXurQX6oPlA2rNfF36fnxYss1ZvUYC80wWTi9k2+/XR3IoQXZHKCFsJiwyKO2CY+j
Les pirates utilisent cron, un planificateur de tâches qui définit les commandes et les tâches à exécuter périodiquement, pour exécuter le mineur de cryptomonnaie toutes les heures. En tant qu'outil de persistance de type « living off the land », il télécharge un fichier de script /etc/rc.local qui lance le mineur de cryptomonnaie à chaque démarrage du système :
/bin/dhpcd -o ca.minexmr.com:4444 -B >/dev/null 2>/dev/null exit 0
Neutraliser l'activité des concurrents
Les pirates mettent tout en œuvre pour mettre fin à l'activité des autres cybercriminels afin de maximiser les ressources des machines et, par conséquent, leurs profits. Pour ce faire, ils exécutent deux scripts à partir du répertoire /dev/shm, /dev/shm/knrm et /dev/shm/r, mais pas avant d'avoir vérifié les autorisations d'exécution à partir de ce répertoire (en utilisant à nouveau le programme « Hello, World »).
Le dossier /dev/shm est un système de fichiers tmpfs ; il conserve tous ses fichiers dans la mémoire virtuelle plutôt que sur un terminal de stockage permanent. En enregistrant et en exécutant des scripts à partir de /dev/shm, le logiciel malveillant ne laisse aucune trace de ces fichiers sur le système de fichiers.
Les scripts Bash éliminent complètement la concurrence. Nous allons utiliser /dev/shm/r pour montrer comment cela fonctionne. Le script commence par interroger les processus les plus gourmands en ressources en cours d'exécution sur le système et met fin à ceux qui utilisent beaucoup de RAM pour s'assurer que davantage de mémoire est disponible pour sa propre activité. Ensuite, il supprime les fichiers cron associés à d'autres campagnes d'attaque, telles que XorDdos, Tsunami et aliyun.one.
/etc/cron.hourly/gcc.sh
/etc/cron.hourly/cron.sh
/etc/cron.hourly/gcc4.sh/lib/libudev.so
Le script supprime les fichiers associés aux campagnes de logiciels malveillants mentionnées précédemment (et à d'autres).
/root/pty
/tmp/bash
/dev/shm/bash
/var/tmp/bash
/var/lock/bash
/var/run/bash
/bin/httpsd
/lib/udev/udev
/lib/udev/debug
/root/sysem
/root/systma
/etc/jourxlv
/tmp/sysem
/tmp/su
'/tmp/ddgs.*'
/root/pty10
/root/pty4
/root/xmr64
/usr/local/sbin/t
/usr/local/sbin/rsync
/etc/ceurnad
En outre, il élimine les processus liés aux logiciels malveillants, tels que Xm64, Ceurnad, /tmp/samba et Sc64u, s'ils sont en cours d'exécution.
Pour collecter des informations sur des concurrents nouveaux ou inconnus, le script exécute la commande atq afin d'afficher la liste des travaux en attente, ainsi que les fichiers dans divers répertoires système. Après avoir filtré les modèles de fichiers connus (dump, docker, mount, etc.), il reste au pirate une liste de fichiers qui sont potentiellement des logiciels malveillants rivaux.
Détection et prévention
L'utilisation de serveurs SSH est très courante. Malheureusement, les serveurs SSH qui s'exécutent avec des privilèges élevés et sont accessibles à l'aide de mots de passe basiques sont également courants. Les attaques visant les serveurs SSH telles que dhpcd peuvent être facilement bloquées en configurant les serveurs SSH pour qu'ils fonctionnent exclusivement avec des clés privées et publiques, tout en empêchant toutes les tentatives de connexion basées sur un mot de passe.
Pour ce faire, modifiez votre fichier de configuration SSH (/etc/ssh/sshd_config) pour obtenir les deux lignes suivantes :
PermitRootLogin no
PasswordAuthentication no
Pour bloquer l'activité de minage de cryptomonnaie de dhpcd, pensez à bloquer le port TCP 4444 sortant, qui a été utilisé dans un nombre important d'incidents d'attaque que nous avons observés. Par ailleurs, bloquez toutes les connexions aux domaines de pool de minage connus. Vous pouvez trouver ceux liés à dhpcd dans notre référentiel d'indicateurs d'infection.
Pour déterminer si votre système est infecté, exécutez notre script de détection pour localiser les traces de dhpcd.
Réflexions finales
dhpcd est une campagne de minage de cryptomonnaie qui utilise des techniques éprouvées : elle s'étend sur les serveurs SSH, exécute un mineur de cryptomonnaie basé sur le célèbre XMRig et utilise des tactiques connues pour mettre en place des portes dérobées et éliminer ses concurrents.
Cette campagne fait preuve d'une meilleure sécurité opérationnelle que la plupart des campagnes d'attaque que nous observons, en incorporant Tor dans le pipeline d'infection. L'utilisation de Tor empêche les défenseurs de tracer l'infrastructure et les origines de l'attaque, rendant l'ensemble de l'opération plus stable et résistante.
L'utilisation de Tor représente en quelque sorte une épée à double tranchant : les organisations utilisent Tor au service de l'anonymat, de la confidentialité et de la sécurité, mais ce faisant, en installant des nœuds de sortie, elles deviennent partie intégrante de la chaîne d'infection. Bien qu'elles ne soient pas nécessairement infectées, ces organisations fournissent un mécanisme utilisé pour diffuser des logiciels malveillants sur Internet, qui aide les pirates à rester anonymes et protégés.
dhpcd nous prouve une fois de plus que même les campagnes d'attaque les plus simples et les plus basiques (caractérisées par des attaques par dictionnaire effectuées pour compromettre ainsi que par des noms de fichiers dont les lettres ont été interchangées pour réduire leur détection) parviennent toujours à infecter les réseaux et à réaliser des bénéfices. En outre, ces campagnes sont développées et maintenues pour augmenter l'ampleur et la portée des gains potentiels. Les tactiques, conseils et procédures simples suggèrent toutefois que même avec des mesures de protection de base, les défenseurs vigilants peuvent accroître la sécurité de leurs systèmes.
Annexe : indicateurs d'infection
Voici une liste partielle des indicateurs d'infection. Veuillez trouver la liste complète dans notre référentiel.
Noms de fichiers
/bin/[a-z0-9]{26} (programme Hello World)
/bin/dhpcd
Domaines
fr14[.]minexmr[.]com
ca61[.]minexmr[.]com
sg97[.]minexmr[.]com
fr13[.]minexmr[.]com
us40[.]minexmr[.]com
pool[.]supportxmr[.]com
Hachages de fichiers
eb808932714c9533962e129e61d84c29536497e62b2a7d89dce3376d882c6965
e971fa0c392a9f43c37dccfdd4f8e6bc109e162716d9b206170f7bb133634ffd
76005592ad7d8901c64a5cfbcdde589a960ba35c9672da6182d131cd67ae0c97
2cca764d24212f8fc58780b9135740929f38b45bcd5fc82c4a2ff47e90890d06
3ea8cc0977e5542053353bcf3e58de947dd727259369707a13a4d0c8f14b7486