Detectamos una importante campaña de adware que estuvo activa durante aproximadamente un año que involucró a una serie de aplicaciones que en total fueron instaladas ocho millones de veces solamente desde Google Play.

Identificamos 42 aplicaciones en Google Play pertenecientes a la campaña, que habían estado corriendo desde julio de 2018. De ellas, 21 todavía estaban disponibles en el momento del descubrimiento. Reportamos las aplicaciones al equipo de seguridad de Google y se eliminaron rápidamente. Sin embargo, las aplicaciones aún están disponibles en tiendas de aplicaciones de terceros. ESET detecta este adware, de manera colectiva, como Android/AdDisplay.Ashas.

Figura 1. Aplicaciones de la familia Android / AdDisplay.Ashas reportadas a Google por ESET

Figura 2. La aplicación más popular utilizada para distribuir la familia Android/AdDisplay.Ashas en Google Play fue "Video Downloader Master" con más de cinco millones de descargas.

Funcionalidad de Ashas

Además de funcionar como adware, todas las aplicaciones proporcionan la funcionalidad que prometen. La funcionalidad del adware es la misma en todas las apps que analizamos. Nota: el análisis de la funcionalidad a continuación describe una sola aplicación, pero se aplica a todas las aplicaciones de la familia Android/AdDisplay.Ashas.

Una vez iniciada, la aplicación comienza a comunicarse con su servidor C&C (cuya dirección IP está codificada en base64 en la aplicación) para enviar datos sobre el dispositivo afectado: tipo de dispositivo, versión del sistema operativo, idioma, número de aplicaciones instaladas, espacio de almacenamiento libre, estado de la batería, si el dispositivo está rooteado, si el “modo de desarrollador” está habilitado, y si Facebook y FB Messenger están instalados.

Figura 3. Envío de información sobre el dispositivo afectado

La aplicación recibe datos de configuración del servidor de C&C que son necesarios para mostrar anuncios, así como también para mantenerse sigilosa y persistir.

Figura 4. Archivo de configuración recibido desde el servidor de C&C

En cuanto a los métodos para permanecer sin ser detectado y persistir, el atacante hace uso de varios trucos.

Primero, la aplicación maliciosa intenta determinar si está siendo probada por el mecanismo de seguridad de Google Play. Para este fin, la aplicación recibe del servidor de C&C el indicador isGoogleIp, que indica si la dirección IP del dispositivo afectado se encuentra dentro del rango de direcciones IP conocidas para los servidores de Google. Si el servidor devuelve este indicador como positivo, la aplicación no activará el payload del adware.

En segundo lugar, la aplicación puede establecer un retraso personalizado entre la visualización de anuncios. Las muestras que hemos visto tenían una configuración establecida para retrasar la visualización del primer anuncio 24 minutos después de que se desbloquea el dispositivo. Este retraso significa que un procedimiento de prueba típico, que lleva menos de 10 minutos, no detectará ningún comportamiento no deseado. Además, cuanto mayor sea el retraso, menor será el riesgo de que el usuario asocie los anuncios no deseados con una aplicación en particular.

En tercer lugar, según la respuesta del servidor, la aplicación también puede ocultar su icono y crear un acceso directo. Si un usuario típico intenta deshacerse de la aplicación maliciosa, es probable que solo se elimine el acceso directo y que la aplicación continúa ejecutándose en segundo plano sin el conocimiento del usuario. Esta técnica de ocultamiento ha ganado popularidad entre las amenazas relacionadas con adware distribuidas a través de Google Play.

Figura 5. Retraso de tiempo para posponer la visualización de anuncios implementados por el adware

Una vez que la aplicación maliciosa recibe sus datos de configuración, el dispositivo afectado está listo para mostrar anuncios según la elección del atacante; donde cada anuncio se despliega en pantalla completa. Si el usuario desea verificar qué aplicación es responsable del anuncio que se muestra, al presionar el botón "Aplicaciones recientes", se utiliza otro truco: la aplicación muestra un icono de Facebook o Google, como se ve en la Figura 6. El adware imita estas dos aplicaciones para parecer legítimas y evitar sospechas, y así permanecer en el dispositivo afectado el mayor tiempo posible.

Figura 6. La actividad del adware se hace pasar por Facebook (izquierda), pero si el usuario mantiene presionado el ícono, se revela el nombre de la aplicación responsable de la actividad (derecha).

Finalmente, la familia de adware Ashas tiene su código oculto bajo el nombre del paquete com.google.xxx. Este truco, haciéndose pasar por un servicio legítimo de Google, puede ayudar a evitar el escrutinio. Algunos mecanismos de detección y sandboxes pueden incluir en una lista blanca dichos nombres de paquetes, en un esfuerzo por evitar el desperdicio de recursos.

Figura 7. Código malicioso oculto en un paquete llamado "com.google"

Cazando al desarrollador

Utilizando información de código abierto, rastreamos al desarrollador del adware, a quien también identificamos como el operador de la campaña y el propietario del servidor de C&C. En los siguientes párrafos, describimos nuestros esfuerzos para descubrir otras aplicaciones del mismo desarrollador y proteger a nuestros usuarios de él.

Primero, en base a la información asociada con el dominio C&C registrado, identificamos el nombre del registrante, junto con otros datos como el país y la dirección de correo electrónico, como se ve en la Figura 8.

Figura 8. Información sobre el dominio de C&C utilizado por el adware Ashas

Sabiendo que la información proporcionada a un registrador de dominios podría ser falsa, continuamos nuestra búsqueda.

La dirección de correo electrónico y la información del país nos llevaron a una lista de estudiantes que asisten a una clase en una universidad vietnamita, lo que corrobora la existencia de una persona a nombre de la cual se registró el dominio.

Figura 9. Una lista de estudiantes de clase universitaria que incluye el registrante de dominio C&C

Debido a las malas prácticas de privacidad por parte de la universidad, ahora sabemos su fecha de nacimiento (probablemente: aparentemente utilizó su año de nacimiento como parte de su dirección de Gmail, lo cual podría ser una confirmación parcial adicional), sabemos que era un estudiante y a qué universidad asistió. También pudimos confirmar que el número de teléfono que proporcionó al registrador de dominio era genuino. Además, recuperamos su ID Universitario, y con una búsqueda rápida en Google pudimos ver algunas de las calificaciones de sus exámenes. Sin embargo, los resultados de su estudio están fuera del alcance de nuestra investigación.

Según la dirección de correo electrónico de nuestro culpable, pudimos encontrar su repositorio de GitHub. Su repositorio demuestra que es un desarrollador para Android, pero no encontramos ningún código público del adware Ashas al momento de escribir este blog.

Sin embargo, una simple búsqueda en Google del nombre del paquete de adware devolvió un proyecto "TestDelete" que había estado disponible en su repositorio en algún momento.

El desarrollador malicioso también tiene aplicaciones en la App Store de Apple. Algunas de ellas son versiones iOS de las apps que fueron eliminadas de Google Play, pero ninguna contiene funcionalidad de adware.

Figura 10. Las aplicaciones del desarrollador malicioso publicadas en la App Store y que no contienen el adware Ashas

Buscando más sobre las actividades que realiza el desarrollador malicioso, descubrimos también su canal de YouTube propagando el adware Ashas y sus otros proyectos. En cuanto a la familia Ashas, ​​uno de los videos promocionales asociados, "Head Soccer World Champion 2018 - Android, ios" tuvo casi tres millones de reproducciones y otros dos alcanzaron cientos de miles de visualizaciones, como se ve en la Figura 11.

Figura 11. Canal de YouTube del desarrollador malicioso

Su canal de YouTube nos proporcionó otra valiosa información: él mismo aparece en un video tutorial para uno de sus otros proyectos. Gracias a ese proyecto fuimos capaces de llegar a su perfil de Facebook, en el cual se mencionan sus estudios en la universidad antes mencionada.

Figura 12. Perfil de Facebook de la persona que registró el dominio de C&C (imagen de portada y de perfil editadas)

Vinculados al perfil de Facebook del desarrollador descubrimos una página de Facebook, Minigameshouse , y un dominio asociado, minigameshouse[.]net. Este dominio es similar al que utilizó el autor de malware para su comunicación de adware C&C, minigameshouse [.]us.

La comprobación de esta página de Minigameshouse indica además que esta persona es realmente el propietario del dominio minigameshouse [.]us: el número de teléfono registrado en este dominio es el mismo que el número de teléfono que aparece en la página de Facebook.

Figura 13. La página de Facebook administrada por el registrante de dominio de C&C utiliza el mismo nombre de dominio base (minijuegos) y número de teléfono que los C&C maliciosos registrados utilizados por el adware Ashas.

Es interesante que en la página de Facebook de Minigameshouse, más allá de la familia Ashas, el desarrollador malicioso promueve una gran cantidad de juegos para descargar en Google Play y App Store. Sin embargo, todos ellos se han eliminado de Google Play, a pesar del hecho de que algunos de ellos no contenían ninguna funcionalidad de adware. También pudimos ver que los sitios web que recientemente visitó eran páginas de Google Play que pertenecen a aplicaciones que contienen el adware Ashas. También usó en el video su cuenta de correo electrónico para iniciar sesión en varios servicios, que lo identifica como el propietario del dominio de adware, sin ninguna duda.

Además de todo esto, uno de los videos de YouTube del desarrollador malicioso, un tutorial sobre el desarrollo de un "Juego instantáneo" para Facebook, sirve como un ejemplo de seguridad operacional completamente ignorado. Igualmente, gracias al video, pudimos identificar otras tres aplicaciones que contenían funcionalidad de adware y que estaban disponibles en Google Play.

Figura 14. Las capturas de pantalla del video de YouTube de este desarrollador muestran el historial de verificación del adware Ashas en Google Play

Telemetría de ESET

Figura 15. Detecciones de ESET para Android/AdDisplay.Ashas en dispositivos Android por país

¿El adware es dañino?

Debido a que la naturaleza real de las aplicaciones que contienen adware generalmente está oculta para el usuario, estas aplicaciones y sus desarrolladores deben considerarse poco confiables. Cuando se instalan en un dispositivo, las aplicaciones que contienen adware pueden, entre otras cosas:

  • Molestar a los usuarios con anuncios intrusivos, incluidos anuncios fraudulentos,
  • Desperdiciar los recursos de la batería del dispositivo,
  • Generar mayor tráfico de red,
  • Recopilar información personal de los usuarios,
  • Ocultar su presencia en el dispositivo afectado para lograr persistencia,
  • Generar ingresos para su operador sin interacción del usuario.

Conclusión

Basados ​​únicamente en la inteligencia de código abierto, pudimos rastrear al desarrollador del adware Ashas, establecer su identidad y descubrir aplicaciones adicionales infectadas con adware. Al ver que el desarrollador no tomó ninguna medida para proteger su identidad, parece probable que sus intenciones no fueron deshonestas al principio, y esto también se ve respaldado por el hecho de que no todas sus aplicaciones publicadas contenían anuncios no deseados.

En algún momento de su "carrera" en Google Play, aparentemente decidió aumentar sus ingresos publicitarios mediante la implementación de la funcionalidad de adware en el código de sus aplicaciones. Las diversas técnicas de ocultamiento y resistencia implementadas en el adware nos muestran que el culpable era consciente de la naturaleza maliciosa de la funcionalidad adicional e intentó mantenerla oculta.

Introducir funcionalidades no deseadas o dañinas en aplicaciones populares y benignas es una práctica común entre los desarrolladores "malos", y estamos comprometidos a rastrear dichas aplicaciones. Informamos a Google y tomamos otras medidas para interrumpir las campañas maliciosas que descubrimos. Por último, publicamos nuestros hallazgos para ayudar a los usuarios y que sepan cómo protegerse.

Indicadores de Compromiso (IoCs)

Package name Hash Installs
com.ngocph.masterfree c1c958afa12a4fceb595539c6d208e6b103415d7 5,000,000+
com.mghstudio.ringtonemaker 7a8640d4a766c3e4c4707f038c12f30ad7e21876 500,000+
com.hunghh.instadownloader 8421f9f25dd30766f864490c26766d381b89dbee 500,000+
com.chungit.tank1990 237f9bfe204e857abb51db15d6092d350ad3eb01 500,000+
com.video.downloadmasterfree 43fea80444befe79b55e1f05d980261318472dff 100,000+
com.massapp.instadownloader 1382c2990bdce7d0aa081336214b78a06fceef62 100,000+
com.chungit.tankbattle 1630b926c1732ca0bb2f1150ad491e19030bcbf2 100,000+
com.chungit.basketball 188ca2d47e1fe777c6e9223e6f0f487cb5e98f2d 100,000+
com.applecat.worldchampion2018 502a1d6ab73d0aaa4d7821d6568833028b6595ec 100,000+
org.minigamehouse.photoalbum a8e02fbd37d0787ee28d444272d72b894041003a 100,000+
com.mngh.tuanvn.fbvideodownloader 035624f9ac5f76cc38707f796457a34ec2a97946 100,000+
com.v2social.socialdownloader 2b84fb67519487d676844e5744d8d3d1c935c4b7 100,000+
com.hikeforig.hashtag 8ed42a6bcb14396563bb2475528d708c368da316 100,000+
com.chungit.heroesjump c72e92e675afceca23bbe77008d921195114700c 100,000+
com.mp4.video.downloader 61E2C86199B2D94ABF2F7508300E3DB44AE1C6F1 100,000+
com.videotomp4.downloader 1f54e35729a5409628511b9bf6503863e9353ec9 50,000+
boxs.puzzles.Puzzlebox b084a07fdfd1db25354ad3afea6fa7af497fb7dc 50,000+
com.intatwitfb.download.videodownloader 8d5ef663c32c1dbcdd5cd7af14674a02fed30467 50,000+
com.doscreenrecorder.screenrecorder e7da1b95e5ddfd2ac71587ad3f95b2bb5c0f365d 50,000+
com.toptools.allvideodownloader 32E476EA431C6F0995C75ACC5980BDBEF07C8F7F 50,000+
com.top1.videodownloader a24529933f57aa46ee5a9fd3c3f7234a1642fe17 10,000+
com.santastudio.headsoccer2 86d48c25d24842bac634c2bd75dbf721bcf4e2ea 10,000+
com.ringtonemakerpro.ringtonemakerapp2019 5ce9f25dc32ac8b00b9abc3754202e96ef7d66d9 10,000+
com.hugofq.solucionariodebaldor 3bb546880d93e9743ac99ad4295ccaf982920260 10,000+
com.anit.bouncingball 6e93a24fb64d2f6db2095bb17afa12c34b2c8452 10,000+
com.dktools.liteforfb 7bc079b1d01686d974888aa5398d6de54fd9d116 10,000+
net.radiogroup.tvnradio ba29f0b4ad14b3d77956ae70d812eae6ac761bee 10,000+
com.anit.bouncingball 6E93A24FB64D2F6DB2095BB17AFA12C34B2C8452 10,000+
com.floating.tube.bymuicv 6A57D380CDDCD4726ED2CF0E98156BA404112A53 10,000+
org.cocos2dx.SpiderSolitaireGames adbb603195c1cc33f8317ba9f05ae9b74759e75b 5,000+
games.puzzle.crosssum 31088dc35a864158205e89403e1fb46ef6c2c3cd 5,000+
dots.yellow.craft 413ce03236d3604c6c15fc8d1ec3c9887633396c 5,000+
com.tvngroup.ankina.reminderWater 5205a5d78b58a178c389cd1a7b6651fe5eb7eb09 5,000+
com.hdevs.ringtonemaker2019 ba5a4220d30579195a83ddc4c0897eec9df59cb7 5,000+
com.carlosapps.solucionariodebaldor 741a95c34d3ad817582d27783551b5c85c4c605b 5,000+
com.mngh1.flatmusic 32353fae3082eaeedd6c56bb90836c89893dc42c 5,000+
com.tvn.app.smartnote ddf1f864325b76bc7c0a7cfa452562fe0fd41351 1,000+
com.thrtop.alldownloader f46ef932a5f8e946a274961d5bdd789194bd2a7d 1,000+
com.anthu91.soccercard 0913a34436d1a7fcd9b6599fba64102352ef2a4a 1,000+
com.hugofq.wismichudosmildiecisiete 4715bd777d0e76ca954685eb32dc4d16e609824f 1,000+
com.gamebasketball.basketballperfectshot e97133aaf7d4bf90f93fefb405cb71a287790839 1,000+
com.nteam.solitairefree 3095f0f99300c04f5ba877f87ab86636129769b1 100+
com.instafollowers.hiketop 3a14407c3a8ef54f9cba8f61a271ab94013340f8 1+

Servidor C&C

http://35.198.197[.]119:8080

Técnicas de MITRE ATT&CK

Tactic ID Name Description
Initial Access T1475 Deliver Malicious App via Authorized App Store The malware impersonates legitimate services on Google Play
Persistence T1402 App Auto-Start at Device Boot An Android application can listen for the BOOT_COMPLETED broadcast, ensuring that the app's functionality will be activated every time the device starts
Impact T1472 Generate Fraudulent Advertising Revenue Generates revenue by automatically displaying ads

Agradecimientos a @jaymin9687 por presentarnos el problema de anuncios no deseados en la aplicación “Video downloader master”.