Les ransomwares ont toujours été un sujet brûlant dans le secteur de la sécurité. Récemment, le personnel de sécurité a découvert un ransomware appelé rapid. Ce ransomware utilise RSA et AES pour crypter les fichiers. Il infectera non seulement les fichiers existants sur l'ordinateur, mais également les fichiers nouvellement créés. crypté. Cet article effectue une analyse détaillée du virus rapide, analyse son mécanisme de cryptage et analyse ses fichiers cryptés.
Lorsque le virus rapide s'exécute, il créera plusieurs threads pour analyser en continu le système de fichiers et crypter les fichiers. Il infectera non seulement les fichiers existants sur l'ordinateur, mais également les fichiers nouvellement créés. Le fichier crypté a une extension « .rapid » ajoutée à son nom de fichier et la taille du fichier est augmentée de 0x4D0 octets.
rapid virus créera un fichier de demande de rançon nommé "How Recovery Files.txt" dans le dossier crypté. Le fichier contient un e-mail demandant à la victime de contacter comment effectuer le paiement. Lorsque l'utilisateur redémarre l'ordinateur, un fichier d'invite de ransomware nommé « recovery.txt » apparaîtra automatiquement. Son contenu est le même que celui du fichier « How Recovery Files.txt ».
Utilisation du système de perception des menaces de nouvelle génération LanyEye pour détecter les programmes rapides. Aux yeux de Lan, le programme rapide est considéré comme à haut risque :
Ensuite, le programme rapide fait l'objet d'une analyse inversée.
Tout d'abord, le programme appelle ShellExecuteA pour exécuter la commande comme indiqué dans l'image :
La fonction principale consiste à effacer les clichés instantanés des volumes Windows et à empêcher les victimes d'utiliser des clichés instantanés pour récupérer des fichiers. Désactivez les fonctions de réparation du système et de modification automatique. Ransomware peut crypter les fichiers du pilote et provoquer des pannes fréquentes du système. Désactivez les fonctions de réparation et ignorez les erreurs pour réduire la probabilité de pannes du système. Terminer les processus oracle.exe, sqlite.exe et sql.exe peut, d'une part, libérer de la mémoire, et d'autre part, soulager l'occupation de certains fichiers par ces processus de base de données.
Ensuite, le programme ajoute un élément de démarrage et crée de nouveaux éléments Encrypter et userinfo dans le registre HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun. La valeur de l'élément Encrypter est "%AppDataRomainginfo.exe" et la valeur de l'élément userinfo est "%AppDataRomaingrecovery.txt". Le fichier « info.exe » est une copie du programme ransomware lui-même et le fichier « recovery.txt » est un fichier d'informations sur le ransomware. Le contenu du fichier est le même que le fichier « How Recovery Files.txt » mentionné ci-dessus. .
Afin d'assurer le fonctionnement normal du système, le programme ne sélectionnera pas les fichiers sous les noms de dossier "Windows", "intel", "nvidia", "ProgramData" et "temp" :
Ce ransomware ne filtre pas les fichiers par nom de suffixe mais détermine si le fichier sélectionné est "How Recovery Files.txt", "info.exe", "recovery.txt", s'il y en a trois Alors ignorez-le et le reste est entièrement crypté.
Le programme crée d'abord un conteneur CSP de type PROV_RSA_FULL, puis importe la clé publique RSA (nommée RSA1) codée en dur dans le programme via Base64.
Ensuite, le programme vérifiera si la clé de registre "local_public_key" existe. Sinon, la clé de registre "local_public_key" sera créée
Le programme crée un conteneur CSP de type PROV_RSA_FULL et appelle CryptGenKey() pour générer une paire de clés RSA aléatoire (nommée RSA2).
Appelez ensuite CryptExportKey() pour exporter les données de clé privée RSA2 qui viennent d'être générées, et appelez la clé publique RSA1 pour chiffrer la clé privée RSA2. Une fois le cryptage terminé, écrivez les données de la clé privée RSA dans la clé de registre HKEY_CURRENT_USERSoftwareEncryptKeyslocal_enc_private_key et écrivez à nouveau la longueur des données dans la clé de registre HKEY_CURRENT_USERSoftwareEncryptKeyslocal_enc_private_key_len
Appelez à nouveau CryptExportKey() pour exporter les données aléatoires de la clé publique RSA2. généré, Pas besoin cette fois-ci Pour chiffrer, écrivez directement dans le registre HKEY_CURRENT_USERSoftwareEncryptKeyslocal_public_key et HKEY_CURRENT_USERSoftwareEncryptKeyslocal_public_key_len.
Commencez ensuite à crypter le fichier et obtenez la taille du fichier sélectionné. Si la taille du fichier est inférieure à 0x4D0 octets, entrez directement dans le processus de cryptage, sinon lisez les 0x20 octets de données à la fin du fichier et Déterminez si cette partie des données est L'indicateur de cryptage est "F5 D5 CD CD CD 7D CD CD 95 91 C1 C1 CD AD CD CD 41 CD 41 CD C1 99 FD 1D 59 95 81 FD 99 79 25 A5". entrez dans le processus de cryptage, sinon sélectionnez le fichier suivant. Parce que le fichier crypté est plus grand que 0x4D0 et qu'un indicateur de cryptage de 0x20 octets est ajouté à la fin du fichier
Une fois que le programme entre dans le processus de cryptage, il appellera d'abord CryptGenKey() pour générer un AES aléatoire clé.
et appelez CryptExportKey() pour exporter les données de la clé AES, BLOBTYPE=PLAINTEXTKEYBLOB :
Comme le montre la figure, la longueur des données est 0x2C, 0x3A42A8-0x3A42AF est BLOBHEADER, 0x3A42B0-0x3A42B3 est la taille de la clé, 0x3A42B4- 0x3A42D3 est la clé AES, 0x3A42D4-0x3A4327 est les données remplies avec 0xCD :
Utilisez la clé publique RSA2 pour chiffrer la clé AES Le cryptage est le "Données au format BLOB + clé AES +. mentionné ci-dessus "Remplissage des données" l'intégralité des 0x80 octets de données :
Lisez les données du fichier et utilisez la clé AES pour crypter les données du fichier lu :
Le cryptage AES est regroupé selon 128 bits lorsque le nombre. d'octets dans le fichier d'origine n'est pas un multiple entier de 128 bits, les données chiffrées seront plus grandes que les données en clair, donc le programme remplit 0x10 octets de 0x00 (le nombre d'octets dans un paquet AES) à la fin du texte en clair avant le cryptage.
Ajoutez l'extension ".rapid" après le nom du fichier :
Afficher les informations sur la rançon
À ce stade, nous avons analysé le processus de cryptage des fichiers du ransomware rapid, passons ensuite à l'analyse du chiffrement fichiers.
3.Analyse des fichiers cryptés
le ransomware rapide utilise une signature numérique (RSA_AES-). 256) à Le fichier est crypté et la clé privée de la signature numérique est requise pour décrypter le fichier. Cependant, la clé privée de la signature numérique est chiffrée avec RSA. Sans la clé privée RSA, il est difficile d'obtenir la clé privée de la signature numérique et la récupération des fichiers est extrêmement difficile.
2017 a été une année de forte incidence de virus ransomware. Il est prévisible que cette situation se poursuivra en 2018. Chacun de nous devrait être plus vigilant, ne jamais ouvrir les pièces jointes de boîtes aux lettres suspectes, éviter d'utiliser des ressources logicielles tierces et installer des anti-virus. logiciel antivirus pour réduire les risques de sécurité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!