Le botnet Stantinko ajoute le cryptomining à son pool d'activités criminelles – Bien choisir son serveur d impression

Author: Titanfall —

Short summary: Des chercheurs d'ESET ont découvert que les criminels derrière le botnet Stantinko distribuaient un module de cryptomining aux ordinateurs qu'ils contrôlent Les opérateurs du botnet Stantinko ont élargi leur ensemble d'outils avec un nouveau moyen de profiter des ordinateurs sous leur contrôle. Le botnet d'environ un demi-million de personnes – connu pour être actif depuis […]

Quick overview

Site
Tutos GameServer
Canonical URL
https://tutos-gameserver.fr/2020/01/03/le-botnet-stantinko-ajoute-le-cryptomining-a-son-pool-dactivites-criminelles-bien-choisir-son-serveur-d-impression/
LLM HTML version
https://tutos-gameserver.fr/2020/01/03/le-botnet-stantinko-ajoute-le-cryptomining-a-son-pool-dactivites-criminelles-bien-choisir-son-serveur-d-impression/llm
LLM JSON version
https://tutos-gameserver.fr/2020/01/03/le-botnet-stantinko-ajoute-le-cryptomining-a-son-pool-dactivites-criminelles-bien-choisir-son-serveur-d-impression/llm.json
Manifest
https://tutos-gameserver.fr/llm-endpoints-manifest.json
Estimated reading time
16 minutes (904 seconds)
Word count
3011

Key points

Primary visual

Le botnet Stantinko ajoute le cryptomining à son pool d'activités criminelles
 – Bien choisir son serveur d impression
Main illustration associated with the content.

Structured content

Des chercheurs d'ESET ont découvert que les criminels derrière le botnet Stantinko distribuaient un module de cryptomining aux ordinateurs qu'ils contrôlent

Les opérateurs du botnet Stantinko ont élargi leur ensemble d'outils avec un nouveau moyen de profiter des ordinateurs sous leur contrôle. Le botnet d'environ un demi-million de personnes – connu pour être actif depuis au moins 2012 et ciblant principalement des utilisateurs en Russie, en Ukraine, en Biélorussie et au Kazakhstan – distribue désormais un module de cryptomining. Mining Monero, une crypto-monnaie dont le taux de change a oscillé en 2019 entre 50 USD et 110 USD, est la fonctionnalité de monétisation du botnet depuis au moins août 2018. Avant cela, le botnet effectuait des fraudes de clic, des injections publicitaires, des fraudes de réseaux sociaux et des attaques de vol de mot de passe. . Dans cet article, nous décrivons le module de cryptomining de Stantinko et fournissons une analyse de ses fonctionnalités. La caractéristique la plus notable de ce module est la façon dont il est obscurci pour contrecarrer l'analyse et éviter la détection. En raison de l'utilisation d'obfuscations au niveau source avec un grain de hasard et du fait que les opérateurs de Stantinko compilent ce module pour chaque nouvelle victime, chaque échantillon du module est unique. Nous décrirons les techniques d’obscurcissement du module et proposerons, dans un article séparé pour les collègues analystes de logiciels malveillants, une approche possible pour gérer certains d’entre eux. Étant donné que Stantinko développe constamment de nouveaux et améliore ses obfuscateurs et modules personnalisés existants, qui sont fortement obscurcis, il serait éreintant de suivre chaque amélioration et changement mineur qu'il introduit. Par conséquent, nous avons décidé de mentionner et de décrire uniquement ce que nous pensons être des ajustements significatifs par rapport aux échantillons précédents par rapport à l'état dans lequel le module doit être décrit. Après tout, nous avons l'intention de décrire le module tel qu'il est actuellement dans cet article. Cryptominer open source modifié Le module de cryptomining de Stantinko, qui épuise la plupart des ressources de la machine compromise en exploitant une crypto-monnaie, est une version hautement modifiée du cryptominer open-source xmr-stak. Toutes les chaînes inutiles et même des fonctionnalités entières ont été supprimées afin d'échapper à la détection. Les chaînes et fonctions restantes sont fortement obscurcies. Les produits de sécurité ESET détectent ce malware comme Win 32,64 /CoinMiner.Stantinko. Utilisation de procurations d'exploration de données CoinMiner.Stantinko ne communique pas directement avec son pool de minage, mais via des procurations dont les adresses IP sont acquises à partir du texte de description des vidéos YouTube. Une technique similaire pour masquer les données dans les descriptions des vidéos YouTube est utilisée par le logiciel malveillant bancaire Casbaneiro. Casbaneiro utilise des canaux et des descriptions beaucoup plus légitimes, mais dans le même but: stocker des C et C cryptés. La description d'une telle vidéo consiste en une chaîne composée d'adresses IP de proxy d'exploration de données au format hexadécimal. Par exemple, la vidéo YouTube vue sur la figure 1 a la description «03101f1712dec626», ce qui correspond à deux adresses IP au format hexadécimal – 03101f17 correspond à 3.16.31[.]23 au format décimal en pointillés, et 12dec626 est le 18.222.198[.]38. Au moment de la rédaction du présent document, le format avait été légèrement ajusté. Les adresses IP sont actuellement incluses dans "!!!!", ce qui simplifie le processus même d'analyse et empêche d'éventuelles modifications de la structure HTML de la vidéo YouTube rendant l'analyseur dysfonctionnel.

Figure 1. Exemple de vidéo YouTube dont la description fournit une adresse IP pour la communication du module avec le pool de minage

Dans les versions antérieures, l'URL YouTube était codée en dur dans le binaire CoinMiner.Stantinko. Actuellement, le module reçoit à la place un identifiant vidéo en tant que paramètre de ligne de commande. Ce paramètre est ensuite utilisé pour construire l'URL YouTube, sous la forme https://www.youtube.com/watch?v=%PARAM%. Le module de cryptomining est exécuté soit par le composant BEDS de Stantinko, soit par rundll32.exe via un fichier batch que nous n'avons pas capturé, avec le module chargé depuis un emplacement du système de fichiers local du formulaire % TEMP% % RANDOM% % RANDOM_GUID% .dll. Nous avons informé YouTube de cet abus; toutes les chaînes contenant ces vidéos ont été supprimées. Capacités de cryptomining Nous avons divisé le module de cryptomining en quatre parties logiques, qui représentent des ensembles distincts de capacités. La partie principale effectue le cryptomining proprement dit; les autres parties du module sont responsables de fonctions supplémentaires:

suspension d'autres applications de cryptomining (c.-à-d. concurrentes) détection de logiciels de sécurité suspension de la fonction de cryptomining si le PC est alimenté par batterie ou lorsqu'un gestionnaire de tâches est détecté, pour éviter d'être révélé par l'utilisateur

Cryptomining Au cœur même de la fonction de cryptomining se trouve le processus de hachage et de communication avec le proxy. La méthode d'obtention de la liste des proxys d'exploration est décrite ci-dessus; CoinMiner.Stantinko établit la communication avec le premier proxy d'exploration qu'il trouve vivant. Sa communication s'effectue via TCP et est cryptée par RC4 avec une clé composée des 26 premiers caractères du nombre pi (y compris le séparateur décimal, codé en dur dans la chaîne “3,141592653589793238462643") Puis encodé en base64; la même clé est utilisée dans tous les échantillons que nous avons vus. Le code de l'algorithme de hachage est téléchargé depuis le proxy d'exploration de données au début de la communication et chargé en mémoire – soit directement soit, dans les versions antérieures, à partir de la bibliothèque libcr64.dll qui est d'abord déposé sur le disque. Le téléchargement du code de hachage à chaque exécution permet au groupe Stantinko de modifier ce code à la volée. Ce changement permet, par exemple, de s'adapter aux ajustements d'algorithmes dans les devises existantes et de passer à l'exploitation d'autres crypto-monnaies afin, peut-être, d'exploiter la crypto-monnaie la plus rentable au moment de l'exécution. Le principal avantage de télécharger la partie centrale du module à partir d'un serveur distant et de la charger directement en mémoire est que cette partie du code n'est jamais stockée sur le disque. Cet ajustement supplémentaire, qui n'est pas présent dans la version précédente, vise à compliquer la détection car les modèles de ces algorithmes sont triviaux pour les produits de sécurité à détecter. Toutes les instances du module de cryptomining de Stantinko, nous avons analysé le mien Monero. Nous l'avons déduit des travaux fournis par le proxy d'exploration de données et l'algorithme de hachage. Par exemple, la figure 2 est un travail envoyé par l'un des mandataires. "Error": null, "result": "status": "OK""Méthode": "travail", "params": "blob": "0b0bbfdee1e50567042dcfdfe96018227f25672544521f8ee2564cf8b4c3139a6a88c5f0b32664000000a1c8ee5c185ed2661daab9d0c454fd40e9f53f0267fe391bdb4eb4690395deb36018 ″, ”job_id”: ”281980000000000a10 ″,” target ”:” 67d81500 ″, ”height”: 1815711} Figure 2. Exemple de travail d'exploration reçu d'un proxy de pool d'exploration de données Nous avons analysé l'algorithme de hachage utilisé et constaté qu'il s'agissait de CryptoNight R. Puisqu'il existe plusieurs crypto-monnaies qui utilisent cet algorithme, sa seule reconnaissance n'est pas suffisante; cela raccourcit simplement la liste. On peut voir dans le travail fourni que la hauteur de la blockchain était de 1815711 à l'époque, nous avons donc dû trouver des devises en utilisant CryptoNight R avec cette hauteur sur des explorateurs de blocs dédiés qui nous conduisaient à Monero. Disséquer la chaîne 0b0bbfdee1e50567042dcfdfe96018227f25672544521f8ee2564cf8b4c3139a6a88c5f0b32664000000a1c8ee5c185ed2661daab9d0c454fd40e9f53f0267fe391bdb4eb4690395deb36018 révèle que le hachage du bloc précédent (67042dcfdfe96018227f25672544521f8ee2564cf8b4c3139a6a88c5f0b32664) et horodatage (1555590859) s'inscrit en effet dans la blockchain de Monero à la hauteur de 1815711. On peut retrouver la structure du blob en examinant sa fonction de générateur dans le code source de Monero. La fonction de générateur expose une autre structure appelée en-tête de bloc qui contient à la fois le hachage du bloc précédent et l'horodatage. Contrairement au reste de CoinMiner.Stantinko, l'algorithme de hachage n'est pas obscurci, car l'obfuscation nuirait considérablement à la vitesse de calcul du hachage et donc aux performances et à la rentabilité globales. Cependant, les auteurs se sont toujours assurés de ne laisser aucune chaîne ou artefact significatif. Suspension d'autres cryptomères Le malware énumère les processus en cours à la recherche d'autres cryptomineurs. Si des concurrents sont trouvés, Stantinko suspend tous leurs fils. CoinMiner.Stantinko considère un processus comme un cryptominer si sa ligne de commande contient une chaîne particulière, ou une combinaison, qui varie d'un échantillon à l'autre; par exemple:

minerd minergate xmr cpservice vidservice et strate + tcp: // strate:// -u et bassin "-U et bassin "-U et xmr -u et xmr -u et exploitation minière "-U et exploitation minière -Commande codée et EXE –Niveau de don les fenêtres et -c et cfgi regsvr32 et / n et / s et / q Application Data et EXE données d'application et EXE

Ces chaînes font référence aux cryptomineurs légitimes suivants: https://github.com/pooler/cpuminer, https://minergate.com/, https://github.com/xmrig et même https://github.com/ fireice-uk / xmr-stak – qui, fait intéressant, est le très mineur sur lequel ce module Stantinko est basé. Les chaînes conduisent également à divers échantillons de logiciels malveillants inintéressants contenant une fonctionnalité de cryptomining. Il est intéressant de noter que les opérateurs Stantinko sont connus pour avoir tenté de se débarrasser du code concurrent dans le passé. Cependant, ils se sont appuyés sur la boîte à outils antivirus AVZ légitime alimentée par un script écrit dans son langage de script intégré pour cette tâche. Prévention de détection CoinMiner.Stantinko suspend temporairement l'exploitation minière s'il détecte qu'il n'y a pas d'alimentation électrique connectée à la machine. Cette mesure, visiblement destinée aux ordinateurs portables, empêche une décharge rapide de la batterie… ce qui pourrait éveiller les soupçons de l'utilisateur. En outre, il suspend temporairement l'extraction si une application du gestionnaire de tâches (un processus nommé procexp64.exe, procexp.exe ou taskmgr.exe) est détecté en cours d'exécution. Le malware analyse également les processus en cours pour trouver des logiciels de sécurité et à nouveau des gestionnaires de tâches. Il calcule le CRC-32 du nom du processus, puis le compare à une liste codée en dur des sommes de contrôle CRC-32, qui est incluse dans l'annexe. En général, cette technique peut aider à échapper à la détection, car les noms de processus de ces produits de sécurité ne sont pas inclus dans le binaire – ajoutant un peu plus de furtivité en ne contenant pas directement les noms de processus. Il est également plus difficile pour les analystes de découvrir ce que recherchent les auteurs de logiciels malveillants, car il faut casser ces hachages, ce qui est techniquement le même problème que le craquage de mot de passe. Cependant, l'utilisation d'une liste de noms de processus connus est généralement suffisante pour déterminer les noms exacts. Si une correspondance CRC-32 est trouvée, le CRC est écrit dans un fichier journal (api-ms-win-crt-io-l1-1-0.dll). Le fichier journal est vraisemblablement exfiltré plus tard par un composant Stantinko que nous n'avons pas vu, car il n'y a aucune autre fonctionnalité liée à ce module. Obfuscation Outre ses fonctionnalités de cryptomining, CoinMiner.Stantinko est également remarquable pour ses techniques d'obscurcissement visant à éviter la détection et à contrecarrer l'analyse. Certaines de ces techniques sont uniques et nous les décrirons en détail dans un article de suivi. Conclusion Notre découverte montre que les criminels derrière Stantinko continuent d'étendre la façon dont ils exploitent le botnet qu'ils contrôlent. Leurs innovations précédentes étaient des attaques par dictionnaire distribuées sur des sites Web Joomla et WordPress visant à récolter les informations d'identification du serveur, probablement dans le but de les vendre à d'autres criminels. Ce module de cryptomining configuré à distance, distribué depuis au moins août 2018 et toujours actif au moment de la rédaction, montre que ce groupe continue d'innover et d'étendre ses capacités de gagner de l'argent. Outre sa fonctionnalité de cryptomining standard, le module utilise des techniques d'obscurcissement intéressantes que nous divulguerons, ainsi que certaines contre-mesures possibles, dans un prochain article. Indicateurs de compromis (IoC) Noms de détection ESET Win32 / CoinMiner.StantinkoWin64 / CoinMiner.Stantinko SHA-1 Une liste complète de plus de 1 000 hachages est disponible dans notre référentiel GitHub. 00F0AED42011C9DB7807383868AF82EF5454FDD801504C2CE8180D3F136DC3C8D6DDDDBD2662A4BF0177DDD5C60E9A808DB4626AB3161794E08DEF7401A53BAC150E5727F12E96BE5AAB782CDEF3671301BFAD430CFA034B039AC9ACC98098EB53A1A70301FE45376349628ED402D8D74868E463F9047C30 Noms de fichiers api-ms-win-crt-io-l1-1-0.dlllibcr64.dllC: Windows TEMP % RANDOM% % RANDOM_GUID% .dll Nom Mutex et clé RC4 "3,141592653589793238462643" URL YouTube avec des données de configuration de proxy d'exploration de données Adresses IP des proxys d'exploration de données • 3.16.150[.]123• 3.16.152[.]201• 3.16.152[.]64• 3.16.167[.]92• 3.16.30[.]155• 3.16.31[.]23• 3.17.167[.]43• 3.17.23[.]144• 3.17.25[.]11• 3.17.59[.]6• 3.17.61[.]161• 3.18.108[.]152• 3.18.223[.]195• 13.58.182[.]92• 13.58.22[.]81• 13.58.77[.]225• 13.59.31[.]61• 18.188.122[.]218• 18.188.126[.]190• 18.188.249[.]210• 18.188.47[.]132• 18.188.93[.]252• 18.191.104[.]117• 18.191.173[.]48• 18.191.216[.]242• 18.191.230[.]253• 18.191.241[.]159• 18.191.47[.]76• 18.216.127[.]143• 18.216.37[.]78• 18.216.55[.]205• 18.216.71[.]102• 18.217.146[.]44• 18.217.177[.]214• 18.218.20[.]166• 18.220.29[.]72• 18.221.25[.]98• 18.221.46[.]136• 18.222.10[.]104• 18.222.187[.]174• 18.222.198[.]38• 18.222.213[.]203• 18.222.253[.]209• 18.222.56[.]98• 18.223.111[.]224• 18.223.112[.]155• 18.223.131[.]52• 18.223.136[.]87• 18.225.31[.]210• 18.225.32[.]44• 18.225.7[.]128• 18.225.8[.]249• 52.14.103[.]72• 52.14.221[.]47• 52.15.184[.]25• 52.15.222[.]174

Tactique Identifiant Nom La description

Exécution T1085 Rundll32 Le module peut être exécuté par rundll32.exe.

T1035 Exécution du service Le malware peut être exécuté en tant que service.

Evasion de défense T1140 Désobfusquez / décodez des fichiers ou des informations Le module désobfusque les chaînes dans son code pendant le processus d'exécution.

T1027 Fichiers ou informations obscurcis Le module obscurcit son code et ses chaînes dans une tentative apparente de rendre l'analyse et la détection difficiles.

T1102 Service Web Le logiciel malveillant acquiert des données de configuration à partir de la description des vidéos YouTube.

Découverte T1063 Découverte de logiciels de sécurité Le malware acquiert une liste de produits de sécurité en cours d'exécution.

Commander et contrôler T1090 Proxy de connexion Le module utilise des proxys entre lui et le pool de minage.

T1008 Canaux de secours Le module se connecte à un autre proxy d'exploration de données si celui initial est inaccessible.

T1095 Protocole standard de couche non-application Le malware utilise TCP pour ses communications.

T1043 Port couramment utilisé Le malware communique via le port 443.

T1132 Encodage des données Le module crypte puis base64 encode une partie du trafic réseau.

T1032 Protocole cryptographique standard Le module crypte le trafic avec RC4.

T1071 Protocole de couche d'application standard Acquiert les données de configuration de la description des vidéos YouTube via HTTPS.

Impact T1496 Détournement de ressources Le module exploite la crypto-monnaie.

Les sommes de contrôle CRC-32 vérifiées par CoinMiner.Stantinko et les noms de fichiers auxquels ils correspondent sont répertoriés ci-dessous.

0xB18362C7 afwserv.exe

0x05838A63 ashdisp.exe

0x36C5019C ashwebsv.exe

0xB3C17664 aswidsagent.exe

0x648E8307 avastsvc.exe

0x281AC78F avastui.exe

0xAA0D8BF4 avgcsrva.exe

0x71B621D6 avgcsrvx.exe

0x7D6D668A avgfws.exe

0x1EF12475 avgidsagent.exe

0x010B6C80 avgmfapx.exe

0x6E691216 avgnsa.exe

0xB5D2B834 avgnsx.exe

0x36602D00 avgnt.exe

0x222EBF57 avgrsa.exe

0xF9951575 avgrsx.exe

0x2377F90C avgsvc.exe

0x37FAB74F avgsvca.exe

0xEC411D6D avgsvcx.exe

0x0BED9FA2 avgtray.exe

0x168022D0 avguard.exe

0x99BA6EAA avgui.exe

0x7A77BA28 avguix.exe

0x0D22F74A avgwdsvc.exe

0x98313E09 avira.servicehost.exe

0x507E7C15 avira.systray.exe

0xFF934F08 avp.exe

0x9AC5F806 avpui.exe

0xBD07F203 avshadow.exe

0x64FDC22A avwebg7.exe

0x0BC69161 avwebgrd.exe

0xBACF2EAC cureit.exe

0x8FDEA9A9 drwagntd.exe

0xE1856E76 drwagnui.exe

0xF9BF908E drwcsd.exe

0xC84AB1DA drwebcom.exe

0x183AA5AC drwebupw.exe

0xAC255C5E drwupsrv.exe

0x23B9BE14 dwantispam.exe

0xDAC9F2B7 dwarkdaemon.exe

0x7400E3CB dwengine.exe

0x73982213 dwnetfilter.exe

0x1C6830BC dwscanner.exe

0x86D81873 dwservice.exe

0xB1D6E120 dwwatcher.exe

0xD56C1E6F egui.exe

0x69DD7DB4 ekrn.exe

0xFB1C0526 guardgui.exe

0x5BC1D859 ipmgui.exe

0x07711AAE ksde.exe

0x479CB9C4 ksdeui.exe

0x6B026A91 nod32cc.exe

0xCFFC2DBB nod32krn.exe

0x59B8DF4D nod32kui.exe

0x998B5896 procexp.exe

0xF3EEEFA8 procexp64.exe

0x81C16803 sched.exe

0x31F6B864 spideragent.exe

0x822C2BA2 taskmgr.exe

0x092E6ADA updrgui.exe

0x09375DFF wsctool.exe

Vladislav Hrčka 26 nov.2019-11: 30 AM

Click to rate this post! [Total: 0 Average: 0]

Topics and keywords

Themes: Serveur d'impression

License & attribution

License: CC BY-ND 4.0.

Attribution required: yes.

Manifest: https://tutos-gameserver.fr/llm-endpoints-manifest.json

LLM Endpoints plugin version 1.1.2.