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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Telemetría de ESET
¿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”.