Android / LeifAccess.A es el troyano Silent Fake Reviewer


El equipo de McAfee Mobile Research ha identificado una familia de malware Android llamada Android / LeifAccess.A que ha estado activa desde mayo de 2019. Este troyano se descubrió a nivel mundial con versiones localizadas, pero tiene una prevalencia mucho mayor en los EE. UU. Y Brasil. Como parte de la carga útil, este troyano puede abusar de los servicios de accesibilidad de OAuth para crear automáticamente cuentas a nombre del correo electrónico legítimo de la víctima en múltiples aplicaciones de terceros. Con el mismo enfoque, puede crear reseñas falsas en la tienda Google Play para manipular clasificaciones de aplicaciones, realizar fraudes publicitarios (funcionalidad de clicker), actualizarse y ejecutar código remoto arbitrario, entre otras funcionalidades.

Mientras tanto, muchas aplicaciones específicas afectadas por revisiones falsas están en Google Play.

Este malware no se ha identificado en la tienda oficial de Android, por lo que algunos de los posibles métodos de distribución que identificamos están relacionados con las redes sociales, las plataformas de juegos, la publicidad maliciosa y la descarga directa de los archivos APK desde el servidor de Comando y Control (C&C).

Ingeniería social para obtener servicios de accesibilidad

Una vez instalado, Android / LeifAccess.A no muestra ningún ícono o acceso directo. Se ejecuta en segundo plano y puede solicitar a las víctimas que activen los servicios de accesibilidad para realizar la mayoría de sus actividades maliciosas al mostrar una notificación de brindis, simulando una advertencia del sistema como se muestra a continuación:

Los servicios de accesibilidad fueron diseñados para ayudar a los usuarios con discapacidades, o mientras no pudieran interactuar completamente con el dispositivo. Sin embargo, como hemos observado en troyanos bancarios y otras amenazas móviles, los autores de malware también podrían abusar de los servicios de accesibilidad para realizar actividades maliciosas sin interacción del usuario. En versiones recientes de Android, Google limitó la cantidad de aplicaciones con permiso de servicios de accesibilidad en Google Play y movió algunas funcionalidades a otras API recién creadas para minimizar el abuso, pero los ciberdelincuentes todavía están tratando de explotarlo, convenciendo a los usuarios para que activen este permiso crítico. .

Si se otorgan permisos de accesibilidad, el troyano puede realizar plenamente sus actividades maliciosas; si no se otorga, seguirá ejecutando parte de los comandos posibles, como fraude publicitario, instalará atajos y se actualizará, abriendo la puerta a nuevas cargas útiles.

Comentarios falsos

Basado en el análisis estático del archivo dex de segunda etapa des-ofuscado (fields.css), es posible concluir que Android / LeifAccess puede publicar críticas falsas en Google Play abusando de los servicios de accesibilidad:

Figura 3. Lista de ofuscación de cadenas utilizadas como nombre de recurso completo calificado del acceso de ID de vista para realizar revisiones falsas abusando de los servicios de accesibilidad

Android / LeifAccess intentará descargar e instalar la aplicación de destino porque una cuenta de usuario solo puede escribir reseñas de aplicaciones que se hayan instalado previamente. Intentará descargar a través de Google Play, pero también hay una implementación para descargar aplicaciones de una tienda de mercado alternativa (APKPure), así como enlaces directos.

Ejemplo del mundo real

Como ejemplo del mundo real de este comportamiento malicioso, es posible encontrar reseñas en Google Play que coincidan con los parámetros recibidos de los C&C y almacenados en los archivos XML de SharedPreferences ocultos. Por ejemplo, la aplicación "Super Clean-Phone Booster, Junk Cleaner & CPU Cooler" está clasificada con un promedio de 4.5 estrellas y más de 7k comentarios, muchos de los cuales son falsos ya que presentan frases duplicadas copiadas de los parámetros de comando del troyano.

Algunos de los comentarios falsos contienen múltiples Me gusta que podrían asociarse a otros comandos ejecutados por este malware que puede encontrar este contenido de texto y les da un Me gusta:

Figura 6. Comando "rate_words" que se utilizan para votar por revisiones fraudulentas

Comandos y descifrado de parámetros

Android / LeifAccess.A almacena un Tabla de picadillo map, en un formato XML SharedPreferences, donde la clave es el nombre de la función y el valor es el parámetro utilizado por los comandos. Para evitar la detección, los nombres de las funciones reales (texto sin formato) y los parámetros están ofuscados, cifrados, salados y / o hash unidireccionales (md5 o sha-1).

  • Valores se almacenan como cadenas ofuscadas usando compresión de datos con zip.deflater y base64.enconde como técnicas de evasión de defensa. Algunas cadenas se ofuscan más de una vez con el mismo algoritmo.
  • Cada llave se calcula utilizando una suma de comprobación de resumen md5 de la matriz de bytes producida por una base64 personalizada de la cadena resultante de una operación personalizada sobre "nombres de función" y "nombre de paquete" de la muestra. Hay cientos de variantes diferentes de esta familia, cada una con un nombre de paquete diferente, por lo que los autores de malware aprovechan esta singularidad en la cadena del nombre del paquete para usarlo como sal para descifrar los valores clave.

En la figura 5 el xml El elemento contiene las revisiones enviadas por los C&C, mientras que el atributo "nombre" representa la clave de la tabla hash. En este ejemplo, la clave "FF69BA5F448E26DDBE8DAE70F55738F6" está asociada al comando "rate_p_words":

MD5 es un función unidireccional por lo tanto, no es posible descifrar la cadena pero, según el análisis estático, es posible volver a calcular el hash para todas las cadenas decodificadas encontradas en el archivo DEX de la segunda etapa y luego asociarlo con la tabla hash.

El recálculo de este hash particular fue posible invocando la función hash con rate_p_words y com.services.ibgpe.hflbsqqjrmlfej como argumentos.

En la misma tabla hash se almacenan otros parámetros, como la URL del servidor de actualización automática que utiliza la misma técnica de cifrado / ofuscación:

Figura 7. HashMap ofuscado

Esta clave F09EA69449BA00AA9A240518E501B745 y el valor incrustado se pueden interpretar de la siguiente manera:

Figura 8. HashMap como texto sin formato

Otros comandos se detallan en la tabla de comandos del apéndice que incluye la creación de accesos directos y la frecuencia de las actualizaciones.

Además, los comandos recibidos también pueden almacenarse localmente en una base de datos SQLite que registra parte de la acción realizada por el malware.

Abuso de accesibilidad

Desactivar Google Play Protect:

LeifAccess intenta navegar a través de la aplicación de destino utilizando AccessibilityNodeInfo por nombre de recurso view-id. Por ejemplo, para Google Play Protect, el paquete está incrustado en la aplicación Google Play con el nombre del paquete "com.android.vending" e intentará acceder a la identificación de la vista "play_protect_settings:" como se define en la cadena g. La identificación completa del recurso calificado es "com.android.vending: id / play_protect_settings" como se muestra en el código desobuscado a continuación. Luego localizará el "android: id / switch_widget" para intentar desactivar la opción de escaneo del dispositivo.

Figura 9. Lista de cadenas de recursos de view-id abusadas por LeifAccess

Abuso de la creación de cuentas falsas Inicio de sesión único:

Otra técnica de monetización utilizada por esta familia es la creación de cuentas a nombre de identidades de usuario reales y cuentas registradas en el dispositivo infectado. Esto se logra abusando de los servicios de accesibilidad para realizar una creación de cuenta e iniciar sesión con el Inicio de sesión en Google OAuth 2.0 que muchos servicios legítimos integran en sus aplicaciones.

Android / LeifAccess puede descargar e instalar la aplicación de destino para luego configurar una cuenta sin interacción del usuario.

El siguiente código desofuscado muestra cómo Android / LeifAccess usa AccesibilityEvent para navegar en una aplicación de citas para crear una cuenta usando la opción de inicio de sesión de Google.

Figura 10. Accesibilidad Evento utilizado para crear cuentas falsas

A continuación, se muestran algunos ejemplos de otros nombres de paquetes de aplicaciones a los que se dirige este malware para realizar la creación de cuentas falsas, principalmente relacionadas con categorías como compras, citas y redes sociales.

  • zalora.android
  • tiket.gits
  • b2w.submarino
  • zzkko
  • phrendly
  • newchic.client
  • com.netshoes.app
  • hacer mi viaje
  • me gusta
  • lazada.android
  • joom
  • jabong.android
  • startv.hotstar
  • banggood.client
  • alibaba.intl.android.apps.poseidon
  • alibaba.aliexpresshd
  • airyrooms.android

Otras cargas maliciosas

Fraude publicitario:

La funcionalidad Clicker también se implementa para que el dispositivo infectado solicite tráfico de publicidad sin mostrar un solo anuncio en la interfaz.

C&C envía encabezados específicos de agente de usuario para realizar fraudes publicitarios.

Figura 11. Agente de usuario específico

La ID de la red publicitaria se actualiza a través del servidor C&C:

Figura 12. ID utilizada para monetizar los anuncios

Normalmente, las aplicaciones que ejecutan anuncios integran uno o más SDK de red publicitaria (generalmente distribuidos como bibliotecas JAR) para solicitar correctamente la ubicación de recopilación de contenido publicitario, el tipo de dispositivo o incluso algunos datos de usuario. Sin embargo, este malware no integra ningún paquete SDK en el código fuente para acceder a los anuncios. Android / LeifAccess puede cargar anuncios utilizando el formato de red publicitaria adecuado a través de enlaces directos para clics de anuncios o impresiones de anuncios (IMPR) que el servidor de C&C pre-construye y le envía en formato JSON. Esto significa que el dispositivo infectado podrá solicitar una URL con los parámetros completos necesarios para simular un clic legítimo proveniente de un usuario que hace clic en un banner en el contexto de una aplicación legítima, evadiendo la integración del SDK que también contribuye a mantener un tamaño relativamente pequeño. tamaño del archivo.

La estructura JSON de adware incluye:

Además, este malware puede mostrar anuncios reales en pantalla completa fuera del contexto de cualquier aplicación después de desbloquear el dispositivo si recibe los comandos adecuados o según una determinada frecuencia definida por los C&C. Además, puede mostrar un icono de superposición que redirige a los anuncios como una superposición flotante.

Se pueden crear accesos directos arbitrarios en la pantalla de inicio en función de los parámetros recibidos:

Notificaciones falsas

Para obtener servicios de accesibilidad o para solicitar la desactivación de una opción de seguridad del sistema operativo que aún no se ha otorgado, el malware puede lanzar mensajes tostados para tratar de convencer a las víctimas de que realicen ciertas acciones.

A continuación se muestra una lista de notificaciones falsas, incluido el título y el contenido, en formato JSON utilizado por el malware dentro del atributo "diálogo" que se ejecuta como una notificación de brindis en los intervalos del parámetro "notifi_inter" (28800000 milisegundos, que equivale a 8 horas )

Figura 13. Lista de cuadros de diálogo utilizados como notificaciones falsas

La cadena "desactivar" y "activar" se internacionaliza para que coincida con el idioma del sistema operativo:

Desembalaje y ejecución

Para evitar la detección, o como una técnica de 'evasión de defensa', la aplicación original instalada es solo un contenedor que, una vez ejecutada, puede descifrar un JAR del archivo de activos de la ruta 'assets / fields.css' que se carga dinámicamente usando la reflexión en La aplicación principal. Las cadenas de llamadas de la API del sistema también se ofuscan mediante una implementación personalizada de base64.

Figura 14. Descripción general del desempaquetado de malware

La reversión del archivo jar descifrado requiere la desofuscación de las cadenas utilizadas por Android / LeifAccess.A que están codificadas de forma personalizada:

Figura 15. Cadenas desobuscadas utilizando la función et.a

Servidor de Comando y Control:

Los servidores de comando y control también se usan para distribución de malware y actualizaciones de carga útil. Los nombres de dominio contienen palabras que pueden hacer que las personas piensen que pertenecen a una red publicitaria legítima o a una Red de entrega de contenido (CDN):

hxxp: //api.adsnativeXXX.com

hxxp: //cdn.leadcdnbXXX.com/

Distribución y Telemetria

Distribución

Los ejemplos están disponibles en los C&C alojados como enlaces directos de APK, pero también se pueden distribuir en las redes sociales o como una campaña publicitaria que intenta convencer a los usuarios de que instalen una actualización de seguridad crítica. Esta etiqueta de variante es SystemSecurityUpdates y el nombre del paquete comienza con "com.services.xxxx", pretendiendo ser una actualización del sistema.

Se encontraron variantes de Android / LeifAccess.A alojadas y distribuidas a través de la plataforma de chat del juego Discord. Algunas variantes maliciosas de APK estaban disponibles en el siguiente esquema de URL:

  • hxxps: //cdn.discordapp.com/attachments/XXXXXXXXX/XXXXXX

La infección requiere que el usuario descargue e instale el APK malicioso; Esto significa que se utiliza un componente de ingeniería social para el acceso inicial. Asustar a las personas sobre posibles amenazas utilizando anuncios o atraer a los jugadores que desean agregar una "característica oculta" los hace más dispuestos a seguir las instrucciones de flujos de instalación no confiables descritos por los atacantes en publicaciones o videos, incluso si deben rechazar las notificaciones de seguridad o desactivar la seguridad. medidas para permitir permisos agresivos o activar servicios de accesibilidad.

Conclusión

La capacidad de instalar aplicaciones y luego publicar revisiones falsas en Google Play en nombre de una víctima, crear cuentas falsas en servicios de terceros más el mecanismo de autoactualización, junto con múltiples técnicas de ofuscación y cifrado utilizadas como defensa propia, hacen que esto pieza de malware única y le permitió permanecer bajo el radar de las víctimas sin protección AV.

Las funciones principales de este troyano se pueden describir como:

  • Descargar aplicaciones de Google Play o APK Pure
  • Desactivar Google Play Protect
  • Cree cuentas falsas con accesibilidad abusiva de OAuth
  • Publica comentarios falsos en Google Play
  • Crea atajos en la pantalla principal
  • Mostrar anuncios en segundo plano y en pantalla completa
  • Actualización automática

Android / LeifAccess implementa múltiples técnicas de autodefensa para cifrar y ofuscar el comportamiento malicioso e intentar evitar la detección de AV.

Debido al alto volumen de muestras únicas, podemos inferir que una cantidad considerable de recursos se destinan a infraestructura y automatización para la generación de muestras de forma polimórfica del lado del servidor.

Las nuevas variantes se implementan constantemente para mantener viva esta botnet móvil de revisores falsos.

Este tipo de malware no solo daña a los usuarios, sino que también afecta la credibilidad de App Market y los adversarios / redes publicitarias que pagaron por pancartas que nadie ve.

También sugiere que existe un mercado para la mejora fraudulenta de la reputación de la aplicación, y servicios como este deben realizarse con un objetivo de monetización muy similar a lo que sucede en las redes sociales donde existen servicios para comprar seguidores o me gusta.

Estas publicaciones violan las pautas de Google Play Store principalmente porque las revisiones y clasificaciones son clave para ayudar a los usuarios a seleccionar aplicaciones apropiadas y seguras; las falsas pueden arruinar la confianza de los usuarios.

Sin embargo, esta manipulación de clasificación es un desafío para identificar y eliminar, ya que este tipo de revisión falsa no es producida por cuentas falsas y la mayoría de los métodos anti-spam están diseñados para encontrar contenido creado por cuentas no confiables o no verificadas en lugar de usuarios legítimos. Esta misma técnica podría usarse para las redes sociales o cualquier otra plataforma de distribución de mensajes arbitrarios.

Si cree que podría verse afectado por esta familia, puede ver o editar las reseñas que ha escrito en su cuenta de Google en https://aboutme.google.com/.

McAfee Mobile Security también identifica y detecta implementaciones más recientes de este malware como Android / LeifAccess.A y Android / LeifAccess.B.

Datos técnicos y COI

Tabla de comandos

Mitre ATT y CK Matrix

IoC

6032c1a8b54f3daf9697a49fdd398d3ebe35f3fec3d945d6d8e9588043332969

com.services.ibgpe.hflbsqqjrmlfej

032184204b50f0634ad360a2090ea9904c012cb839b5a0364a53bf261ce8414e

com.services.kxyiqc.zzwkzckzfiojjzpw

0a95e9cce637a6eb71e4c663e207146fe9cde0573265d4d93433e1242189a35c

com.services.jifat.qaxtitmumdd

533a395ed16143bbe6f258f3146ea0ea3c56f71e889ace81039800803d0b1e18

com.services.xvpyv.tteawsribdsvi

6755f708d75a6b8b034eae9bcb6176679d23f2dc6eb00b8656d00f8ee0ec26c1

com.services.myzmuexri.nrphcanr

URLS

adsnative123 (.) com

Myapkcdn (.) En

adsv123 (.) com

Referencias

https://android-developers.googleblog.com/2018/12/in-reviews-we-trust-making-google-play.html





Enlace a la noticia original