El siguiente post es una traducción (con algunas adaptaciones idiomáticas) del texto realizado por Robert Lipovsky, publicado en el blog de ESET en inglés donde podrán conocer las nuevas técnicas utilizadas por el Virus Induc, para infectar los archivos y sistemas.

ESET ha descubierto una nueva versión del virus Win32/Induc, conocido por atacar al lenguaje de programación Delphi. A diferencia de sus predecesores, esta variante incorpora un nuevo vector de ataque, además de contar con la capacidad para infectar otros archivos ejecutables y la modificación de su funcionalidad de auto propagación.

Hace dos años, publicamos información acerca del virus Win32/Induc.A, que infectaba archivos de Delphi en tiempo de compilación. Aunque, las técnicas que utilizaba no eran muy avanzadas, este código malicioso fue más que interesante. En lugar de infectar directamente los archivos ejecutables, su objetivo era modificar una librería del entorno de programación de Delphi, lo que generaba que toda aplicación compilada por ella estuviera infectada. Quizás, el autor se inspiró en la investigación publicada en 1984, por Ken Thompson que describe un método de infección similar, a través de la modificación de un compilador del lenguaje de programación C.

Aunque esta amenaza, solo infecta a los sistemas que tienen Delphi instalado, comenzó a propagarse  alrededor del mundo, y fue detectado en un gran número de aplicaciones, escritas en este lenguaje de programación. Además de su peculiar mecanismo de infección, el virus Win32/Induc.A no cuenta con ninguna otra técnica de propagación una vez que infecta un sistema. Sin embargo, dos años después, esto cambio con la aparición de nuevas variantes de este código malicioso.

En julio del 2011, ESET detectó Win32/Induc.B, una versión casi similar a la primer variante en lo que respecta a su mecanismo de infección, pero el código había sido re escrito, incluyendo algunas modificaciones considerables:

  • De igual manera que Win32/Induc.A, esta nueva variante afecta a las versiones de Delphi, desde la 4.0 hasta la 7.0. Sin embargo, Win32/Induc.B cuenta con una modificación en la búsqueda del directorio en dónde se encuentra instalado el entorno de programación. De esta manera, puede infectar el IDE de Delphi (Integrated Developed Environment, en español, entorno integrado de desarrollo), cuando el directorio de instalación por defecto ha sido modificado. Ademas también es capaz de infectar Borland Developer Studio (BDS) y Codegear BDS.
  • Cuenta con técnicas de anti-debugging, con el objetivo de complicar su análisis.
  • Cuenta con encriptación XOR para ocultar el código original del virus.

A pesar de estos cambios,  el mecanismo de infección es el mismo, a través de la modificación de la librería estándar de Delphi SysConst.pas en dónde se inyecta el código.

La última variantes del virus, Win32/Induc.C, cuenta con cambios dramáticos en lo que respecta a sus funcionalidades. ESET, descubrió esta nueva versión en agosto de este año. El código de la amenaza es completamente diferente de sus predecesores, y la única funcionalidad que tiene en común es la infección de Delphi.  El mecanismo de infección fue modificado y en lugar de infectar solo a los archivos de Delphi, también cuenta con la posibilidad de infectar cualquier archivo con extensión EXE.

El cambio más significativo en esta nueva versión del código malicioso, es que ahora cuenta con la habilidad de descargar otros amenazas e instalarlas en el equipo infectado.  Para lograr este cometido, el virus abre un puerto a través del cual puede descargar otros tipos de malware. Parte del código que se inyecta en el archivo SysInit.pas se puede observar en la siguiente imagen:

En resumen, algunos de los cambios y nuevas funcionalidades en Win32/Induc.C son:

  • El algoritmo de búsqueda para encontrar el directorio de instalación fue actualizado. En lugar de encontrar el directorio desde el registro de Windows, realiza una búsqueda en todo el disco.
  • La librería de Delphi que se modifica es SysInit.pas, en lugar de SysConst.pas, y el mecanismo de infección ahora es más efectivo.
  • Además de infectar los archivos compilados del IDE de Delphi, esta nueva versión del virus es capaz de infectar archivos ejecutables. El mismo mecanismo es también utilizado para infectar dispositivos de almacenamiento extraíbles, como por ejemplo las memorias USB.
  • El código de Win32/Induc.C contiene tres direcciones URL a las que intenta conectarse con el objetivo de descargar otras amenazas. Estas direcciones URL apuntan a imágenes, con extensión JPG, que contienen en su interior el enlace para descargar el nuevo código malicioso que va a ser ejecutado en el sistema.
  • Uno de los códigos maliciosos que descarga la última versión de este virus, intenta robar las contraseñas del usuario y es detectado por ESET como Win32/PSW.Delf.NQS. Esta amenaza, puede ser utilizada para robar las contraseñas de acceso a servidores FTP privados.
  • Además, una vez que un equipo es infectado, Win23/Induc.C envía un código identificador (ID), a un servidor remoto. De esta manera es posible identificar el sistema comprometido de manera unívoca, que le permite al atacante realizar un seguimiento de las infecciones y crear una botnet.

Si se comparan las distintas versiones del virus, se puede observar que la primera variante de Induc se encontraba en una fase Beta de desarrollo, en dónde el autor experimentó con algunos métodos innovadores de infección. Por otro lado, en la última versión, Win32/Induc.C, se trata de un código malicioso con intenciones criminales.

Cómo hemos mencionado anteriormente, la familia de códigos maliciosos Induc, se ha estado propagando de una manera muy activa, como lo confirman las estadísticas de la tecnología Live Grid de ESET (una versión actualizada del sistema de alerta temprana de ESET, ThreatSense.Net):

En el gráfico, se puede observar que el virus se ha estado esparciendo de manera global, como la mayor cantidad de detecciones provenientes de Rusia, y en segundo lugar, China. En lo que respecta a la región Brasil es el país en dónde se han encontrado un mayor número de infecciones. En lo que respecta a la última variante los números son diferentes:

El mayor número de detecciones fue registrado en Eslovaquia y Rusia, quienes suman más del 80% de las detecciones de Win32/Induc.C a nivel mundial. También se pueden observar infecciones en Latinoamérica, como el caso de Argentina y México. El total de detecciones de la última variante suma menos del 1% del total, pero sin embargo el nivel de propagación de esta nueva versión del virus esta aumentando, lo que podría resultar en que la distribución del el gráfico dde esta amenaza cambie considerablemente en el próximo tiempo

ESET va a continuar con el seguimiento de este código maliciosos y proveer una protección contra sus nuevas variantes. Esta última evolución, representa una amenaza más importante que sus versiones anteriores. Para obtener más detalles acerca de este virus, pueden consultar nuestra Enciclopedia de Virus para Win32/Induc.A y Win32/Induc.C

Robert Lipovsky
Malware Researcher