Joker, el malware que ha infectado 24 aplicaciones en Google Play Store

El investigador Aleksejs Kuprins ha publicado en Medium que, a principios de septiembre y durante las semanas anteriores, estuvo observando un nuevo troyano en Google Play Store: su nombre es Joker.

Señaló que hasta ese momento lo habían detectado en 24 aplicaciones con más de 472 mil instalaciones en total. El malware Joker se conoce con este nombre porque se ha tomado prestado de uno de los nombres de dominio de C&C (Comando y Control).

En su entrada de blog ha indicado que Joker ofrece un componente de segunda etapa que simula silenciosamente la interacción con los sitios web de publicidad, roba los mensajes SMS de la víctima, la lista de contactos y la información del dispositivo.

“La interacción automatizada con los sitios web de publicidad incluye la simulación de clics y la introducción de los códigos de autorización para suscripciones de servicios premium”.

En Dinamarca, por ejemplo, Joker tiene la capacidad de inscribir silenciosamente a la víctima para un servicio de 50 DKK / semana (aproximadamente 6,71 euros). Esta estrategia, según Kuprins, funciona automatizando la interacción necesaria con la página web de la oferta premium.

Se ingresa el código de oferta del operador, se espera un mensaje SMS con un código de confirmación y se extrae usando expresiones regulares. El malware Joker, finalmente, envía el código extraído a la página web de la oferta para autorizar la suscripción premium.

Objetivos del malware Joker

El investigador ha destacado que Joker solo ataca países seleccionados. Y es que la mayoría de las aplicaciones infectadas contienen una lista de Códigos Móviles de País (MCC) y la víctima debe usar una tarjeta SIM de uno de estos países para recibir la carga útil de la segunda etapa.

De acuerdo a lo hallazgos, la mayoría de las aplicaciones descubiertas apuntan a la UE (Unión Europea) y los países asiáticos, sin embargo, algunas aplicaciones permiten que cualquier país se una.

“Además, la mayoría de las aplicaciones descubiertas tienen una verificación adicional que asegurará que la carga útil no se ejecute cuando se hace dentro de los Estados Unidos o Canadá”.

Por otra parte, se ha conocido que la interfaz de usuario del panel de C&C y algunos de los comentarios del código del bot están escritos en chino, lo que podría ser una pista en términos de atribución geográfica.

Kuprins ha explicado que la lista completa de 37 países seleccionados incluye a Australia, Austria, Bélgica, Brasil, China, Chipre, Egipto, Francia, Alemania, Ghana, Grecia, Honduras, India, Indonesia, Irlanda, Italia, Kuwait, Malasia, Myanmar, Países Bajos, Noruega , Polonia y Portugal.

También destacan Qatar, República Argentina, Serbia, Singapur, Eslovenia, España, Suecia, Suiza, Tailandia, Turquía, Ucrania, Emiratos Árabes Unidos, Reino Unido y Estados Unidos.

Ataque de Joker

Se ha agregado que el malware Joker, además de cargar el archivo DEX de la segunda etapa, también recibe código dinámico y comandos a través de HTTP y ejecuta ese código a través de devoluciones de llamada de JavaScript a Java.

Tal enfoque, de acuerdo a lo publicado por el investigador, proporciona una capa adicional de protección contra el análisis estático, ya que muchas instrucciones en este caso no están codificadas en la aplicación maliciosa en Google Play Store.

“En la mayoría de las aplicaciones, los desarrolladores han insertado el componente de inicialización de Joker en uno u otro marco publicitario. El pequeño paquete de código malicioso generalmente consiste en: verificación del país de destino a través de MCC, comunicación mínima de C&C (solo lo suficiente para informar la infección y recibir la configuración cifrada), descifrado y carga de DEX”.

Además, incluye una escucha de notificación: cuando llega un nuevo mensaje SMS, esto el oyente lo captura y envía una transmisión para que el componente Core (segunda etapa) lo recoja.

Una aplicación, a menudo, contendría una pantalla llamada “Splash”, una actividad que muestra el logotipo de la aplicación mientras realiza varios procesos de inicialización en segundo plano. Se ha conocido que algunas de las aplicaciones de Joker también usan dicha actividad para la inicialización.

“La última cosa importante que vale la pena mencionar sobre el Joker es el robo de la lista de contactos de la guía telefónica. El componente principal recopila todos los números en la lista de contactos y los envía a los C&C en forma cifrada”.

En resumen, Aleksejs Kuprins ha señalado que el troyano descrito emplea tácticas especialmente sigilosas para realizar actividades bastante maliciosas en Google Play Store, mientras se esconde dentro de los marcos de publicidad y no expone demasiado de su código malicioso a la intemperie.

La familia de malware Joker, tomando en cuenta que la aparición más temprana en la naturaleza que se ha podido identificar proviene de metadatos DNS, hace suponer que ha comenzado sus campañas recientes a principios de junio de 2019.

Los dígitos de la versión principal en los nombres de compilación, sin embargo, dan la impresión de un ciclo de vida ligeramente más largo y potencialmente con más campañas en el pasado.

A pesar del volumen (24 aplicaciones), Google parece estar al tanto de esta amenaza tanto como sea posible. Algunas de las aplicaciones acumulan más de 100 mil instalaciones antes de que se eliminen, pero “el número de instalación siempre puede ser artificial hasta cierto punto debido a las prácticas comunes de astroturfing”.

Google Play Store, a lo largo de esta investigación, ha estado eliminando todas estas aplicaciones “sin ninguna nota de nuestra parte”. Es por esto que se ha recomendado prestar mucha atención a la lista de permisos en las aplicaciones que se instalen en los dispositivos Android.