Os pesquisadores da ESET analisaram um aplicativo para Android extremamente perigoso que pode executar uma série de ações terríveis. Entre as atividades maliciosas, a ameaça pode limpar contas bancárias ou carteiras de criptomoedas das vítimas, bem como sequestrar contas de e-mail ou redes sociais. Chamado "Defensor ID", esse trojan bancário estava disponível na Google Play Store no momento da nossa análise. Embora o aplicativo conte com recursos que proporcionam o roubo de informações, uma das coisas que torna esse trojan bancário excepcionalmente perigoso é que, após a instalação, a ameaça requer uma única ação por parte da vítima – ativar o Serviço de Acessibilidade do Android - para liberar completamente seu recurso malicioso.

O aplicativo Defensor ID conseguiu chegar à Google Play devido a sua enorme cautela. Os criadores da ameaça reduziram ao mínimo a superfície maliciosa do aplicativo, eliminando todos os recursos potencialmente maliciosos, exceto um: atacar o Serviço de Acessibilidade.

O Serviço de Acessibilidade é conhecido há muito tempo como o “calcanhar de Aquiles” do sistema operacional Android. E, embora as soluções de segurança possam detectar o uso combinado de serviços de acessibilidade, juntamente com outras permissões, funções suspeitas ou recursos maliciosos, no caso do Defensor ID, todas essas detecções falharam na hora de ativar qualquer alarme diante da inexistência de um recurso adicional ou permissão.

Por "todas", entendemos os mecanismos de segurança que protegem a loja oficial de aplicativos para Android (incluindo os mecanismos de detecção dos membros do App Defense Alliance) e todos os provedores de segurança que participam do programa VirusTotal (veja a Figura 1).

Figura 1. De acordo com o serviço VirusTotal, nenhum fornecedor de segurança detectou o aplicativo Defensor ID até o momento de ser removido da Google Play Store.

O Defensor ID foi lançado em 3 de fevereiro de 2020 e atualizado pela última vez para a versão 1.4 em 6 de maio de 2020. Nesta publicação, analisamos a versão mais recente; embora não possamos determinar se as versões anteriores também eram maliciosas. De acordo com o seu perfil na Google Play Store (veja a Figura 2), o aplicativo atingiu apenas mais de 10 downloads. Comunicamos a existência da ameaça à Google em 16 de maio de 2020 e, no dia 19 de maio de 2020, o aplicativo foi removido da Google Play Store.

O desenvolvedor do app se apresentava como "GAS Brazil", o que sugere que os cibercriminosos por trás desse aplicativo estavam enfocados em usuários brasileiros. Além de incluir o nome do país, o nome do aplicativo provavelmente reflete a intenção de mostrar relação com a solução antifraude chamada "GAS Tecnologia". Esse software de segurança é geralmente instalado em computadores no Brasil, pois vários bancos exigem seu uso ao efetuar login no serviço de internet banking. No entanto, além da versão em português, o Defensor ID também poderia ser visto na versão em inglês (veja a Figura 3). O aplicativo não contava com restrições geográficas ou de idioma.

Além de uma suposta relação com o desenvolvedor GAS Tecnologia, o aplicativo promete maior segurança para os usuários. A descrição em português promete mais proteção para aplicativos do usuário, incluindo criptografia de ponta a ponta. Enganosamente, o aplicativo foi listado na seção Educação.

Figura 2. O aplicativo Defensor ID na Google Play - versão em português ("Seu novo aplicativo Defensor ID disponível para: Pessoas físicas/jurídicas. A partir de agora você terá mais proteção ao usar seus aplicativos, criptografia de ponta a ponta para os usuários").

Figura 3. O aplicativo Defensor ID na Google Play - versão em inglês.

Recurso

Após a instalação, o Defensor ID solicita as seguintes permissões:

  • permissão para modificar as configurações do sistema
  • permissão para ser exibido em outros aplicativos
  • ativar serviços de acessibilidade

Caso um usuário desatento conceda essas permissões (veja a Figura 4), o trojan poderá ler qualquer texto exibido, em qualquer aplicativo iniciado pelo usuário, e enviá-lo aos atacantes. Isso significa que os atacantes podem roubar: dados de acesso da vítima para fazer login em aplicativos, SMS e mensagens de e-mail, chaves privadas de criptomoedas que tenham sido abertas e até códigos de duplo fator de autenticação (2FA) gerados através de um software.

O fato de o trojan poder roubar as credenciais da vítima e ter acesso às mensagens SMS e aos códigos 2FA gerados significa que os operadores do Defensor ID podem evitar o duplo fator de autenticação. Isso permite que, por exemplo, eles assumam o controle total da conta bancária da vítima.

Para garantir que o trojan sobreviva à reinicialização do dispositivo, a ameaça ataca os serviços de acessibilidade já ativados que permitirão que o trojan seja executado logo após a reinicialização do dispositivo.


Figura 4. Permissões solicitadas pelo Defensor ID.

Nossa análise mostra que o trojan Defensor ID pode executar 17 comandos recebidos do servidor controlado pelo atacante, por meio dos quais pode desinstalar um aplicativo, iniciar um aplicativo e executar qualquer ação de clique/toque controlada remotamente pelo atacante (veja a Figura 5).

Figura 5. A lista de comandos que o Defensor ID pode obter do seu servidor C&C.

Em 2018, verificamos um comportamento semelhante, mas todas as ações de clique foram codificadas e adequadas apenas para o aplicativo escolhido pelo atacante. Nesse caso, o atacante pode obter a lista de todos os aplicativos instalados no computador da vítima e iniciar remotamente o aplicativo de sua escolha para roubar dados de acesso ou executar ações maliciosas (por exemplo, enviar fundos através de uma transferência bancária).

Acreditamos que esse é o motivo pelo qual o trojan Defensor ID solicita ao usuário que ative a permissão "Modificar configurações do sistema". Posteriormente, o malware altera o tempo limite da tela para 10 minutos. Isso significa que, a menos que as vítimas bloqueiem seus dispositivos usando o botão do computador, o cronômetro fornece tempo suficiente para que o malware execute remotamente operações maliciosas no aplicativo.

Se o dispositivo estiver bloqueado, o malware não poderá desbloqueá-lo.

Vazamento de dados provocado pelo malware

Quando analisamos a amostra, percebemos que os operadores desse malware deixaram o banco de dados remoto com alguns dos dados das vítimas livremente acessíveis, sem qualquer autenticação. O banco de dados continha as atividades mais recentes executadas em cerca de 60 dispositivos comprometidos. Não encontramos nenhuma outra informação roubada das vítimas que estivesse acessível.

Graças a esse vazamento de dados, foi possível confirmar que o malware realmente funcionava como projetado: o atacante tinha acesso às credenciais da vítima, e-mails e mensagens exibidas ou escritas, etc.

Quando chegamos ao banco de dados aberto, foi possível observar o comportamento malicioso do aplicativo. Para ilustrar o nível de ameaça que o aplicativo Defensor ID representava, realizamos três testes.

No primeiro teste, iniciamos um aplicativo bancário e inserimos as credenciais de acesso. As credenciais que inserimos estavam imediatamente disponíveis no banco de dados exposto - veja a Figura 6.

Figura 6. Teste do aplicativo bancário: credenciais inseridas (esquerda) e disponíveis no banco de dados (direita).

No segundo momento, escrevemos uma mensagem de teste para um cliente de e-mail. Um segundo depois, a mensagem foi carregada no servidor dos atacantes - veja a Figura 7.

Figura 7. Teste da mensagem de e-mail: a mensagem como ela foi escrita (acima) e no formato em que aparece disponível no banco de dados (abaixo).

No terceiro teste, documentamos como o trojan recupera o código do duplo fator de autenticação do Google Authenticator.

Figura 8. O código de duplo fator de autenticação gerado pelo aplicativo assim como apareceu na tela do dispositivo (acima) e da maneira como está disponível no banco de dados (abaixo).

Juntamente com o aplicativo Defensor ID, outro app malicioso chamado Defensor Digital foi descoberto. Ambos os aplicativos compartilhavam o mesmo servidor C&C, mas não foi possível investigar o Defensor Digital, pois ele já havia sido removido da loja virtual Google Play Store.

Indicadores de Comprometimento (IoCs)

Package Name Hash ESET detection name
com.secure.protect.world F17AEBC741957AA21CFE7C7D7BAEC0900E863F61 Android/Spy.BanBra.A
com.brazil.android.free EA069A5C96DC1DB0715923EB68192FD325F3D3CE Android/Spy.BanBra.A

Técnicas de MITRE ATT&CK

Tactic ID Name Description
Initial Access    T1475 Deliver Malicious App via Authorized App Store Impersonates security app on Google Play.
T1444 Masquerade as Legitimate Application Impersonates legitimate GAS Tecnologia application.
Discovery T1418 Application Discovery Sends list of installed apps on device.  
Impact   T1516 Input Injection Can enter text and perform clicks on behalf of user.
Collection T1417 Input Capture Records user input data.
Command and Control T1437 Standard Application Layer Protocol Uses Firebase Cloud Messaging for C&C.