Rencontrez le ransomware Nemty du faux site PayPal
Un nouveau ransomware appelé Nemty est apparu sur le réseau, qui serait le successeur de GrandCrab ou Buran. Le malware est principalement distribué à partir du faux site PayPal et possède un certain nombre de fonctionnalités intéressantes. Les détails sur le fonctionnement de ce ransomware sont sous la coupe.
Nouveau ransomware Nemty découvert par l'utilisateur nao_sec 7 septembre 2019. Le malware a été distribué via un site Web déguisé en PayPal, il est également possible qu'un ransomware pénètre dans un ordinateur via le kit d'exploitation RIG. Les attaquants ont utilisé des méthodes d'ingénierie sociale pour forcer l'utilisateur à exécuter le fichier cashback.exe qu'il aurait reçu du site PayPal. Il est également curieux que Nemty ait spécifié le mauvais port pour le service proxy local Tor, ce qui empêche le malware d'envoyer données au serveur. Par conséquent, l'utilisateur devra télécharger lui-même les fichiers cryptés sur le réseau Tor s'il a l'intention de payer la rançon et d'attendre le décryptage des attaquants.
Plusieurs faits intéressants sur Nemty suggèrent qu'il a été développé par les mêmes personnes ou par des cybercriminels associés à Buran et GrandCrab.
Comme GandCrab, Nemty a un œuf de Pâques – un lien vers une photo du président russe Vladimir Poutine avec une blague obscène. L'ancien ransomware GandCrab avait une image avec le même texte.
Les artefacts linguistiques des deux programmes renvoient aux mêmes auteurs russophones.
Il s'agit du premier ransomware à utiliser une clé RSA de 8092 1024 bits. Même si cela ne sert à rien : une clé de XNUMX bits suffit amplement pour se protéger contre le piratage.
Comme Buran, le ransomware est écrit en Object Pascal et compilé en Borland Delphi.
Analyse statique
L'exécution d'un code malveillant se déroule en quatre étapes. La première étape consiste à exécuter cashback.exe, un fichier exécutable PE32 sous MS Windows d'une taille de 1198936 octets. Son code a été écrit en Visual C++ et compilé le 14 octobre 2013. Il contient une archive qui est automatiquement décompressée lorsque vous exécutez cashback.exe. Le logiciel utilise la bibliothèque Cabinet.dll et ses fonctions FDICreate(), FDIDestroy() et autres pour obtenir des fichiers de l'archive .cab.
Après avoir décompressé l'archive, trois fichiers apparaîtront.
Ensuite, temp.exe est lancé, un fichier exécutable PE32 sous MS Windows d'une taille de 307200 octets. Le code est écrit en Visual C++ et packagé avec le packer MPRESS, un packer similaire à UPX.
La prochaine étape est ironman.exe. Une fois lancé, temp.exe déchiffre les données intégrées dans temp et les renomme ironman.exe, un fichier exécutable PE32 de 544768 octets. Le code est compilé en Borland Delphi.
La dernière étape consiste à redémarrer le fichier ironman.exe. Au moment de l'exécution, il transforme son code et s'exécute depuis la mémoire. Cette version d'ironman.exe est malveillante et est responsable du cryptage.
Vecteur d'attaque
Actuellement, le ransomware Nemty est distribué via le site Web pp-back.info.
La chaîne complète d’infection peut être consultée sur app.any.run bac à sable.
Installation
Cashback.exe - le début de l'attaque. Comme déjà mentionné, cashback.exe décompresse le fichier .cab qu'il contient. Il crée ensuite un dossier TMP4351$.TMP de la forme %TEMP%IXxxx.TMP, où xxx est un nombre compris entre 001 et 999.
Ensuite, une clé de registre est installée, qui ressemble à ceci :
Il est utilisé pour supprimer les fichiers décompressés. Enfin, cashback.exe démarre le processus temp.exe.
Temp.exe est la deuxième étape de la chaîne d'infection
C'est le processus lancé par le fichier cashback.exe, la deuxième étape de l'exécution du virus. Il essaie de télécharger AutoHotKey, un outil permettant d'exécuter des scripts sous Windows, et d'exécuter le script WindowSpy.ahk situé dans la section ressources du fichier PE.
Le script WindowSpy.ahk déchiffre le fichier temporaire dans ironman.exe à l'aide de l'algorithme RC4 et du mot de passe IwantAcake. La clé du mot de passe est obtenue à l'aide de l'algorithme de hachage MD5.
temp.exe appelle ensuite le processus ironman.exe.
Ironman.exe - troisième étape
Ironman.exe lit le contenu du fichier iron.bmp et crée un fichier iron.txt avec un cryptolocker qui sera lancé ensuite.
Après cela, le virus charge iron.txt en mémoire et le redémarre sous le nom ironman.exe. Après cela, iron.txt est supprimé.
ironman.exe est la partie principale du ransomware NEMTY, qui crypte les fichiers sur l'ordinateur affecté. Les logiciels malveillants créent un mutex appelé haine.
La première chose à faire est de déterminer l'emplacement géographique de l'ordinateur. Nemty ouvre le navigateur et découvre l'adresse IP sur http://api.ipify.org. Sur place api.db-ip.com/v2/free[IP]/countryName Le pays est déterminé à partir de l'adresse IP reçue, et si l'ordinateur est situé dans l'une des régions répertoriées ci-dessous, l'exécution du code malveillant s'arrête :
Russie
Biélorussie
Ukraine
Kazakhstan
Tadjikistan
Très probablement, les développeurs ne veulent pas attirer l'attention des forces de l'ordre dans leur pays de résidence et ne chiffrent donc pas les fichiers dans leurs juridictions « d'origine ».
Si l'adresse IP de la victime n'appartient pas à la liste ci-dessus, le virus crypte les informations de l'utilisateur.
Pour empêcher la récupération des fichiers, leurs clichés instantanés sont supprimés :
Il crée ensuite une liste de fichiers et de dossiers qui ne seront pas chiffrés, ainsi qu'une liste d'extensions de fichiers.
fenêtres
$ RECYCLE.BIN
rsa
NTDETECT.COM
ntldr
MSDOS.SYS
IO.SYS
boot.ini AUTOEXEC.BAT ntuser.dat
desktop.ini
CONFIG.SYS
BOOTSECT.BAK
Bootmgr
données de programme
appdata
osoft
Fichiers communs
log LOG CAB cab CMD cmd COM com cpl
CPL exe EXE ini INI dll DDL lnk LNK url
URL ttf TTF DECRYPT.txt NEMTY
Obscurcissement
Pour masquer les URL et les données de configuration intégrées, Nemty utilise un algorithme d'encodage base64 et RC4 avec le mot-clé fuckav.
Le processus de décryptage à l'aide de CryptStringToBinary est le suivant
Шифрование
Nemty utilise un cryptage à trois couches :
AES-128-CBC pour les fichiers. La clé AES 128 bits est générée aléatoirement et est utilisée de la même manière pour tous les fichiers. Il est stocké dans un fichier de configuration sur l'ordinateur de l'utilisateur. Le IV est généré aléatoirement pour chaque fichier et stocké dans un fichier crypté.
RSA-2048 pour le cryptage de fichiers IV. Une paire de clés pour la session est générée. La clé privée de la session est stockée dans un fichier de configuration sur l'ordinateur de l'utilisateur.
RSA-8192. La clé publique principale est intégrée au programme et est utilisée pour chiffrer le fichier de configuration, qui stocke la clé AES et la clé secrète de la session RSA-2048.
Nemty génère d'abord 32 octets de données aléatoires. Les 16 premiers octets sont utilisés comme clé AES-128-CBC.
Le deuxième algorithme de chiffrement est RSA-2048. La paire de clés est générée par la fonction CryptGenKey() et importée par la fonction CryptImportKey().
Une fois la paire de clés pour la session générée, la clé publique est importée dans le fournisseur de services cryptographiques MS.
Un exemple de clé publique générée pour une session :
Ensuite, la clé privée est importée dans le CSP.
Un exemple de clé privée générée pour une session :
Et enfin, vient le RSA-8192. La clé publique principale est stockée sous forme cryptée (Base64 + RC4) dans la section .data du fichier PE.
La clé RSA-8192 après décodage base64 et décryptage RC4 avec le mot de passe fuckav ressemble à ceci.
En conséquence, l’ensemble du processus de cryptage ressemble à ceci :
Générez une clé AES de 128 bits qui sera utilisée pour crypter tous les fichiers.
Créez un IV pour chaque fichier.
Création d'une paire de clés pour une session RSA-2048.
Décryptage d'une clé RSA-8192 existante en base64 et RC4.
Chiffrez le contenu du fichier à l’aide de l’algorithme AES-128-CBC dès la première étape.
Cryptage IV utilisant la clé publique RSA-2048 et l'encodage base64.
Ajout d'un IV chiffré à la fin de chaque fichier chiffré.
Ajout d'une clé AES et d'une clé privée de session RSA-2048 à la configuration.
Données de configuration décrites dans la section collecte d'informations sur l'ordinateur infecté sont cryptés à l'aide de la clé publique principale RSA-8192.
Le fichier crypté ressemble à ceci :
Exemple de fichiers cryptés :
Collecte d'informations sur l'ordinateur infecté
Le ransomware collecte des clés pour décrypter les fichiers infectés, afin que l'attaquant puisse créer un décrypteur. De plus, Nemty collecte des données utilisateur telles que le nom d'utilisateur, le nom de l'ordinateur, le profil matériel.
Il appelle les fonctions GetLogicalDrives(), GetFreeSpace(), GetDriveType() pour collecter des informations sur les lecteurs de l'ordinateur infecté.
Les informations collectées sont stockées dans un fichier de configuration. Après avoir décodé la chaîne, nous obtenons une liste de paramètres dans le fichier de configuration :
Exemple de configuration d'un ordinateur infecté :
Le modèle de configuration peut être représenté comme suit :
{"Général": {"IP":[IP]", "Pays":[Pays]", "Nom de l'ordinateur": [Nom de l'ordinateur]", "Nom d'utilisateur": [Nom d'utilisateur]", "OS": "[OS]", "isRU":false, "version":"1.4", "CompID":{[CompID]}", "FileID":_NEMTY_[FileID]_", "UserID":[ ID utilisateur]", "key": [clé]", "pr_key": [pr_key]
Nemty stocke les données collectées au format JSON dans le fichier %USER%/_NEMTY_.nemty. FileID comporte 7 caractères et est généré de manière aléatoire. Par exemple : _NEMTY_tgdLYrd_.nemty. Le FileID est également ajouté à la fin du fichier crypté.
Message de rançon
Après avoir crypté les fichiers, le fichier _NEMTY_[FileID]-DECRYPT.txt apparaît sur le bureau avec le contenu suivant :
À la fin du fichier se trouvent des informations cryptées sur l'ordinateur infecté.
Nemty essaie ensuite d'envoyer les données de configuration à 127.0.0.1:9050, où il espère trouver un proxy de navigateur Tor fonctionnel. Cependant, par défaut, le proxy Tor écoute sur le port 9150 et le port 9050 est utilisé par le démon Tor sous Linux ou Expert Bundle sous Windows. Ainsi, aucune donnée n'est envoyée au serveur de l'attaquant. Au lieu de cela, l'utilisateur peut télécharger le fichier de configuration manuellement en visitant le service de décryptage Tor via le lien fourni dans la demande de rançon.
Connexion au proxy Tor :
HTTP GET crée une requête à 127.0.0.1:9050/public/gate?data=
Ici vous pouvez voir les ports TCP ouverts utilisés par le proxy TORlocal :
Service de décryptage Nemty sur le réseau Tor :
Vous pouvez télécharger une photo cryptée (jpg, png, bmp) pour tester le service de décryptage.
Après cela, l’attaquant demande à payer une rançon. En cas de non-paiement le prix est doublé.
Conclusion
Pour le moment, il n’est pas possible de décrypter les fichiers cryptés par Nemty sans payer une rançon. Cette version du ransomware présente des caractéristiques communes avec le ransomware Buran et le obsolète GandCrab : compilation dans Borland Delphi et images avec le même texte. De plus, il s'agit du premier chiffreur qui utilise une clé RSA de 8092 1024 bits, ce qui, encore une fois, n'a aucun sens, puisqu'une clé de XNUMX XNUMX bits suffit pour la protection. Enfin, et c'est intéressant, il essaie d'utiliser le mauvais port pour le service proxy Tor local.
Cependant, des solutions Acronis Backup и Acronis True Image empêcher le ransomware Nemty d'atteindre les PC et les données des utilisateurs, et les fournisseurs peuvent protéger leurs clients avec Acronis Backup Cloud... Complet Cyberdéfense fournit non seulement une sauvegarde, mais également une protection à l'aide Acronis Active Protection, une technologie spéciale basée sur l'intelligence artificielle et l'heuristique comportementale qui vous permet de neutraliser les logiciels malveillants, même inconnus.