11 millones de dispositivos infectados con malware botnet alojado en Google Play

11 millones de dispositivos infectados con malware botnet alojado en Google Play
Una pantalla de computadora llena de unos y ceros también contiene un logotipo de Google y la palabra hackeado.

Hace cinco años, los investigadores hicieron un descubrimiento sombrío: una aplicación legítima de Android en el mercado de Google Play fue convertida subrepticiamente en maliciosa por una biblioteca que los desarrolladores usaban para obtener ingresos por publicidad. Con eso, la aplicación fue infectada con un código que hizo que 100 millones de dispositivos infectados se conectaran a servidores controlados por atacantes y descargaran cargas útiles secretas.

Ahora, la historia se repite. Investigadores de la misma empresa de seguridad con sede en Moscú, Rusia reportado el lunes Se han encontrado dos nuevas aplicaciones, descargadas de Play 11 millones de veces, que estaban infectadas con la misma familia de malware. Los investigadores de Kaspersky creen que un kit de desarrollo de software malicioso para integrar funciones de publicidad es una vez más el responsable.

Oficios ingeniosos

Los kits para desarrolladores de software, más conocidos como SDK, son aplicaciones que proporcionan a los desarrolladores marcos que pueden acelerar enormemente el proceso de creación de aplicaciones al agilizar las tareas repetitivas. Un módulo SDK no verificado incorporado a las aplicaciones aparentemente admitía la visualización de anuncios. Tras bambalinas, proporcionaba una serie de métodos avanzados para la comunicación sigilosa con servidores maliciosos, donde las aplicaciones cargaban datos de los usuarios y descargaban código malicioso que podía ejecutarse y actualizarse en cualquier momento.

La familia de malware oculto en ambas campañas se conoce como Necro. Esta vez, algunas variantes utilizan técnicas como esteganografíaun método de ofuscación que rara vez se ve en malware móvil. Algunas variantes también implementan una técnica astuta para distribuir código malicioso que puede ejecutarse con derechos de sistema mejorados. Una vez que los dispositivos están infectados con esta variante, se comunican con un servidor de comando y control controlado por el atacante y envían solicitudes web que contienen JSON

datos que informan sobre cada dispositivo comprometido y la aplicación que aloja el módulo.

El servidor, a su vez, devuelve una respuesta JSON que contiene un enlace a una imagen PNG y metadatos asociados que incluyen el hash de la imagen. Si el módulo malicioso instalado en el dispositivo infectado confirma que el hash es correcto, descarga la imagen.

El módulo SDK “utiliza un algoritmo esteganográfico muy simple”, explicaron los investigadores de Kaspersky en un publicación separada“Si la comprobación MD5 es correcta, se extraen los contenidos del archivo PNG (los valores de los píxeles en los canales ARGB) mediante herramientas estándar de Android. Luego, el método getPixel devuelve un valor cuyo byte menos significativo contiene el canal azul de la imagen y comienza el procesamiento en el código”.

Los investigadores continuaron:

Si consideramos el canal azul de la imagen como una matriz de bytes de dimensión 1, entonces los primeros cuatro bytes de la imagen son el tamaño de la carga útil codificada en formato Little Endian (desde el byte menos significativo hasta el más significativo). A continuación, se registra la carga útil del tamaño especificado: se trata de un archivo JAR codificado con Base64, que se carga después de la decodificación mediante DexClassLoader. Coral SDK carga la clase sdk.fkgh.mvp.SdkEntry en un archivo JAR utilizando la biblioteca nativa libcoral.so. Esta biblioteca ha sido ofuscada utilizando la herramienta OLLVM. El punto de partida, o punto de entrada, para la ejecución dentro de la clase cargada es el método run.

Código Necro que implementa la esteganografía.
Agrandar / Código Necro que implementa la esteganografía.

Kaspersky

Las cargas útiles posteriores que se instalan descargan complementos maliciosos que se pueden combinar y combinar para cada dispositivo infectado para realizar una variedad de acciones diferentes. Uno de los complementos permite que el código se ejecute con derechos elevados del sistema. De forma predeterminada, Android prohíbe a los procesos privilegiados usar WebView, una extensión del sistema operativo para mostrar páginas web en aplicaciones. Para eludir esta restricción de seguridad, Necro utiliza una técnica de piratería conocida como ataque de reflexión para crear una instancia separada de la fábrica WebView.

Este complemento también puede descargar y ejecutar otros archivos ejecutables que reemplazarán los enlaces generados a través de WebView. Cuando se ejecutan con los permisos de sistema elevados, estos archivos ejecutables tienen la capacidad de modificar las URL para agregar códigos de confirmación para suscripciones pagas y descargar y ejecutar código cargado en enlaces controlados por el atacante. Los investigadores enumeraron cinco cargas útiles independientes que encontraron en su análisis de Necro.

El diseño modular de Necro permite que el malware se comporte de múltiples formas. Kaspersky proporcionó la siguiente imagen que ofrece una descripción general.

Diagrama de infección del troyano Necro.
Agrandar / Diagrama de infección del troyano Necro.

Caspería

Los investigadores encontraron Necro en dos aplicaciones de Google Play. Una de ellas era Wuta Camera, una aplicación con 10 millones de descargas hasta la fecha. Las versiones de Wuta Camera 6.3.2.148 a 6.3.6.148 contenían el SDK malicioso que infecta las aplicaciones. Desde entonces, la aplicación se ha actualizado para eliminar el componente malicioso. Otra aplicación con aproximadamente 1 millón de descargas, conocida como Max Browser, también estaba infectada. Esa aplicación ya no está disponible en Google Play.

Los investigadores también descubrieron que Necro infectaba una variedad de aplicaciones de Android disponibles en mercados alternativos. Esas aplicaciones generalmente se promocionaban como versiones modificadas de aplicaciones legítimas como Spotify. MinecraftWhatsApp, Chicos tropezando, Aparcamiento de coches multijugadory Sandbox de melón.

Las personas que estén preocupadas por la posibilidad de estar infectadas por Necro deben verificar sus dispositivos para detectar la presencia de indicadores de compromiso que se enumeran al final de este artículo. este redacción.