Un troyano para Android oculto en juegos de Google Play, a pesar de Bouncer

Share this…

Hace poco, en ESET descubrimos un curioso ataque furtivo dirigido a usuarios de Android. Se trata de una aplicación que, a pesar de ser un juego normal, tiene un elemento adicional interesante: estaba empaquetada con otra aplicación llamada systemdata o resourcea, lo que sin duda es bastante sospechoso. ¿Por qué un juego normal que se descarga desde la tienda oficial Google Play Store incluye otra aplicación llamada “datos del sistema”? Ciertamente, esta aplicación/juego en particular no es una aplicación del sistema, como su nombre intenta sugerir.

Aunque la aplicación empaquetada se coloca inadvertidamente en el dispositivo, necesita pedirlepermiso al usuario para poder instalarse. La aplicación móvil que solicita permiso para la instalación se hace pasar por la aplicación “Manage Settings” (Administrar configuración). Tras su instalación, se ejecuta como un servicio en segundo plano.

ESET detecta los juegos que instalan este troyano como Android/TrojanDropper.Mapin y al troyano en sí como Android/Mapin. Según nuestros datos telemétricos, los usuarios de Android en la India son actualmente los más afectados, con el 73,58% de detecciones observadas.

El troyano backdoor toma el control del dispositivo y lo convierte en parte de una botnet, al mando del atacante. El troyano configura temporizadores que retrasan la ejecución del payload malicioso. De este modo, disimula el hecho de que el juego troyanizado es el responsable de la conducta sospechosa.

En algunas variantes de esta infiltración, por lo menos deben transcurrir tres días para que elmalware alcance la funcionalidad completa de un troyano. Probablemente sea este retraso lo que le permitió al TrojanDownloader pasar tanto tiempo sin ser detectado por Bouncer, el sistema de prevención de malware de Google.

A continuación, el troyano pide derechos de administrador de dispositivos y empieza a comunicarse con su servidor de C&C remoto. Android/Mapin contiene múltiples funcionalidades, tales como impulsar diversas notificaciones, descargar, instalar e iniciar aplicaciones, y obtener información confidencial del usuario; sin embargo, su principal objetivo parece ser el de mostrar anuncios de pantalla completa en el dispositivo infectado.

Vectores de distribución: Google Play y compañía

Lo más interesante acerca de este troyano es que estuvo disponible para descargar desde fines de 2013 y durante 2014 simulando ser los siguientes juegos:

 

  • Hill Climb Racing
  • Plants vs Zombies 2
  • Subway Surfers
  • Traffic Racer
  • Temple Run 2 Zombies
  • Super Hero Adventure

El malware se subió a Google Play entre el 24 y el 30 de noviembre de 2013, y el 22 de noviembre de 2014. Según MIXRANK, Plants vs zombies 2 se descargó más de 10.000 veces antes de que se eliminara del sitio.

En esas mismas fechas, System Optimizer, Zombie Tsunami, Tom Cat Talk, Super Hero Adventure, Classic Brick Game y las aplicaciones ya mencionadas de Google Play Store, empaquetadas con el mismo backdoor y provenientes de los mismos desarrolladores, se subieron a varios mercados alternativos de aplicaciones para Android.

También se descubrió que el mismo backdoor se había empaquetado junto con otras aplicaciones subidas por el desarrollador PRStudio (no prStudio) en mercados alternativos para Android, en algunos de los cuales se hacía referencia a la tienda oficial Google Play Store. Este desarrollador subió al menos otras cinco aplicaciones con el troyano: Candy crush o Jewel crush, Racing rivals, Super maria journey, Zombie highway killer y Plants vs Zombies a diversos mercados para Android de terceros.

Todos estos juegos infectados aún están disponibles para descargar desde estos mercados. Las aplicaciones infectadas se descargaron miles de veces. A continuación podemos ver los íconos de los falsos juegos:

Aplicaciones infectadas
Aplicaciones infectadas

Jewel

free

Infección: las víctimas deben instalar el malware 24 horas después de la ejecución

La forma en que se ejecuta este malware presenta algunas variaciones. En ciertos casos, se coloca el troyano en el dispositivo y, 24 horas después de que se ejecuta por primera vez la aplicación descargada, le pide a la víctima que lo instale. Este método le resulta menos sospechoso al usuario y le hace creer que la solicitud para instalar la aplicación proviene del sistema operativo.

Otras versiones del troyano no esperan 24 horas, sino que se inician de inmediato. Todas las variantes se activan después de que cambia la conectividad, cuando se registra un nuevo receptorde transmisión en el manifiesto.

Cambio de conectividad
Cambio de conectividad

Cuando se cambia la conexión, se le solicita al usuario que instale la “aplicación del sistema”. Elmalware se hace pasar por Google Play Update o Manage Settings.

google play

Si el usuario decide cancelar en lugar de instalar, la solicitud de instalación volverá a aparecer cada vez que se cambie la conexión. El usuario promedio se convencerá de que se trata de una actualización importante y es probable que en algún punto instale la aplicación, aunque más no sea para deshacerse de la notificación insistente. A continuación, el troyano inicia un servicio utilizando su propio receptor de transmisión registrado, a la espera de otro cambio en la conexión.

Cuando se establece una conexión, el malware intenta registrarse en los servidores de Google Cloud Messages (GCM) para poder recibir mensajes. Luego de registrarse en GCM, Android/Mapin registra el dispositivo infectado en su propio servidor. Para ello, envía el nombre de usuario, lacuenta de Google, el código IMEI, el ID de registro y su propio nombre.

Registro del dispositivo en el servidor del atacante
Registro del dispositivo en el servidor del atacante

Para evitar que lo desinstalen, el troyano exige que el usuario active el “administrador de dispositivos”:

 Administrador de dispositivos
Administrador de dispositivos

Luego, le notifica al servidor remoto si logró activar el administrador de dispositivos correctamente. A continuación, aparece una publicidad en una ventana emergente de pantalla completa (intersticial). La publicidad intersticial se muestra cada vez que cambia la conectividad. Para entregar estas publicidades, usan indebidamente la aplicación legítima SDK AdMob.

Publicidades intersticiales
Publicidades intersticiales

Comunicación a través de Google Cloud Messaging

El troyano se comunica con el servidor usando Google Cloud Messaging (GCM), ya que de esta forma puede responder a los comandos que recibe del servidor. Hoy en día, estos tipos de comunicaciones se están haciendo cada vez más frecuentes entre el malware.

Comandos
Comandos

El troyano no implementa todas su funcionalidades en forma completa, y algunas de las implementadas no se utilizan. Existe la posibilidad de que esta amenaza esté todavía en desarrollo y que sus creadores sigan mejorando el troyano en el futuro. Su objetivo principal, controlado desde el servidor remoto, es entregarle anuncios al usuario final en forma agresiva, mientras que finge ser una aplicación del sistema.

También puede entregar otros programas maliciosos en el dispositivo del usuario. Cuenta con la capacidad de activar o desactivar publicidades intersticiales o de banner; cambiar el ID de editor para los anuncios mostrados; elegir si desea o no mostrarle anuncios al usuario; cambiar el tiempo de retardo entre los anuncios que se muestran; instalar, descargar e iniciar aplicaciones; impulsar notificaciones; revocar los derechos de administrador del dispositivo; cambiar el servidor con el que se comunica el malware; y crear accesos directos en la pantalla principal para direcciones URL que instalan las aplicaciones descargadas.

Después de ejecutar cada tarea recibida mediante GCM, el dispositivo cliente le informa al servidor remoto a través de HTTPS que la tarea se completó con éxito.

Conclusión

El troyano se logró subir sin problemas a la tienda Google Play Store, probablemente debido a que Bouncer no había implementado todas las técnicas de detección de malware pertinentes: en este caso, la emulación de un cambio en la conectividad de red.

Otra pregunta interesante es por qué Bouncer no analizó en forma estática el archivo ejecutable que se entregaba junto con los demás elementos del juego subido. Por este motivo, el troyano permaneció sin ser detectado y se distribuyó abiertamente a los usuarios. El desarrollador “SHSH” subió a la Play Store el juego infectado “Super Hero adventure”, y es posible que existan más aplicaciones suyas en la tienda oficial de Google.

Eventualmente, se eliminaron los troyanos de la tienda de Google Play, pero pasó casi un año y medio sin que fueran detectados. Tal vez debido a este y otros casos similares, Google anunció que, a partir de marzo de 2015, todas las aplicaciones y actualizaciones deben pasar por unarevisión humana.

Las mejores prácticas para evitar la descarga de malware desde la tienda oficial de Google consisten en descargar aplicaciones provenientes de desarrolladores de confianza y leer los comentarios de personas que ya las estén usando. También hay que considerar si los permisos que solicita una aplicación para su instalación están justificados.

Fuente:https://www.welivesecurity.com/