Desde la primera aparición de un código malicioso para Android, a mediados del año pasado, hemos sido testigos de una constante evolución en lo que refiere a las técnicas y metodologías utilizadas por los desarrolladores de malware. Hoy vamos a compartir con ustedes una amenaza conocida como AnserverBot, que incorpora una serie de funcionalidades de alta complejidad, con el objetivo de convertir el dispositivo en parte de una botnet.

Esta amenaza se propaga a través de repositorios de aplicaciones alternativos al Android Market en China, inyectado dentro de otras aplicaciones y fue reportada por Xuxian Jiang. Este código malicioso cuenta con una serie de capacidades como la carga dinámica de código, ofuscación de código, cifrado de datos, auto verificación de firmas, como así también, la posibilidad de detectar y eliminar ciertas herramientas de seguridad para dispositivos móviles.

El objetivo de inyectar código dentro de otras aplicaciones es para realizar la instalación de dos aplicaciones escondidas en el directorio de recursos, alojado en la carpeta "assets/". Dentro de esta carpeta se pueden observar los archivos anservera.db y anserverb.db. Ambos archivos suponen ser una base de datos, pero en realidad se trata de dos aplicaciones maliciosas. Si se abren estos archivos como si se tratara de un archivo comprimido podemos observar que tiene la misma estructura que un APK (Android application package file, en español, Archivo de aplicación para Android):

Al  ejecutar la aplicación por primera vez, se presenta una ventana al usuario que supone ser una actualización, cuando en realidad se está realizando la instalación de la aplicación oculta en el archivo anservera.db. Esta aplicación maliciosa, que cuenta con funcionalidades de bot, se ejecuta en segundo plano y puede cargar de manera dinámica código almacenado en la aplicación anserverb.db. Es así como logra engañar al usuario y ejecutarse en el sistema suponiendo ser una actualización para luego de solicitar su autorización para instalarla. Aquellos usuarios que caen víctimas de este engaño, comprometen la seguridad de su dispositivo. Una característica peculiar de este código malicioso es que su gestión y comunicación con el centro de control (C&C) se realiza a través de la utilización de blogs con posts cifrados, que son leídos por el código malicioso .

Como mencionamos anteriormente, la comunicación entre el bot y el centro de control (C&C), como así también la información sensible, se encuentra cifrada. Para ello los desarrolladores de este código malicioso utilizaron una adaptación del modelo de representación de datos conocido como  Base64 para cifrar la información. Entonces al revisar el código de estos archivos podemos observar de qué manera cifran los datos para que su análisis sea más complicado:

En la imagen anterior se puede observar parte del código utilizado para listar las aplicaciones instaladas en el teléfono. La cadena de texto dentro del cuatro contiene un listado de las aplicaciones de seguridad que este código maliciosos eliminará para evitar su detección. Utilizando un script para desofuscar esta codificación se puede conocer que el contenido de esa cadena es:" (^com.qihoo360.mobilesafe$)|(^com.tencent.qqpimsecure$)|(^com.lbe.security$)". En otras palabras, el código malicioso almacena el nombre de los paquetes que buscará dentro del sistema para desinstalarlos.

AnserverBot es uno de los códigos maliciosos para Android más avanzados que se han detectado hasta el día de hoy, implementa metodologías para complicar su análisis y ocultar su comunicación con el centro de control. Debido a ello remarca la necesidad de contar con buenas prácticas en el uso de dispositivos móviles, como así también la utilización de una solución de seguridad que proteja al dispositivo de este tipo de amenazas.

Pablo Ramos
Especialista en Awareness & Research