Pour racheter est la reine: Varonis enquête sur le ransomware de rançongiciel à diffusion rapide «SaveTheQueen»



Un nouveau type de malware de la classe des virus rançongiciels crypte les fichiers et leur ajoute l'extension .SaveTheQueen, se propageant à travers le dossier réseau du système SYSVOL sur les contrôleurs de domaine Active Directory.

Nos clients ont récemment rencontré ce malware. Nous donnons notre analyse complète, ses résultats et conclusions ci-dessous.

Détection


Un de nos clients nous a contactés après avoir découvert un nouveau type de ransomware ransomware qui a ajouté l'extension ".SaveTheQueen" à de nouveaux fichiers cryptés dans leur environnement.

Au cours de notre enquête, ou plutôt, au stade de la recherche de sources d'infection, nous avons constaté que la distribution et le suivi des victimes infectées se faisaient à l'aide du dossier réseau SYSVOL sur le contrôleur de domaine du client.

SYSVOL est le dossier clé de chaque contrôleur de domaine utilisé pour fournir des objets de stratégie de groupe (GPO) et des scripts de connexion et de déconnexion aux ordinateurs du domaine. Le contenu de ce dossier est répliqué entre les contrôleurs de domaine pour synchroniser ces données sur les sites de l'organisation. L'écriture dans SYSVOL nécessite des privilèges élevés sur le domaine.Cependant, une fois compromis, cet actif devient un outil puissant pour les attaquants qui peuvent l'utiliser pour propager rapidement et efficacement une charge malveillante sur le domaine.

La chaîne d'audit Varonis a permis d'identifier rapidement les éléments suivants:

  • Le compte d'utilisateur infecté a créé un fichier nommé «toutes les heures» dans SYSVOL
  • De nombreux fichiers journaux ont été créés dans SYSVOL - chacun nommé pour un nom de périphérique de domaine
  • De nombreuses adresses IP différentes ont accédé au fichier horaire.

Nous avons conclu que les fichiers journaux ont été utilisés pour suivre le processus d'infection sur les nouveaux appareils et que «toutes les heures» est une tâche planifiée qui exécute une charge malveillante sur les nouveaux appareils à l'aide du script Powershell - exemples «v3» et «v4».

L'attaquant a probablement obtenu et utilisé des privilèges d'administrateur de domaine pour écrire des fichiers dans SYSVOL. Sur les nœuds infectés, l'attaquant a lancé le code PowerShell, qui a créé une tâche de planification pour l'ouverture, le décryptage et le lancement de logiciels malveillants.

Décryptage


Nous avons essayé plusieurs méthodes de décodage des échantillons en vain:



nous étions presque prêts à abandonner lorsque nous avons décidé d'essayer la méthode «Magic» du magnifique
utilitaire Cyberchef du GCHQ. «Magic» essaie de deviner le cryptage du fichier, en utilisant l'énumération des mots de passe pour différents types de cryptage et en mesurant l'entropie.

Note du traducteur
. . , ,



«Magic» a déterminé qu'un packer GZip encodé en base64 a été utilisé, grâce auquel nous avons pu décompresser le fichier et trouver le code pour l'implémentation - «injecteur».



Dropper: «Il y a une épidémie dans la région! Vaccinations semi-injectées. Fièvre aphteuse


Le dropper était un fichier .NET standard sans aucune protection. Après avoir lu le code source à l'aide de DNSpy, nous avons réalisé que son seul but était d' injecter du shellcode dans le processus winlogon.exe.





Shellcode ou difficultés simples


Nous avons utilisé l'outil d'auteur Hexacorn - shellcode2exe afin de «compiler» le code shell dans un fichier exécutable pour le débogage et l'analyse. Ensuite, nous avons constaté que cela fonctionnait sur les machines 32 bits et 64 bits.



Écrire un simple shellcode en traduction native à partir de l'assembleur peut être difficile, écrire un shellcode complet qui fonctionne sur les deux types de systèmes nécessite des compétences d'élite, nous avons donc commencé à nous émerveiller de la sophistication de l'attaquant.

Lorsque nous avons analysé le shellcode compilé à l' aide de x64dbg , nous avons remarqué qu'il chargeait les bibliothèques dynamiques .NETtels que clr.dll et mscoreei.dll. Cela nous a semblé étrange - généralement, les attaquants tentent de rendre le shellcode aussi petit que possible, en appelant les fonctions natives du système d'exploitation au lieu de les charger. Pourquoi quelqu'un aurait-il besoin d'intégrer la fonctionnalité Windows dans le shellcode au lieu de l'appeler directement à la demande?

Il s'est avéré que l'auteur du malware n'a pas du tout écrit ce code shell complexe - la caractéristique logicielle de cette tâche a été utilisée pour traduire des fichiers exécutables et des scripts en code shell.

Nous avons trouvé l'outil Donut qui, il nous semblait, pouvait compiler un shellcode similaire. Voici sa description de GitHub:

Donut génère un shellcode x86 ou x64 à partir de VBScript, JScript, EXE, DLL (y compris les assemblys .NET). Ce shellcode peut être intégré dans n'importe quel processus Windows pour une exécution en
RAM.


Pour confirmer notre théorie, nous avons compilé notre propre code à l'aide de Donut et l'avons comparé à un échantillon - et ... oui, nous avons trouvé un autre composant de la boîte à outils utilisé. Après cela, nous avons déjà pu extraire et analyser l'exécutable .NET d'origine.

Protection du code


Ce fichier a été obscurci avec ConfuserEx :





ConfuserEx est un projet .NET open source pour protéger le code d'autres conceptions. Cette classe de logiciels permet aux développeurs de protéger leur code de l'ingénierie inverse en utilisant des méthodes telles que: remplacer les caractères, masquer le flux des commandes de contrôle et masquer la méthode de référence. Les auteurs de logiciels malveillants utilisent des masqueurs pour éviter la détection et rendre la tâche de rétro-ingénierie plus difficile.

Grâce à ElektroKill Unpacker, nous avons déballé le code:



Conclusion - charge utile


La charge utile résultant des transformations est un virus rançongiciel très simple. Aucun mécanisme pour assurer la présence dans le système, pas de connexion au centre de commande - seulement le bon vieux chiffrement asymétrique, afin de rendre ces victimes illisibles.

La fonction principale sélectionne les lignes suivantes comme paramètres:

  • Extension de fichier à utiliser après le cryptage (SaveTheQueen)
  • E-mail de l'auteur pour mettre le fichier de note de rançon
  • Clé publique utilisée pour crypter les fichiers



Le processus lui-même est le suivant:

  1. Un logiciel malveillant analyse les lecteurs locaux et mappés sur l'appareil victime


  2. Recherche les fichiers de chiffrement


  3. Tente de mettre fin à un processus à l'aide du fichier qu'il est sur le point de crypter.
  4. Renomme le fichier en "nom_fichier_source.SaveTheQueenING" à l'aide de la fonction MoveFile et le chiffre
  5. Une fois le fichier chiffré avec la clé publique de l'auteur, le logiciel malveillant le renomme à nouveau, maintenant dans "Original_file_name.SaveTheQueen"
  6. Un fichier est en cours d'enregistrement avec une demande de rançon dans le même dossier



Basé sur l'utilisation de la fonction native CreateDecryptor, l'une des fonctions de malware semble contenir un mécanisme de décryptage nécessitant une clé privée comme paramètre.

Le virus de chiffrement NE crypte PAS les fichiers stockés dans les répertoires:

C: \ windows
C: \ Program Files
C: \ Program Files (x86)
C: \ Users \\ AppData
C: \ inetpub

Il ne crypte pas non plus les types de fichiers suivants: EXE, DLL , MSI, ISO, SYS, CAB.

Résumé et conclusions


Malgré le fait que le virus rançongiciel lui-même ne contenait aucune fonction inhabituelle, l'attaquant a utilisé de manière créative Active Directory pour distribuer le compte-gouttes, et le malware lui-même nous a fourni des obstacles intéressants, bien que non compliqués, lors de l'analyse.

Nous pensons que l'auteur du malware est:

  1. J'ai écrit un virus ransomware avec une implémentation intégrée dans le processus winlogon.exe, ainsi que
    des fonctionnalités de cryptage et de décryptage de fichiers
  2. Déguisé le code malveillant à l'aide de ConfuserEx, converti le résultat à l'aide de Donut et masqué en outre le compte-gouttes Gzip base64
  3. A obtenu des privilèges élevés dans le domaine de la victime et les a utilisés pour copier
    des logiciels malveillants chiffrés et des tâches planifiées dans le dossier réseau SYSVOL des contrôleurs de domaine
  4. Lancement d'un script PowerShell sur les appareils de domaine pour propager les logiciels malveillants et écrire la progression des attaques dans les journaux de SYSVOL



Si vous avez des questions sur cette version du virus rançongiciel, ou sur toute autre enquête judiciaire et enquête sur les incidents de sécurité de l'information par nos équipes, contactez-nous ou demandez une démonstration en direct de la réponse aux attaques , où nous répondons toujours aux questions pendant la session de questions-réponses.

All Articles