Avast! analiza un nuevo y peligroso troyano para Android

0

Hoy hablamos de una nueva amenaza para sistemas Linux, que ya fué adelantada el día 7 de Agosto por los investigadores de RSA. Las dos principales capacidades de este troyano son la recopilación de datos de navegadores web basados en Linux para después penetrar en el sistema por medio de una backdoor. Más aún, está potenciado con características que impiden la virtualización y la monitorización. Con el nivel de sofisticación que muestra Hand Of Thief es posible compararlo con amenazas tan serias para sistemas no-Windows como FlashBack (MacOsX) descubierto el pasado año o como el troyano Obad para Android, más reciente.

Un análisis detallado muestra la estructura del archivo inicial con todas sus partes, después de que el dropper haya sido encriptado:

Diagrama explicativo de Hand Of Thief

Ejecutando el programa en un sistema nativo Linux con el parámetro “-v”, muestra la información de versión “0.1.0.7”.

Dropper y auto-protección

El dropper es ofuscado mediante el empaquetador UPX, resultando imposible un análisis estático del mismo. Es por eso que Avast! ha tenido que aplicar el  programa UPX original con el parámetro “-d” en una única parte del dropper en el archivo de instalación original. La legibilidad de casi todas las cadenas de caractéres está protegida mediante una encriptación XOR con llave de 8 bit variable. Se trata de una propiedad ampliamente compartida entre troyanos de plataformas Windows y sus competidores.

Justo después de iniciarse, el troyano comprueba si está ejecutándose en un entorno virtualizado. La consecución de este objetivo depende del software de virtualización empleado: buscar una subcadena “VBOX” y “VMware” en los dispositivos SCSI listados (para evitar este proceso, basta con desmarcar los privilegios de “lectura” en file/proc/scsi/scsi); buscar una subcadena “UML”, “PowerVM Lx86″”, “QEMU” o “IBM/S390 en /proc/cpuinfo; buscar, por último, un acceso a “/proc/vz” o “/proc/bc” que existen cuando el OpenVZ Kernel está en ejecución:

Donde se inserta el código del troyano

La presencia de de uno de estos signos lleva a una temprana interrupción de la ejecución. El troyano también existe si el directorio root es Chrooteado (chroot = change root) comparando líneas particulares en /proc/1/mountinfo y /proc/<getpid()>/mountinfo. El chrooting es básicamente una característica de seguridad que permite, cuando una característica o función no tiene permisos para acceder al directorio root, emplear otra entrada en el árbol del sistema de archivos para que actúe en su lugar.

Después se desencripta el archivo “config” al final del paquete (empezando en la dirección 0×24244 con un tamaño 0x1E0) e inicializa sus variables globales con las entradas del archivo de configuración (los valores son resueltos mediante comandos regcomp, regexec y regfree) Debajo un ejemplo analizado por Avast!, con una IP privada actuando como C&C para el bot, este en concreto en proceso de depuración, no suponiendo una amenaza)

Para conseguir persistencia tras el reinicio del sistema, el troyano parece crear un archivo de configuración llamado system-firewall.desktop en la ruta ~/.config/autostart que contiene estos ajustes (%s está apropiadamente modificado):

[Desktop Entry]
Encoding=UTF-8
Type=Application
Exec=%s
Terminal=false
Name=System Firewall
StartupNotify=false

Compartir.

Sobre el Autor

Alejandro es técnico micro-informático, experto en seguridad de las TIC y apasionado de la tecnología. Colabora habitualmente en diferentes publicaciones de seguridad, software y análisis de hardware entusiasta.

Dejar una Respuesta

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR