CE SERVICE PEUT CONTENIR DES TRADUCTIONS GÉNÉRÉES PAR GOOGLE. GOOGLE DÉCLINE TOUTE GARANTIE, EXPLICITE OU IMPLICITE, Y COMPRIS LES GARANTIES D'EXACTITUDE, DE FIABILITÉ, AINSI QUE TOUTE GARANTIE IMPLICITE DE COMMERCIALISATION ET D'ADAPTATION À DES FINS PARTICULIÈRES ET À L'ABSENCE DE CONTREFAÇONS.

Le site internet de Kaspersky Lab a été traduit pour votre commodité en utilisant un logiciel de traduction générée par Google. Des efforts raisonnables ont été faits pour fournir une traduction exacte. Cependant, aucune traduction automatique n'est parfaite et l'objectif n'est pas de remplacer le travail des traducteurs. Le site internet de Kaspersky Lab fournit ces traductions comme un service pour ses utilisateurs, et elles ont été publiées "telles quelles". Aucune garantie, explicite ou implicite, n'est faite au sujet de l'exactitude, de fiabilité ou de conformité de ces traductions faites de l'anglais vers une autre langue. Certains contenus (images, vidéos, Flash, etc.) peuvent ne pas être traduits correctement à cause des limites du logiciel de traduction.

Virus.Win32.Crypto

Classe Virus
Plateforme Win32
Description

Détails techniques

Ce texte a été écrit avec l'aide d'Adrian Marinescu, GeCAD Software.

Ceci est un virus Win32 polymorphe parasite résiduel très dangereux de la mémoire d'environ 20K de longueur. Il infecte les fichiers KERNEL32.DLL et PE EXE: il écrit son code à la fin du fichier et modifie les champs nécessaires dans l'en-tête PE pour prendre le contrôle lors de l'exécution d'un fichier infecté. Le virus ajoute également ses "droppers" aux archives de différents types (ACE, RAR, ZIP, CAB, ARJ) et à certains types de paquets auto-extractibles (fichiers SFX ACE et RAR).

Le virus utilise un moteur polymorphique tout en infectant uniquement les fichiers PE EXE et les archives, et laisse l'image virale non cryptée dans le fichier KERNEL32.DLL.

Le virus utilise des astuces anti-débogage, désactive les scanners anti-virus à l'accès (Avast, AVP, AVG et Amon), supprime les fichiers de données anti-virus (AVP.CRC, IVP.NTZ, ANTI-VIR.DAT, CHKLIST.MS , CHKLIST.CPS, SMARTCHK.MS, SMARTCHK.CPS, AGUARD.DAT, AVGQT.DAT), corrige le fichier LGUARD.VPS (base de données antivirus?) Et évite l'infection de nombreux programmes antivirus: TB, F- AW, AV, NAV, PAV, RAV, NVC, FPR, DSS, IBM, INOC, ANTI, SCN, VSAF, VSWP, PANDA, DRWEB, FSAV, SPIDER, ADINF, SONIQUE, SQSTART.

L'une des caractéristiques les plus importantes du virus est le fait qu'il crypte / déchiffre les bibliothèques Windows "à la volée" (fichiers DLL) lorsqu'elles sont chargées – lors du chargement d'une bibliothèque, le virus décrypte, et lors du déchargement, le virus crypte le corps du fichier. Pour crypter les fichiers DLL, le virus utilise de puissants algorithmes cryptographiques (fournis par l'API Crypt incluse dans Windows). Par conséquent, une fois que le système infecté continue de fonctionner, le code du virus est présent dans la mémoire et réalise ce cryptage / décryptage. Si le système est désinfecté, les bibliothèques DLL restent cryptées et le système ne peut pas les charger. Le premier virus à utiliser cette technologie était le virus multipartite Onehalf qui était «bien connu» dans la seconde moitié des années 1990.

Le virus est incompatible avec plusieurs versions Win32, telles que les éditions standard Win95 et Win98. Dans ces conditions, le virus ne s'installe pas dans le système (n'infecte pas KERNEL32.DLL) et / ou n'infecte pas les fichiers PE EXE.

Installation dans le système

Lorsqu'un fichier infecté est exécuté pour la première fois sur un système propre, la boucle de décryptage polymorphe prend le contrôle, restaure le code du fichier d'origine sous forme propre et transmet le contrôle à cet endroit. La routine d'installation acquiert le contrôle et, après avoir exécuté plusieurs procédures anti-débogage et anti-anti-virus, installe la copie de virus dans le système.

Lors de l'installation, le virus infecte le fichier KERNEL32.DLL de sorte qu'au démarrage suivant, Windows charge le code du virus en tant que partie de la bibliothèque KERNEL32. Lors de l'infection, le virus corrige les tables d'exportation KERNEL32 de sorte qu'au prochain chargement, le virus intercepte et filtre plusieurs fonctions d'accès aux fichiers exportées de KERNEL32.DLL (CreateFile, OpenFile, __lopen, CopyFile, MoveFile, DéplacerFichier, LoadLibrary, LoadLibraryEx, FreeLibrary – dans les deux formes ANSI et UNICODE).

Pour infecter KERNEL32.DLL (cette bibliothèque est chargée dans la mémoire lors de l'exécution du virus, elle est donc protégée par Windows pour l'écriture), le virus copie le fichier KERNEL32.DLL dans le dossier Windows, infecte cette copie, puis force Windows à basculer l'ancien fichier avec celui infecté lors du prochain démarrage. Par conséquent, lors du prochain redémarrage, Windows sera chargé avec le KERNEL32.DLL infecté – les événements d'accès aux fichiers de filtres de virus, et exécute PE EXE et les routines d'infection d'archive.

Après avoir infecté KERNEL32.DLL, le virus efface son code de la mémoire et renvoie le contrôle au programme hôte.

Propagation du virus

Lorsque Windows est chargé avec un KERNEL32.DLL infecté, le virus reste dans la mémoire en tant que composant de KERNEL32.DLL et croise plusieurs fonctions exportées KERNEL32. Lors d'un premier appel à ces fonctions, le virus active sa routine d'infection qui recherche les fichiers victimes (PE EXE) en arrière-plan et les infecte. Le virus recherche les fichiers sur tous les disques de C à Z.

Pour rendre le processus de numérisation moins visible, le virus attendra d'abord trois secondes avant chaque analyse de lecteur.

Lors de l'infection d'un fichier, le virus agrandit la dernière section de fichier et réserve de l'espace pour son code, puis écrit le code crypté avec le décrypteur polymorphe et définit le point d'entrée du programme sur la routine de décryptage.

Archiver l'infection

Le virus est capable d'ajouter des droppers aux archives de plusieurs types: ACE et RAR (y compris les fichiers auto-extractibles SFX), ainsi que ZIP, CAB, ARJ. Les droppeurs de virus dans les archives obtiennent un nom choisi au hasard parmi les variantes:

INSTALLATION, CONFIGURATION, EXÉCUTION, SON, CONFIG, AIDE, GRATIS, FISSURE, MISE À JOUR, README

commençant ou / et se terminant par '!' carboniser. L'extension du nom de fichier est .EXE.

Pour ajouter son compte-gouttes à une archive, le virus crée un compte-gouttes en tant que fichier disque et exécute le programme externe nécessaire pour traiter le type d'archive respectif. En utilisant cette méthode, le virus est capable d'ajouter le compte-gouttes compressé avec une méthode choisie au hasard, en fonction du programme d'archivage.

Cryptage des bibliothèques

Le virus crée des clés cryptographiques dans la partie installation du virus (en utilisant l'API Crypt incluse dans Windows). Si les clés sont créées avec succès, le virus est capable de chiffrer le code des fichiers DLL utilisés par les applications (ils sont chargés par Windows en cas de besoin). Pour ce faire, le virus utilise les hooks LoadLibrary et FreeLibrary, intercepte le chargement de la bibliothèque et les crypte / décrypte à la volée.

Toute DLL dont le nom commence par l'un des modèles suivants est exclue: SFC, MPR, OLE32, NTDLL, GDI32, RPCRT4, USER32, RSASIG, SHELL32, CRYPT32, RSABASE, PSTOREC, KERNEL32, ADVAPI32, RUNDLL32, SFCFILES. En outre, les DLL répertoriées dans les listes suivantes ne sont pas cryptées:

 SystemCurrentControlSetControlSessionManagerKnownDLLs 
 SystemCurrentControlSetControlSessionManagerKnown16DLLs 

L'aspect le plus important est que la clé de cryptage et l'algorithme de cryptage sont uniques pour chaque système infecté. WinCrypt prend en charge les algorithmes de chiffrement personnalisés rendant impossible la désinfection à partir d'autres systèmes que Windows. Le cryptage des DLL consommera beaucoup de ressources de temps / CPU – le virus lira chaque fois que les clés nécessaires du registre.

Pour pouvoir utiliser l'API Crypt incluse dans Windows, le virus doit créer une nouvelle clé, le nom du conteneur étant "Prizzy / 29A". Premièrement, le virus vérifie son existence, et si la clé n'est pas présente, l'API dédiée est appelée afin d'en créer une nouvelle. Ensuite, le virus devra stocker la clé générée – pour cela, le virus utilisera le registre du système. À ce stade, le virus contient une limitation – il supposera que la clé SOFTWAREMicrosoftCryptographyUserKeysPrizzy / 29A sera créée après l'appel de l'API CryptAquireContext. Le virus définira la valeur "Kiss Of Death" sur la nouvelle clé générée.


Lien vers l'original