Los investigadores de zLabs han descubierto una nueva variante de la campaña MobOk. Las muestras encontradas eludieron la detección por parte de los proveedores de AV durante meses. Zimperium trabajó con Google para garantizar la eliminación de Play Store.
Las nuevas muestras variantes:
- Ocultarse de los proveedores de antivirus (AV) móviles;
- Suscríbase a servicios móviles premium;
- Evite CAPTCHA basado en imágenes;
- Evite la autenticación de dos factores (2FA); y
- Abusar de los servicios de accesibilidad para realizar acciones maliciosas.
MobOk, una campaña de malware para Android detectada por primera vez alrededor de junio de 2019, ha evolucionado constantemente para lograr la evasión total de la detección por parte de la industria AV móvil.
Los investigadores de zLabs notaron actividades sospechosas de un conjunto de aplicaciones que tenían estructuras de código y patrones de funcionalidad similares.
Tras la investigación, llegamos a la conclusión de que las muestras son variantes mejoradas de la campaña MobOk, muchas de las cuales permanecieron sin ser detectadas por la industria antimalware durante meses, como se puede ver en la cobertura de VirusTotal a continuación.


Estas nuevas variantes hacen uso del empaquetador Tencent para dificultar un análisis estático simple y una biblioteca nativa mejorada que contiene la mayor parte del código malicioso. El empaquetador Tencent descifra algunos archivos de los activos en tiempo de ejecución y reconstruye un archivo dex que luego se ejecuta dinámicamente. Para una mayor investigación, nuestros investigadores descargaron los archivos dex cargados en tiempo de ejecución y verificaron su malicia.
Primera ejecución
Después de la instalación, el primer lanzamiento de la aplicación muestra la siguiente pantalla, solicitando acceso al permiso de notificaciones.

Después de otorgar acceso a las notificaciones, la aplicación se cierra inmediatamente cuando se inicia por segunda vez. Un lanzamiento posterior finalmente cargará la carga maliciosa dex e iniciará la comunicación con el servidor de comando y control.
Exfiltración de datos
El malware realiza una solicitud POST a una URL maliciosa que varía de una muestra a otra (p. ej., http[:]//ww[.]uyt1[.]de) con una carga útil JSON codificada con huellas dactilares información sobre el dispositivo, como: IMEI, IMSI, modelo y configuraciones de red.

Para obtener los permisos del Servicio de Accesibilidad, el malware muestra la siguiente ventana emergente. Al hacer clic en el botón «Aceptar», el malware abrirá la siguiente configuración de Accesibilidad «prometiendo solemnemente» su legitimidad y pidiendo al usuario que ignore esas advertencias de privacidad «desagradables».

Evasión, derivación de CAPTCHA y comportamientos maliciosos
Estas muestras son muy interesantes porque utilizan dos técnicas simples pero efectivas para evadir la detección por parte de las soluciones AV:
- El empaquetado a través de Tencent Packer oculta el código del análisis estático simple y carga dinámicamente el archivo dex malicioso.
- Incrustación de una biblioteca nativa que expone un conjunto de métodos JNI que implementan las funcionalidades maliciosas principales.

Suscripción a Servicios Móviles Premium
El archivo dex malicioso incorpora el siguiente código para apagar el Wi-Fi y conectarse a la red móvil para poder cobrar por los servicios móviles premium.

La suscripción a dichos servicios a menudo requiere una verificación de la solicitud mediante 2FA o CAPTCHA basado en imágenes, específicamente diseñado para frustrar el uso de scripts automatizados. Sin embargo, MobOk es ingeniosamente capaz de eludir los dos mecanismos mencionados.
Para omitir el uso de 2FA, aprovecha el acceso de notificación para robar los mensajes SMS recibidos, publicarlos en uno de los servidores de C&C y procesarlos según sea necesario, como se muestra a continuación.

Omisión de CAPTCHA basada en imágenes
Para eludir los CAPTCHAS basados en imágenes, MobOk aprovecha los avances en la precisión de los servicios de reconocimiento de imágenes. De hecho, las muestras analizadas envían la imagen captcha a un servicio externo utilizando el subir archivo funcionalidad, como se puede ver en la siguiente imagen.
Afortunadamente, no parece que se haya abusado de la función de carga de archivos para robar archivos confidenciales a pedido del C&C, sino estrictamente para cargar los archivos de imagen CAPTCHA.

Comportamientos maliciosos
El siguiente fragmento de código muestra cierta coherencia con las variantes conocidas anteriormente, donde un WebView se utiliza para cargar direcciones URL maliciosas y ejecutar código JavaScript dañino. La solicitud POST al C&C mencionada anteriormente también contiene información adicional sobre el dispositivo, que incluye: altura de la pantalla, ancho de la pantalla, modelo, marca, huella digital, hardware, fabricante, producto y nombre del operador de red.
Algunas de estas piezas de información también se utilizan para ayudar a la función de hacer clic que abusa de los permisos del Servicio de Accesibilidad.

Abuso de funciones y servicios de accesibilidad de JNI
El uso de los permisos del Servicio de Accesibilidad por parte del malware depende en gran medida de la biblioteca nativa integrada denominada libfs.so (de las cuales se han detectado versiones más o menos ricas en funciones en las muestras analizadas). De hecho, varios métodos JNI, parte del Java_com_flurry_sdk_zz_ espacio de nombres, están expuestos al lado de Java. Algunos de ellos usan encriptación AES256 (con la clave codificada xS544RXNm0P4JVLHIEsTqJNzDbZhiLjk) para descifrar un conjunto de cadenas confidenciales que el código malicioso utilizará en tiempo de ejecución.
Como se indicó anteriormente, las muestras de MobOk han estado evolucionando en los últimos meses, y eso se puede notar claramente por la cantidad de funcionalidades principales que se han trasladado de la tierra de Java a la tierra nativa.
De hecho, las muestras más recientes trasladaron la mayoría de los servicios de accesibilidad y el código de generación de intenciones para que fueran implementados por los métodos JNI y procedieron a cifrar también todas las cadenas confidenciales.
La lista de cadenas descifradas para una de las muestras que analizamos se enumera a continuación:
- 2032
- 2037
- 2005
- setComponentEnabledSetting
- ACCIÓN_ACCESIBILIDAD_CONFIGURACIÓN
- ACCIÓN_VER
- com.android.vending
- com.android.proveedores.descargas
- android.settings.APP_NOTIFICATION_SETTINGS
- android.proveedor.extra.APP_PACKAGE
- android.intent.category.DEFAULT
- FLAG_ACTIVITY_NEW_TASK
- FLAG_ACTIVITY_CLEAR_TOP
- FLAG_ACTIVITY_SINGLE_TOP
- FLAG_ACTIVITY_NO_ANIMATION
- FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
- FLAG_ACTIVITY_NO_HISTORY
- FLAG_ACTIVITY_CLEAR_TASK
- http://play.google.com
- https://play.google.com
Para el ojo atento, está claro que esos valores enteros tienen algo interesante que contar y, de hecho, se pueden comparar con sus valores. WindowManager.LayoutParams contrapartes de banderas:
- 2005 = 0x000007D5 = TYPE_TOAST
- 2032 = 0x000007F0 = TYPE_ACCESSIBILITY_OVERLAY
- 2039 = 0x000007F5 = TYPE_ACCESSIBILITY_OVERLAY|TYPE_TOAST
En las muestras de malware analizadas, los métodos JNI fueron responsables de:
- Recopilación de información de la android.os.Build clase (por ejemplo MARCA, HUELLA DACTILAR);
- Obtener el nombre del operador de red del Android.telefonía.TelephonyManager clase;
- Devolviendo lo mencionado WindowManager.LayoutParams banderas, que se utilizarán más tarde en la elaboración de ventanas de Servicio de Accesibilidad ad-hoc. Agregar un conjunto específico de opciones a un Intent recién creado, terminando con la receta perfecta para generar una actividad maliciosa disfrazada: FLAG_ACTIVITY_NEW_TASK, FLAG_ACTIVITY_CLEAR_TOP, FLAG_ACTIVITY_SINGLE_TOP, FLAG_ACTIVITY_NO_ANIMATION, FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS, FLAG_ACTIVITY_NO_HISTORY, FLAG_ACTIVITY_CLEAR_TASK;
- Ocultar o mostrar el icono de la aplicación de la cajón androide; y
- Crear y generar varias actividades para solicitar acceso a los permisos del Servicio de Accesibilidad y abrir una página de Google Play Store en otra muestra específica relacionada con la campaña MobOk.
La capacidad más reciente de la lista es de particular interés porque notamos que algunas muestras intentan instalar inmediatamente una aplicación maliciosa complementaria de Google Play Store (más de 10 000 instalaciones) al abusar de las intenciones diseñadas y la API del servicio de accesibilidad para ocultar la acción del usuario. vista, como se puede apreciar en las siguientes capturas de pantalla.


En el lado de la autodefensa encontramos que una vez más el malware abusa de la API del Servicio de Accesibilidad para dificultar su desinstalación presionando el botón Hogar botón si se detecta la opción de desinstalar la aplicación en la pantalla del dispositivo.
Resumen
En resumen, las muestras de MobOk son capaces de lo siguiente:
- Cambiar de Wi-Fi a Conexión de datos;
- Suscripción a servicios móviles premium;
- Resolver CAPTCHA basado en imágenes utilizando un servicio de reconocimiento de imágenes externo;
- Robo de SMS utilizado para 2FA; y
- Usar los servicios de accesibilidad para llevar a cabo actividades maliciosas en la pantalla.
COI
Tienda de juegos de Google:
6e06c328cc48bb49e0d05871154fc3674dd8c6a00eed8299d7da98610ca4b432
5df83b5362fd86301eae1ae87fa1deff46a50d921ea04abbfc22db6fa4e21c9a
No embalado:
4b8f5491517cca354e48c1069a2e9dc5c14ba6e94b6083d2d8a34cab74d818b1
4faf17374f190cb9d1fd02b302428fa4d22c646eb1d9f974596fa8844aea931f
6b40ae94fb31a73420653577cbc0905bef995d1a14b3f96c780b8d09a6e0b82f
95ef331095d1787ac9436852972f542f34c5c62sordob88ee5e00b60fa80a649
9236e705642b46d868b6a25a2b9324ec814c1741961576217d74a857e3d95d4c
55fc20b0b2cd58bb4e917381193de9c13064c5edec53d19b721f2c546a236788
07bcd2eb1be71c457c8a9132e617b331b7babd88b8130ce11252d770d800bd70
Lleno:
3163d95516728ae0fb88b2a7a24c20097fb7b1a5060b0aeb4a488494ef947cf9
6d1b6df47442a5e5cc470d00ccf21d4cc18658ac08f810fbdfab462b96b9926c
017b48b642792953e909161f913d4769248e6ff7a94532dedb652245d33de0e9
1bbcb7eebb7605bb88aa8015ebf9ed2eceaf1caca3f68eec4d7d80f4977860d2
29a7fb8ce1bca87435a30bfd0a90c10d51531d5da92bea3f3b967c1ac9a255e1
117c7d1e20ae662817f1297aebc89fd15c4adeb152c164af640fffd88b0c9834
969fff903948507ca3725714bf0ab75fbbbdfaeaf00f2e569e6d0b243c0e702d
52e8581baa849172b9178207643d65e0f2c3d681e72458e1821dcccd54ada241
3c5a6b79776de78d9d33116bd9cc84290a84af3109eaceb9aef13c3df46d6117
db157bb38456fb2110435d87e675aee19c1617bec7cb438d2508c8a33c6e0f90
3de6fbf59da77e46620ce5cf404bcce8e1c90f3015b900cc164c3361354f233a
Dex:
30674ba8a63c757e9e2013bfc650234dab9dbb7ff02c1018df951b2b75cfaa42
c14edf48ca13638f4cb290712f16f9dc1a9b39b95085fb87437c0b74ff348061
de5997e33f74a3fd3356509a986c10c8385eaf52b2da9ba39b06603190da51da
25a4680cf9e7b5c44a0499e84ccd1a7d37a0bdcc1881242a00cb478374bd4e8a
C&C:
http[:]//52[.]221[.]7[.]34[:]8087
http[:]//porque[.]uyt1[.]Delaware
http[:]//www[.]uyt1[.]Delaware[:]8802
http[:]//hj[.]fawea[.]Delaware
http[:]//ggg[.]koapkmobi[.]com
Un agradecimiento especial a todo el equipo de investigación de malware de Zimperium zLabs por sus contribuciones al análisis y esta publicación y, en particular, mateo favaro y Alex Calleja. Puedes sígueme en Twitter.