Varonis a découvert un virus d'extraction de crypto: notre enquête



Notre unité d'enquête de sécurité a récemment mené une enquête sur un réseau de virus d'extraction de crypto-monnaies presque entièrement dans l'une des moyennes entreprises. Analyse
des échantillons de logiciels malveillants collectés ont montré qu'une nouvelle modification avait été trouvée
ces virus, appelés Norman , utilisent diverses méthodes pour masquer leur présence. De plus, un shell Web interactif a été découvert, qui pourrait être lié aux opérateurs miniers.

Aperçu de l'étude


  • Varonis a détecté une infection à grande échelle avec des cryptomères: presque tous les serveurs et postes de travail de l'entreprise ont été infectés par un tel logiciel
  • Depuis l'infection initiale qui s'est produite il y a plus d'un an, le nombre de modifications et d'appareils infectés n'a cessé d'augmenter
  • Le nouveau type de mineur cryptographique Monero (Norman) que nous avons découvert utilise diverses méthodes pour le cacher de l'analyse par un logiciel de sécurité afin d'éviter la détection
  • La plupart des variantes de logiciels malveillants ont utilisé DuckDNS (un service DNS dynamique gratuit) pour se connecter au centre de contrôle (serveurs C&C), ainsi que pour obtenir des paramètres de configuration ou envoyer de nouvelles données.
  • Norman - Mineur de crypto-monnaie Monero basé sur un mineur open source hautes performances - XMRig
  • Nous n'avons pas de preuves concluantes de la connexion de crypto-mineurs avec un shell PHP interactif. Cependant, il y a de bonnes raisons de croire que leur source est le même attaquant. Les chercheurs collectent des preuves supplémentaires de la présence ou de l'absence d'une telle relation.
  • Dans cet article, vous pouvez trouver des recommandations Varonis concernant la protection contre les coquilles Web distantes et les mineurs de crypto.

Enquête


L'enquête a débuté lors du prochain projet pilote de la Plateforme
Varonis cybersecurity (Varonis Data Security Platform), qui vous a permis d'identifier rapidement plusieurs événements anormaux suspects au niveau du réseau lors de requêtes Internet (via des proxys web) associés à des actions anormales sur le système de fichiers.
Le Client a immédiatement indiqué que les appareils identifiés par notre Plateforme,
appartenaient aux mêmes utilisateurs qui ont récemment signalé des plantages d'applications et des ralentissements de réseau.

Notre équipe a examiné manuellement l'environnement du client, passant d'une station infectée à une autre conformément aux alertes générées par la plateforme Varonis. L'équipe de réponse aux incidents a également développé une règle spéciale dans le module DatAlert pour détecter les ordinateurs qui exploitaient activement, ce qui a aidé à éliminer rapidement la menace. Des échantillons des logiciels malveillants collectés ont été envoyés aux équipes des services de criminalistique et de développement, qui ont déclaré qu'il était nécessaire d'effectuer des recherches supplémentaires sur les échantillons.
Les sites infectés ont été découverts grâce à leur utilisation des appels DuckDNS , Dynamic DNS, qui permet à ses utilisateurs de créer leurs propres noms de domaine et de les mapper rapidement à des adresses IP changeantes. Comme mentionné ci-dessus, la plupart des logiciels malveillants de l'incident se sont tournés vers DuckDNS pour se connecter au centre de contrôle (C&C), l'autre pour obtenir les paramètres de configuration ou envoyer de nouvelles données.

Presque tous les serveurs et ordinateurs étaient infectés par des logiciels malveillants. Principalement appliqué
options communes de mineur de crypto. D'autres logiciels malveillants comprenaient des outils de vidage de mot de passe, des shells PHP et un certain nombre d'outils fonctionnaient depuis plusieurs années.

Nous avons fourni les résultats au client, supprimé les logiciels malveillants de leur environnement et stoppé toute infection.

Parmi tous les échantillons découverts de cryptomères, un se démarquait. Nous l'avons appelé Norman .

Rencontrez-moi! Norman Cryptominer


Norman est un mineur de crypto-monnaie Monero haute performance basé sur le code XMRig. Contrairement aux autres échantillons de mineurs trouvés, Norman utilise des méthodes pour le cacher de l'analyse avec un logiciel de sécurité pour éviter la détection et empêcher une distribution ultérieure.

À première vue, ce malware est un mineur régulier se cachant sous le nom svchost.exe. Cependant, l'étude a montré qu'elle utilise des méthodes plus intéressantes pour se cacher de la détection et de la maintenance du travail.

Le processus de déploiement de ce malware peut être divisé en trois étapes:

  • accomplissement;
  • mise en œuvre;
  • l'exploitation minière.

Analyse pas à pas


Étape 1. Exécution


La première étape commence par le fichier exécutable svchost.exe.

Un logiciel malveillant se compile avec NSIS (Nullsoft Scriptable Install System), ce qui est inhabituel. NSIS est un système open source utilisé pour créer des programmes d'installation Windows. Comme SFX, ce système crée une archive de fichiers et un fichier de script qui sont exécutés pendant le programme d'installation. Le fichier de script indique au programme les fichiers à exécuter et peut interagir avec d'autres fichiers de l'archive.

Remarque: Pour obtenir le fichier de script NSIS à partir du fichier exécutable, vous devez utiliser 7zip version 9.38, car cette fonction n'est pas implémentée dans les versions ultérieures.

Les logiciels malveillants archivés NSIS contiennent les fichiers suivants:

  • CallAnsiPlugin.dll, CLR.dll - modules NSIS pour appeler les fonctions DLL .NET;
  • 5zmjbxUIOVQ58qPR.dll - la DLL de charge utile principale;
  • 4jy4sobf.acz, es1qdxg2.5pk, OIM1iVhZ.txt - fichiers de charge utile;
  • Retreat.mp3, Cropped_controller_config_controller_i_lb.png sont simplement des fichiers qui ne sont en aucun cas associés à d'autres activités malveillantes.

La commande du fichier de script NSIS qui exécute la charge utile est donnée ci-dessous.



Un logiciel malveillant est exécuté en appelant la fonction 5zmjbxUIOVQ58qPR.dll, qui prend d'autres fichiers comme paramètres.

Étape 2. Mise en œuvre


Le fichier 5zmjbxUIOVQ58qPR.dll est la charge utile principale, qui découle du script NSIS ci-dessus. Une analyse rapide des métadonnées a montré que la DLL s'appelait à l'origine Norman.dll, c'est pourquoi nous l'avons appelée ainsi.

Fichier DLL développé sur .NET et protégé contre l'ingénierie inverse par triple obfuscation
en utilisant le produit commercial bien connu Agile .NET Obfuscator.

Au cours de l'exécution, de nombreuses opérations de mise en œuvre d'auto-introduction sont impliquées dans son propre processus, ainsi que dans d'autres processus. Selon la profondeur de bits du système d'exploitation, le malware
choisissez différents chemins d'accès aux dossiers système et démarrez différents processus.



En fonction du chemin d'accès au dossier système, le logiciel malveillant sélectionne différents processus à démarrer.



La charge utile déployée a deux fonctions principales: exécuter un crypto-mineur et empêcher la détection.

Si le système d'exploitation est 64 bits


Lors de l'exécution du fichier source svchosts.exe (fichier NSIS), il crée son propre processus et lui injecte la charge utile (1). Peu de temps après, il lance notepad.exe ou explorer.exe, et y injecte un cryptominer (2).



Après cela, le fichier svchost.exe d'origine s'arrête et le nouveau fichier svchost.exe est utilisé comme un programme qui surveille le fonctionnement du processus mineur.



Si le système d'exploitation est 32 bits


Lors de l'exécution du fichier svchosts.exe d'origine (fichier NSIS), il duplique son propre processus et y injecte une charge utile, comme dans la version 64 bits.

Dans ce cas, le malware injecte la charge utile dans le processus utilisateur explorer.exe. Déjà à partir de celui-ci, un code malveillant démarre un nouveau processus (wuapp.exe ou vchost.exe), et y injecte le mineur.



Un logiciel malveillant cache le fait de l'implémentation dans explorer.exe, écrasant le code précédemment implémenté par wuapp.exe et les valeurs vides.



Comme dans le cas d'une exécution dans un environnement 64 bits, le processus svchost.exe d'origine se termine et le second est utilisé pour réinjecter du code malveillant dans explorer.exe si le processus est interrompu par l'utilisateur.

À la fin de l'algorithme d'exécution, les logiciels malveillants injectent toujours le cryptominer dans son processus légitime.

Il est conçu pour empêcher la détection en arrêtant le mineur lorsque l'utilisateur lance le Gestionnaire des tâches.

Veuillez noter qu'après le démarrage du Gestionnaire des tâches, le processus wuapp.exe se termine.



Après avoir fermé le gestionnaire de tâches, le logiciel malveillant démarre encore et encore le processus wuapp.exe
y introduit un mineur.

Étape 3. Mineur


Considérez le mineur XMRig mentionné ci-dessus.

Un logiciel malveillant injecte la version UPX déguisée du mineur dans le bloc-notes, exe, explorer.exe,
svchost.exe ou wuapp.exe, selon la profondeur de bits du système d'exploitation et le stade de l'algorithme d'exécution.

L'en-tête PE dans le mineur a été supprimé, et dans la capture d'écran ci-dessous, nous pouvons voir qu'il est masqué à l'aide de UPX.



Après avoir créé un vidage et reconstruit l'exécutable, nous avons réussi à l'exécuter:



Il est à noter que l'accès au site XMR cible est interdit, ce qui neutralise efficacement ce mineur.

Configuration du mineur:

"url": "pool.minexmr.com:5555","user": "49WvfokdnuK6ojQePe6x2M3UCD59v3BQiBszkuTGE7wmNJuyAvHM9ojedgxMwNx9tZA33P84EeMLte7t6qZhxNHqHyfq9xA","pass":"x" 

Mystérieux shell PHP transférant des données vers C&C


Au cours de cette enquête, nos experts judiciaires ont découvert un fichier XSL qui a retenu leur attention. Après une analyse approfondie de l'échantillon, un nouveau shell PHP a été découvert qui est constamment connecté au centre de contrôle (serveur C&C).

Sur plusieurs serveurs de l'environnement du client, un fichier XSL a été trouvé et lancé par l'exécutable Windows bien connu (mscorsv.exe) à partir d'un dossier du répertoire sysWOW64.

Le dossier du logiciel malveillant s'appelait AutoRecover et contenait plusieurs fichiers:

  • Fichier XSL: xml.XSL
  • neuf fichiers dll

Fichiers exécutables:
  • Msscorsv.exe
  • Wmiprvse.exe



Fichier XSL


Les fichiers XSL sont des feuilles de style similaires aux tableaux utilisés en CSS qui décrivent comment afficher un document XML.

En utilisant le Bloc-notes, nous avons constaté qu'il ne s'agissait en fait pas d'un fichier XSL, mais du code PHP Zend Guard obscurci. Ce fait curieux suggère que cette
charge utile de malware basée sur son algorithme d'exécution.



Neuf DLL


Une première analyse du fichier XSL nous a amenés à conclure qu'avoir autant de
Les DLL ont un certain sens. Le dossier principal contient une DLL appelée php.dll et trois autres bibliothèques liées à SSL et MySQL. Dans les sous-dossiers, les experts ont trouvé quatre bibliothèques PHP et une bibliothèque Zend Guard. Tous sont légitimes et sont obtenus à partir du package d'installation PHP ou sous forme de DLL externes.

À ce stade, l'hypothèse a été faite que le malware était basé sur PHP et obscurci par Zend Guard.

Exécutables


Dans ce dossier se trouvaient également deux fichiers exécutables: Mscorsv.exe et Wmiprvse.exe.

Après avoir analysé le fichier mscorsv.exe, nous avons constaté qu'il n'était pas signé par Microsoft, bien que son paramètre ProductName ait été défini sur «Microsoft. Net Framework. "
Au début, cela semblait étrange, mais l'analyse de Wmiprvse.exe a permis de mieux comprendre la situation.

Le fichier Wmiprvse.exe n'était pas non plus signé, mais contenait le symbole de copyright du groupe PHP et l'icône PHP. Lors d'une analyse rapide, des commandes de l'aide PHP ont été trouvées dans ses lignes. Lors de son exécution avec le commutateur -version, il a été découvert qu'il s'agit d'un fichier exécutable conçu pour exécuter Zend Guard.



Lorsque mscorsv.exe a été lancé de la même manière, les mêmes données ont été affichées. Nous avons comparé les données binaires de ces deux fichiers et constaté qu'elles sont identiques, à l'exception des métadonnées
Copyright et nom de l'entreprise / nom du produit.



Sur cette base, il a été conclu que le fichier XSL contient du code PHP qui s'exécute à l'aide de l'exécutable Zend Guard, caché sous le nom mscorsv.exe.

Analyse d'un fichier XSL


En utilisant la recherche sur Internet, les experts ont rapidement reçu un outil pour désobfusquer Zend Guard et ont restauré le fichier xml.XSL d'origine:



Il s'est avéré que le malware lui-même est un shell PHP qui est constamment connecté au centre de contrôle (serveur C&C).

Les commandes et les sorties qu'il envoie et reçoit sont cryptées. Depuis que nous avons reçu le code source, nous avions à la fois une clé de chiffrement et des commandes.

Ce malware contient les fonctionnalités intégrées suivantes:

  • Eval - couramment utilisé pour modifier les variables existantes dans le code
  • Enregistrement de fichier local
  • Fonctionnalités de la base de données
  • Caractéristiques PSEXEC
  • Exécution cachée
  • Cartographie des processus et des services

La variable suivante suggère que les logiciels malveillants ont plusieurs versions.



Lors de la collecte d'échantillons, les versions suivantes ont été découvertes:

  • 0,5f
  • 0.4p
  • 0.4o

La seule fonction d'assurer la présence constante de logiciels malveillants dans le système est que lorsqu'il est exécuté, il crée un service qui s'exécute lui-même et son nom
varie d'une version à l'autre.

Des spécialistes ont tenté de trouver des échantillons similaires sur Internet et ont trouvé des logiciels malveillants,
qui, à leur avis, était la version précédente de l'échantillon existant. Le contenu du dossier était similaire, mais le fichier XSL était différent et un numéro de version différent y était spécifié.

Parle Wu Malvare?


Peut-être que le pays d'origine de ce malware est la France ou un autre pays francophone: le fichier SFX contenait des commentaires en français qui indiquent que l'auteur a utilisé la version française de WinRAR pour le créer.



De plus, certaines variables et fonctions du code ont également été nommées en français.





Suivi de l'exécution et attente de nouvelles équipes


Les spécialistes ont modifié le code du logiciel malveillant et lancé en toute sécurité le code déjà modifié
version pour recueillir des informations sur les équipes qu'il a reçues.



À la fin de la première session de communication, les spécialistes ont vu que le malware avait reçu une commande encodée en Base64 comme argument pour la clé de démarrage EVAL64.
Cette commande est décodée et exécutée. Il modifie plusieurs variables internes (la taille des tampons de lecture et d'écriture), après quoi le malware entre dans le cycle de travail d'attente des commandes.

Aucune nouvelle équipe n'a été reçue pour le moment.

Shell PHP interactif et crypto mineur: sont-ils liés?


Les experts de Varonis ne savent pas si Norman est associé au shell PHP, car il existe des arguments importants pour et contre cette hypothèse:

Pourquoi peuvent-ils être liés


  • Aucun des échantillons de logiciels malveillants de crypto mining n'avait la capacité de se distribuer de manière indépendante à d'autres systèmes, bien qu'ils aient été trouvés sur divers appareils dans différents segments de réseau. Il est possible que l'attaquant ait infecté chaque nœud séparément (en utilisant éventuellement le même vecteur d'attaque que lors de l'infection du «zéro patient»), bien qu'il serait plus efficace d'utiliser un shell PHP pour se propager sur le réseau qui était la cible de l'attaque.
  • Les campagnes automatisées ciblées à grande échelle dirigées contre une organisation spécifique laissent souvent des artefacts techniques ou des traces reconnaissables de menaces de cybersécurité dans leur mise en œuvre. Dans ce cas, rien de tel n'a été trouvé.
  • Norman et le shell PHP ont utilisé le service DuckDNS.

Pourquoi ils peuvent ne pas être liés


  • Il n'y a pas de similitudes techniques entre les options de logiciels malveillants de minage cryptographique et le shell PHP. Le cryptominer malveillant a été créé en C ++ et le shell en PHP. De plus, il n'y a aucune similitude dans la structure du code et les fonctions réseau sont implémentées différemment.
  • Il n'y a pas d'interaction directe entre les options de malware et le shell PHP pour l'échange de données.
  • Ils ne contiennent pas de commentaires, de fichiers, de métadonnées ou d'empreintes digitales généraux des développeurs.

Trois recommandations pour la protection contre les obus retirés


Les logiciels malveillants, qui nécessitent des commandes du centre de contrôle (serveurs C&C), ne ressemblent pas à des virus ordinaires. Ses actions ne sont pas si prévisibles et ressembleront plutôt aux actions d'un pirate ou d'un pentester effectuées sans outils ou scripts automatisés. Par conséquent, la détection de ces attaques sans signatures de logiciels malveillants est une tâche plus complexe que les analyses antivirus conventionnelles.

Voici trois recommandations pour protéger les entreprises contre les obus distants:
  1. Gardez tous les logiciels à jour
    Les attaquants exploitent souvent les vulnérabilités des logiciels et des systèmes d'exploitation pour se propager sur le réseau de l'organisation et rechercher des données d'intérêt afin de
    vol. L'installation en temps opportun de correctifs réduit considérablement le risque de telles menaces.
  2. Suivre les événements d'accès aux données anormaux
    Très probablement, les attaquants tenteront d'afficher les données confidentielles de l'organisation autour du périmètre. Le suivi des événements anormaux d'accès à ces données permettra
    détecter les utilisateurs compromis et l'ensemble des dossiers et fichiers qui pourraient réellement tomber entre les mains des attaquants, et ne pas simplement considérer toutes les données disponibles pour ces utilisateurs comme telles.
  3. Suivre le trafic réseau
    Grâce à l'utilisation d'un pare-feu et / ou d'un serveur proxy, il est possible de détecter et de bloquer les connexions malveillantes aux centres de contrôle des malwares (serveurs C&C), ce qui empêchera les attaquants d'exécuter des commandes et compliquera la tâche de sortie
    données périmétriques.

Préoccupé par la question de l'exploitation minière grise? Six recommandations de protection:

  1. Gardez tous les systèmes d'exploitation à jour.
    La gestion des correctifs est très importante pour éviter une mauvaise utilisation des ressources et une infection par un logiciel malveillant.
  2. Surveillez le trafic réseau et les proxys Web
    Faites-le pour détecter certaines attaques et pour en éviter une partie, vous pouvez bloquer le trafic en fonction des informations sur les domaines malveillants ou limiter les canaux de transmission de données inutiles.
  3. Utilisez et entretenez des solutions antivirus et des systèmes de sécurité des terminaux (mais ne vous limitez en aucun cas à n'utiliser que cette couche de protection).
    Les produits sur les appareils finaux permettent la détection de cryptomineurs bien connus et la prévention des infections avant que les performances des systèmes et l'utilisation de l'électricité ne soient compromises. Il convient de garder à l'esprit que de nouvelles modifications ou de nouvelles méthodes de prévention de la détection peuvent empêcher les fonctionnalités de sécurité des appareils finaux de détecter de nouvelles versions du même malware.
  4. Surveiller l'activité du processeur de l'ordinateur
    En règle générale, les mineurs cryptographiques utilisent le processeur central de l'ordinateur pour l'extraction. Il est nécessaire d'analyser tous les messages sur la dégradation des performances («Mon ordinateur a commencé à ralentir.»).
  5. Surveillez DNS pour une utilisation inhabituelle des services DNS dynamiques (comme DuckDNS) \

    Malgré le fait que DuckDNS et d'autres services DNS dynamiques eux-mêmes ne soient pas nocifs pour le système, l'utilisation de logiciels malveillants DuckDNS a simplifié la détection des nœuds infectés pour les équipes de spécialistes impliquées dans l'enquête.
  6. Élaborer un plan de réponse aux incidents
    Assurez-vous que vous disposez des procédures nécessaires décrites pour de tels incidents qui détectent, limitent et éliminent automatiquement la menace de crypto-mining gris.

Remarque pour les clients Varonis.
Varonis DatAlert inclut des modèles de menace qui détectent les logiciels malveillants pour l'extraction de crypto. Les clients peuvent également créer leurs propres règles pour la découverte ciblée de logiciels basés sur des domaines candidats à la mise sur liste noire. Pour vous assurer que vous utilisez la dernière version de DatAlert et appliquez les modèles de menace appropriés, contactez votre représentant commercial ou le support Varonis.

Source: https://habr.com/ru/post/fr466817/


All Articles