Detectamos uma campanha de adware que esteve ativa por cerca de um ano e que envolveu uma série de aplicativos que foram instalados oito milhões de vezes apenas no Google Play.

Identificamos 42 aplicativos no Google Play pertencentes à campanha, que estavam em execução desde Julho de 2018. Destes, 21 ainda estavam disponíveis no momento da descoberta. Reportamos os aplicativos à equipe de segurança do Google e os apps foram rapidamente removidos. No entanto, os aplicativos ainda estão disponíveis em outras lojas de app. A ESET detecta esse adware como Android/AdDisplay.Ashas.

Imagem 1: Aplicativos da família Android/AdDisplay.Ashas reportados ao Google pela ESET.

Imagem 2: O aplicativo mais popular usado para distribuir a família Android/AdDisplay.Ashas no Google Play foi o "Video Downloader Master" com mais de cinco milhões de downloads.

Recurso do Ashas

Além de funcionarem como adware, todos os aplicativos oferecem o recurso que prometem. O recurso do adware é o mesma em todos os aplicativos que analisamos. Nota: a análise do recurso abaixo descreve um único aplicativo, mas se aplica a todos os aplicativos da família Android/AdDisplay.Ashas.

Uma vez iniciado, o aplicativo começa a se comunicar com o seu servidor C&C (cujo endereço IP está codificado na base64 no aplicativo) para enviar dados sobre o dispositivo afetado: tipo de dispositivo, versão do sistema operacional, idioma, número de aplicativos instalados, espaço de armazenamento livre, estado da bateria, se o dispositivo está rooteado, se o "modo de desenvolvimento" está ativado e se o Facebook e o FB Messenger estão instalados.

Imagem 3: Envio de informações sobre o dispositivo afetado.

O aplicativo recebe dados de configuração do servidor C&C necessários para exibir anúncios, bem como para permanecer oculto e persistente.

Imagem 4: Arquivo de configuração recebido do servidor C&C.

Quanto aos métodos para permanecer indetectável e persistir, o atacante faz uso de vários truques.

Primeiro, o aplicativo malicioso tenta determinar se está sendo testado pelo mecanismo de segurança do Google Play. Para este efeito, o app recebe do servidor C&C o indicador isGoogleIp, que informa se o endereço IP do dispositivo afetado está dentro do intervalo de endereços IP conhecidos dos servidores Google. Se o servidor retornar este indicador como positivo, o aplicativo não ativará o payload do adware.

Em segundo lugar, o aplicativo pode definir um atraso personalizado entre a exibição de anúncios. As amostras que analisamos tinham uma configuração para atrasar a exibição do primeiro anúncio 24 minutos após o dispositivo ser desbloqueado. Este atraso significa que um procedimento de teste típico, que demora menos de 10 minutos, não detectará qualquer comportamento indesejado. Além disso, quanto maior for o atraso, menor será o risco do usuário associar anúncios não desejados a uma determinado aplicativo.

Em terceiro lugar, dependendo da resposta do servidor, o aplicativo também pode ocultar seu ícone e criar um atalho. Se um usuário típico tentar se livrar do aplicativo malicioso, é provável que apenas o atalho seja removido e que o aplicativo continue sendo executado em segundo plano sem o conhecimento do usuário. Esta técnica de mascaramento ganhou popularidade entre as ameaças relacionadas com adware propagadas através do Google Play.

Imagem 5: Atraso de tempo para adiar a exibição de anúncios implementados pelo adware.

No momento em que o aplicativo malicioso receber seus dados de configuração, o dispositivo afetado estará pronto para exibir anúncios de acordo com a escolha do atacante - onde cada anúncio é exibido em tela inteira. Se o usuário quiser verificar qual aplicativo é responsável pelo anúncio exibido, ao pressionar o botão "Aplicativos recentes" outro truque pode ser utilizado: o aplicativo exibe um ícone do Facebook ou do Google, como apresentado na Imagem 6. O adware imita esses dois aplicativos para parecer legítimo e evitar suspeitas, e assim permanecer no dispositivo afetado o maior tempo possível.

Imagem 6: A atividade de adware se faz passar pelo Facebook (esquerda), mas ao pressionar o ícone do app, o nome do aplicativo responsável pela atividade é revelado (direita).

A família de adware Ashas tem seu código oculto com o nome do pacote com.google.xxx. Este truque, mascarado como um serviço legítimo do Google, pode ajudar a evitar a verificação. Alguns mecanismos de detecção e sandboxes podem incluir esses nomes de pacotes em uma lista branca, na tentativa de evitar o desperdício de recursos.

Imagem 7: Código malicioso escondido em um pacote chamado "com.google".

Procurando o desenvolvedor

Usando informações de código aberto, rastreamos o desenvolvedor do adware, que também identificamos como o operador da campanha e o proprietário do servidor C&C. Nos parágrafos seguintes, descrevemos nossos esforços para descobrir outros aplicativos do mesmo desenvolvedor e proteger nossos usuários contra eles.

Primeiro, com base nas informações associadas ao domínio C&C registado, identificamos o nome de quem o registrou, juntamente com outros dados, como país e endereço de e-mail, como pode ser visto na Imagem 8.

Imagem 8: Informações sobre o domínio C&C utilizado pelo adware Ashas.

Sabendo que as informações fornecidas a um fornecedor de serviços de registo de domínio podem ser falsas, continuamos a nossa pesquisa.

O endereço de e-mail e a informação sobre o país nos levaram a uma lista de estudantes que frequentavam uma aula em uma universidade vietnamita - confirmando a existência da pessoa em cujo nome o domínio estava registado.

Imagem 9: Uma lista de estudantes universitários que inclui o registrante do domínio C&C.

Devido as péssimas práticas de privacidade por parte da universidade, sabemos agora a sua data de nascimento do desenvolvedor (provavelmente: ele aparentemente usou seu ano de nascimento como parte de seu endereço no Gmail, o que poderia ser uma confirmação parcial adicional), sabemos que ele era um estudante e qual universidade frequentou. Também foi possível confirmar que o número de telefone que informou ao fornecedor de serviços de registo de domínios era genuíno. Além disso, recuperamos o seu ID Universitário e, com uma pesquisa rápida no Google, conseguimos ver alguns dos resultados de suas provas. No entanto, os resultados de seu estudo estão fora do alcance de nossa pesquisa.

De acordo com o endereço de e-mail do nosso culpado, conseguimos encontrar o seu repositório do GitHub. Seu repositório prova que ele é um desenvolvedor para Android, mas não encontramos nenhum código público de adware Ashas no momento da produção deste texto.

No entanto, uma simples pesquisa no Google pelo nome do pacote de adware nos informou sobre um projeto "TestDelete" que estava disponível em seu repositório em algum momento.

O desenvolvedor malicioso também tem aplicativos na App Store da Apple. Alguns deles são versões iOS de aplicativos que foram removidos do Google Play, mas nenhum deles contém recursos de adware.

Imagem 10: Aplicativos maliciosos do desenvolvedor publicados na App Store que não contêm o adware Ashas.

Pesquisando mais sobre as atividades desse desenvolvedor, também descobrimos seu canal no YouTube, que propaga o adware Ashas e outros projetos. Quanto à família Ashas, um dos vídeos promocionais associados, "Head Soccer World Champion 2018 - Android, ios" teve quase três milhões de reproduções e outros dois alcançaram centenas de milhares de visualizações, como mostra a Imagem 11.

Imagem 11: Canal do desenvolvedor no YouTube.

Seu canal no YouTube nos forneceu outras informações valiosas: ele mesmo aparece em um tutorial em vídeo para um de seus outros projetos. Graças a esse projeto, conseguimos chegar ao seu perfil no Facebook, que menciona seus estudos na referida universidade.

Imagem 12: Perfil do Facebook da pessoa que registrou o domínio C&C (imagem de capa e de perfil editados).

Vinculados ao perfil do desenvolvedor no Facebook, descobrimos uma página no Facebook, - Minigameshouse - e um domínio associado, o minigameshouse[.]net. Este domínio é semelhante ao utilizado pelo autor do malware para a sua comunicação do adware C&C, minigameshouse [.]us.

A verificação desta página do Minigameshouse também indica que esta pessoa é realmente a proprietária do domínio minigameshouse [.]us: o número de telefone registrado neste domínio é o mesmo que o número de telefone que aparece na página do Facebook.

Imagem 13: A página do Facebook gerenciada pelo registrante de domínio C&C usa o mesmo nome de domínio base (mini-jogos) e número de telefone que os C&C maliciosos registrados usados pelo adware Ashas.

É interessante que na página do Facebook de Minigameshouse, além da família Ashas, o desenvolvedor promove muitos jogos para download no Google Play e na App Store. No entanto, todos eles foram removidos do Google Play, apesar do fato de que alguns deles não contêm qualquer recurso de adware. Também pudemos ver que os sites que ele visitou recentemente eram páginas do Google Play pertencentes a aplicativos contendo adware Ashas. Ele também usou no vídeo a sua conta de e-mail para entrar em vários serviços, o que o identifica como o proprietário do domínio de adware, sem qualquer tipo de dúvida.

Além de tudo isso, um dos vídeos maliciosos do desenvolvedor no YouTube, um tutorial sobre o desenvolvimento de um "Jogo Instantâneo" para o Facebook, serve como um exemplo de segurança operacional completamente ignorada. Além disso, graças ao vídeo, fomos capazes de identificar três outros aplicativos que continham recurso de adware e estavam disponíveis no Google Play.

Imagem14: As capturas de tela do vídeo desse desenvolvedor no YouTube mostram o histórico de verificação do adware Ashas no Google Play.

Telemetria da ESET

Imagem 15: Deteções da ESET para Android/AdDisplay.Ashas em dispositivos Android por país.

O adware é perigoso?

Como a natureza real dos aplicativos contendo adware está geralmente escondida “aos olhos” do usuário, esses aplicativos e seus desenvolvedores não podem ser considerados como confiáveis. Quando instalados em um dispositivo, aplicativos contendo adware podem, entre outras coisas:

  • Incomodar aos usuários com anúncios intrusivos, incluindo anúncios fraudulentos,
  • Desperdiçar os recursos da bateria do dispositivo,
  • Gerar mais tráfego de rede,
  • Coletar informações pessoais dos usuários,
  • Ocultar sua presença no dispositivo afetado para obter persistência,
  • Obter lucro financeiro para sua operadora sem interação com o usuário.

Conclusão

Baseado unicamente em inteligência de código aberto, conseguimos rastrear o desenvolvedor do adware Ashas, estabelecer sua identidade e descobrir aplicativos adicionais infectados com adware. Observando que o desenvolvedor não tomou quaisquer medidas para proteger sua identidade, parece provável que suas intenções não foram desonestas no início, e isso também é apoiado pelo fato de que nem todos os seus aplicativos publicados continham anúncios indesejados.

Em algum momento no Google Play, o desenvolvedor aparentemente decidiu aumentar seus lucros com publicidade através da implementação do recurso de adware no código de seus aplicativos. As várias técnicas de ocultação e resistência implementadas no adware nos mostram que o culpado estava ciente da natureza maliciosa do recurso adicional e tentou mantê-lo escondido.

A introdução de recurso indesejados ou prejudiciais em aplicativos populares e “benignos” é uma prática comum entre desenvolvedores com más intenções, e estamos comprometidos em rastrear esses aplicativos. Informamos ao Google e tomamos outras medidas para interromper as campanhas maliciosas que descobrimos. Publicamos nossas descobertas para ajudar os usuários a saber como se proteger.

Indicadores de Comprometimento (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

Agradecemos a @jaymin9687 por nos apresentar o problema dos anúncios indesejados no aplicativo "Video downloader master".