ESTE SERVICIO PUEDE CONTENER TRADUCCIONES DE GOOGLE. GOOGLE NIEGA CUALQUIER RESPONSABILIDAD RELACIONADA CON LAS TRADUCCIONES, EXPRESA O IMPLÍCITA, INCLUYENDO CUALQUIER RESPONSABILIDAD ACERCA DE LA PRECISIÓN, LA CONFIABILIDAD Y CUALQUIER RESPONSABILIDAD IMPLÍCITA DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO EN PARTICULAR Y DE NO INFRACCIÓN.

Por su comodidad, se ha traducido el sitio web de Kaspersky Lab utilizando un software de traducción de Google Translate. Se hicieron unos esfuerzos razonables para proporcionar una traducción precisa; no obstante, las traducciones automáticas no son perfectas y no hay ninguna intención de sustituir el trabajo de los traductores. Se proporcionan estas traducciones como un servicio para los usuarios del sitio web de Kaspersky Lab y se han publicado tal "como es". No hay ninguna garantía, expresa o implícita, acerca de la precisión, la confiabilidad o exactitud de cualquier traducción desde el inglés a cualquier otro idioma. La traducción de algunos contenidos (imágenes, videos, Flash, etc) podrían no ser totalmente fiel debido a las limitaciones del software de traducción.

Virus.Win32.Crypto

Clase Virus
Plataforma Win32
Descripción

Detalles técnicos

Este texto fue escrito con la ayuda de Adrian Marinescu, GeCAD Software.

Este es un virus Win32 polimórfico parasitario residente muy peligroso de aproximadamente 20K de longitud. Infecta los archivos KERNEL32.DLL y PE EXE: escribe su código al final del archivo y modifica los campos necesarios en el encabezado PE para obtener control cuando se ejecuta un archivo infectado. El virus también agrega sus "cuentagotas" a archivos de diferentes tipos (ACE, RAR, ZIP, CAB, ARJ) y a algunos tipos de paquetes autoextraíbles (archivos SFX ACE y RAR).

El virus utiliza un motor polimórfico mientras infecta archivos y archivos PE EXE solamente, y deja la imagen del virus no cifrada en el archivo KERNEL32.DLL.

El virus utiliza trucos contra la depuración, desactiva los antivirus con acceso (Avast, AVP, AVG y Amon), elimina los archivos de datos antivirus (AVP.CRC, IVP.NTZ, ANTI-VIR.DAT, CHKLIST.MS , CHKLIST.CPS, SMARTCHK.MS, SMARTCHK.CPS, AGUARD.DAT, AVGQT.DAT), parchea el archivo LGUARD.VPS (¿base de datos antivirus?) Y evita la infección de muchos programas antivirus: TB, F- , AW, AV, NAV, PAV, RAV, NVC, FPR, DSS, IBM, INOC, ANTI, SCN, VSAF, VSWP, PANDA, DRWEB, FSAV, SPIDER, ADINF, SONIQUE, SQSTART.

Una de las características más importantes del virus es el hecho de que encripta / descifra las librerías de Windows "sobre la marcha" (archivos DLL) cuando se cargan: al cargar una biblioteca, el virus la descifra y, una vez descargada, el virus cifra el cuerpo del archivo. Para cifrar los archivos DLL, el virus utiliza algoritmos criptográficos fuertes (proporcionados por Crypt API incluido en Windows). Como resultado, una vez que el sistema infectado sigue funcionando solo en el caso de que el código de virus esté presente en la memoria y se dé cuenta de este cifrado / descifrado. En caso de que el sistema se desinfecte, las bibliotecas DLL permanecen encriptadas, y el sistema no puede cargarlas. El primer virus que usó dicha tecnología fue el virus multipartita Onehalf que era "bien conocido" en la segunda mitad de los años noventa.

El virus es incompatible con varias versiones de Win32, como las ediciones estándar Win95 y Win98. En estas condiciones, el virus no se instala en el sistema (no infecta a KERNEL32.DLL) y / o PE EXE no infecta archivos.

Instalando en el sistema

Cuando un archivo infectado se ejecuta por primera vez en un sistema limpio, el ciclo de descifrado polimórfico gana control, restaura el código del archivo original en forma limpia y pasa el control a allí. La rutina de instalación gana control y, después de realizar varios procedimientos anti-depuración y anti-virus, instala la copia de virus en el sistema.

Durante la instalación, el virus infecta el archivo KERNEL32.DLL de modo que, en la próxima puesta en marcha, Windows carga el código del virus como parte de la biblioteca KERNEL32. Al infectar, el virus remueve las tablas de exportación de KERNEL32 para que en la siguiente carga, el virus intercepte y filtre varias funciones de acceso a archivos que se exportan desde KERNEL32.DLL (CreateFile, OpenFile, __lopen, CopyFile, MoveFile, MoveFileEx, LoadLibrary, LoadLibraryEx, FreeLibrary – en formularios ANSI y UNICODE).

Para infectar KERNEL32.DLL (esta biblioteca se carga en la memoria cuando se ejecuta el virus, por lo que está protegida por Windows para su escritura), el virus copia el archivo KERNEL32.DLL en la carpeta de Windows, infecta esta copia y luego fuerza a Windows a cambia el archivo anterior por el infectado en el próximo inicio. Como resultado, en el siguiente reinicio, Windows se cargará con KERNEL32.DLL infectado: el virus filtra los eventos de acceso a archivos y ejecuta las rutinas PE EXE e infección de archivo.

Después de infectar KERNEL32.DLL, el virus borra su código de la memoria y devuelve el control al programa host.

Propagación de virus

Cuando Windows se carga con un KERNEL32.DLL infectado, el virus permanece en la memoria como un componente de KERNEL32.DLL y engancha varias funciones exportadas de KERNEL32. Tras una primera llamada a estas funciones, el virus activa su rutina de infección que busca los archivos de víctimas (PE EXE) en el fondo y los infecta. El virus busca archivos en todas las unidades de C a Z.

Para que el proceso de escaneo sea menos llamativo, el virus primero esperará tres segundos antes de cada escaneo de unidad.

Al infectar un archivo, el virus amplía la última sección del archivo y reserva espacio para su código, luego escribe el código cifrado junto con el descifrador polimórfico y establece el punto de entrada del programa en la rutina de descifrado.

Infección de archivo

El virus puede agregar droppers a los archivos de varios tipos: ACE y RAR (incluidos los archivos autoextraíbles SFX), así como ZIP, CAB, ARJ. Los dropper de virus en los archivos obtienen un nombre seleccionado al azar de las variantes:

INSTALAR, CONFIGURAR, EJECUTAR, SONIDOS, CONFIGURAR, AYUDA, GRATIS, CRACK, ACTUALIZAR, README

comenzando o terminando con '!' carbonizarse. La extensión del nombre de archivo es .EXE.

Para agregar su cuentagotas a un archivo, el virus crea un cuentagotas como un archivo de disco y ejecuta el programa externo necesario para procesar el tipo de archivo correspondiente. Con este método, el virus puede agregar el cuentagotas comprimido con un método seleccionado al azar, según el programa del archivador.

Cifrar bibliotecas

El virus crea claves criptográficas en la parte de instalación del virus (usando Crypt API incluida en Windows). Si las claves se crean con éxito, el virus puede cifrar el código de los archivos DLL que utilizan las aplicaciones (que Windows carga en caso de necesidad). Para hacer esto, el virus usa LoadLibrary y ganchos de FreeLibrary, intercepta la carga de la biblioteca y los encripta / descifra sobre la marcha.

Se exceptúan todas las DLL con el nombre que comienza con uno de los siguientes patrones: SFC, MPR, OLE32, NTDLL, GDI32, RPCRT4, USER32, RSASIG, SHELL32, CRYPT32, RSABASE, PSTOREC, KERNEL32, ADVAPI32, RUNDLL32, SFCFILES. Además, las DLL que se enumeran en las siguientes listas no están encriptadas:

 SystemCurrentControlSetControlSessionManagerKnownDLLs 
 SystemCurrentControlSetControlSessionManagerKnown16DLLs 

El aspecto más importante es que la clave de cifrado y el algoritmo de cifrado son únicos para cada sistema infectado. WinCrypt admite algoritmos de cifrado personalizados que imposibilitan la desinfección de otros sistemas que no sean Windows. El cifrado de las DLL consumirá muchos recursos de tiempo / CPU: el virus leerá cada vez las claves necesarias del registro.

Para poder usar la API Crypt incluida en Windows, el virus necesita crear una nueva clave, con el nombre del contenedor configurado en "Prizzy / 29A". Primero, el virus comprueba su existencia, y si la clave no está presente, se llama a la API dedicada para crear una nueva. Luego, el virus necesitará almacenar la clave generada; para eso, el virus usará el registro del sistema. En este punto, el virus contiene una limitación: asumirá que la clave SOFTWAREMicrosoftCryptographyUserKeysPrizzy / 29A se creará después de la llamada a la API CryptAquireContext. El virus establecerá el valor 'Kiss Of Death' en la clave generada recientemente.


Enlace al original