Android Banking Trojan Roubando Dados Do Usuário Por Meio De Gravação De Tela E Keylogging
Em setembro de 2021, a Equipe de Resposta a Emergências de Computadores da Índia (CERT-In) emitiu um aviso sobre uma nova variedade de malware direcionada aos contribuintes indianos e mencionou que clientes de cerca de 27 bancos corriam o risco desse ataque.
Os Threat Actors (TA) por trás dessa campanha eram suspeitos de usar o malware Drinik. Uma variante inicial do malware Drinik foi detectada pela primeira vez em 2016 como um ladrão de SMS. Por volta de agosto de 2021, observou-se que o malware estava ativo novamente, desta vez evoluindo para um trojan bancário Android.
O Cyble Research & Intelligence Labs (CRIL) monitora constantemente as diferentes variantes do malware Drinik Android. Em setembro de 2021, a CRIL lançou um blog sobre um aplicativo de imposto de renda mascarado que visava os contribuintes indianos a roubar informações de identificação pessoal (PII) e credenciais bancárias por meio de ataques de phishing.
Recentemente, o CRIL identificou uma versão atualizada do Drinik representando o Departamento de Imposto de Renda da Índia e visando 18 bancos indianos (os nomes dos bancos são explicitamente mencionados no arquivo APK malicioso).
O TA usa o mesmo tema de campanha para atrair a vítima, mas o malware foi atualizado com recursos avançados. Listamos os principais recursos implementados na nova variante, tornando o malware uma ameaça avançada:
- Gravação de tela para coletar credenciais
- Keylogging
- Abusando do CallScreeningService para gerenciar as chamadas recebidas
- Recebendo comandos via FirebaseCloudMessaging
A variante de malware está se comunicando com o servidor Command & Control (C&C) hxxp://gia[.]3utilities.com, que está hospedado no IP 198[.]12.107[.]13 . Nossa investigação confirmou que a campanha anterior também usou o mesmo IP para sua comunicação C&C, indicando que o Threat Actor (TA) por trás de ambas as campanhas é o mesmo.
A figura abaixo mostra os detalhes do endereço IP do C&C e sua conexão com a campanha anterior.
Evolução De Drinik:
A CRIL observou 3 variantes diferentes deste malware desde o ano passado. A primeira variante foi observada em setembro de 2021, quando o malware usou páginas de phishing para roubar credenciais. Em 2022, duas novas variantes foram identificadas em estado selvagem, introduzindo os recursos de gravação de tela e registro de teclas.
A figura abaixo mostra a linha do tempo do malware Drinik e seus recursos.
Durante nossa investigação, descobrimos que a primeira versão usa uma página de phishing simples para roubar credenciais bancárias, enquanto a segunda versão usa gravação de tela junto com a técnica de phishing.
Por fim, a terceira e mais recente versão carrega o site genuíno do departamento de imposto de renda e usa a gravação de tela junto com uma funcionalidade de keylogging para roubar as credenciais de login. A figura abaixo mostra a página de login de três versões diferentes.
Nesta análise, analisamos a amostra mais recente “iAssist.apk (86acaac2a95d0b7ebf60e56bca3ce400ef2f9080dbc463d6b408314c265cb523)” do malware Drinik observada em 18 de outubro de 2022, que possui código adicional para abusar do CallScreeningService.
Ao abusar desse serviço, o malware pode impedir chamadas recebidas sem o conhecimento do usuário. Além disso, as strings presentes no arquivo são criptografadas para evitar a detecção por produtos antivírus, e o malware as descriptografa durante o tempo de execução usando uma lógica de descriptografia personalizada. A figura abaixo mostra o trecho de código usado pelo malware para descriptografar as strings criptografadas.
Análise Técnica
Informações De Metadados Do APK
- Nome do aplicativo: iAssist
- Nome do pacote: lincoln.auy.iAssist
- Hash SHA256: 86acaac2a95d0b7ebf60e56bca3ce400ef2f9080dbc463d6b408314c265cb523
As informações de metadados do aplicativo são mostradas abaixo.
Descrição do Manifesto
As permissões prejudiciais solicitadas pelo malware são:
Permissão | Descrição |
RECEIVE_SMS | Permite que um aplicativo receba mensagens SMS |
READ_SMS | Acessar mensagens de telefone |
ENVIAR SMS | Permite que o aplicativo envie mensagens SMS |
READ_CALL_LOG | Permite que um aplicativo leia o registro de chamadas do usuário |
READ_EXTERNAL_STORAGE | Permite que um aplicativo leia do armazenamento externo. |
WRITE_EXTERNAL_STORAGE | Permite que um aplicativo grave no armazenamento externo. |
Revisão do código-fonte
Como muitos outros trojans bancários, a nova variante do Drinik conta com o Serviço de Acessibilidade. Após o lançamento, o malware solicita que a vítima conceda permissões, seguida de uma solicitação para habilitar o Serviço de Acessibilidade.
Em seguida, ele começa a abusar do serviço para obter as permissões necessárias para iniciar a gravação de tela, desabilitar o Google Play Protect, executar gestos automáticos e capturar registros de chaves.
A variante mais recente do Drinik carrega o site de imposto de renda indiano genuíno hxxps://eportal[.]incometax.gov.in usando o WebView em vez de exibir páginas de phishing falsas.
Antes de mostrar a página de login para a vítima, o malware exibe uma tela de autenticação para verificação biométrica. Quando a vítima insere um PIN, o malware rouba o PIN biométrico gravando a tela usando o MediaProjection e também captura as teclas digitadas.
O malware agora envia os detalhes roubados para o servidor C&C, conforme mostrado abaixo.
Após a autenticação, o malware exibe o site genuíno carregado em um Webview. Drinik inicia a gravação da tela assim que a vítima insere o ID do usuário (como PAN/AADHAR/Outro ID de usuário válido) e envia a gravação para o servidor C&C.
Na versão mais recente do Drinik, o TA visa apenas vítimas com contas legítimas do site de imposto de renda.
Depois que a vítima faz login no site genuíno, o malware executa o método onPageFinished(), que verifica ainda mais o URL carregado
para validar o status de login.
O malware então verifica se o URL carregado é um dos seguintes e confirma o login bem-sucedido do usuário.
- hxxps://eportal.incometax[.]gov.in/iec/foservices/#/dashboard
- hxxps://eportal.incometax[.]gov.in/iec/foservices/#/login
Se o método onPageFinished() receber uma URL hxxps://eportal.incometax[.]gov.in/iec/foservices/#/login , isso indica que o login falhou.
O malware também pode salvar o estado de login e recuperá-lo usando o comando getLogingStat , que pode identificar se a vítima é nova ou já fez login.
Se a vítima for nova, o malware mostra a mensagem “Para usar esta funcionalidade, você precisa fazer login primeiro!” e solicita que eles façam login. Caso contrário, o malware iniciará a atividade de phishing, considerando que o usuário fez login com sucesso. A figura abaixo mostra o trecho de código para receber o status de login.
Após o login bem-sucedido, o site genuíno redireciona para a URL do painel “ hxxps://eportal.incometax[.]gov.in/iec/foservices/#/dashboard ”. O malware agora verifica se esta URL está no método onPageFinished() e exibe uma caixa de diálogo falsa mencionando a mensagem abaixo:
Nosso banco de dados indica que você é elegível para um reembolso de imposto instantâneo de Rs.57.100.\ – de seus erros de cálculo anteriores até a data. Clique em Aplicar para solicitar reembolso instantâneo e receba seu reembolso em sua conta bancária registrada em minutos.
Quando a vítima clica no botão “Aplicar”, o malware abre a URL de phishing hxxp://gia.3utilities[.]com/Refund/redir.php?i=RefundApproved&source=App&uid= conforme mostrado na figura abaixo.
O URL de phishing redireciona para: hxxp://192.227.196[.]185/1305275237/uv4h.php?action=Refund_Approved&id=YWI1MzYxY0A3OTEyNDA0MzY2NTMuY29t&owner=QWRtaW4%3D&source=App&uid= site que se faz passar pelo genuíno Departamento de Imposto de Renda da Índia para atrair vítimas para envio de dados sensíveis.
Depois de clicar no botão “Prosseguir para as etapas de verificação”, o malware solicita que a vítima envie detalhes pessoais, como nome completo, número Aadhar, número PAN e outros detalhes junto com informações financeiras, que incluem número da conta, número do cartão de crédito, CVV e PIN.
Esses dados roubados são enviados para o servidor C&C e podem ser usados pelo TA para realizar transações fraudulentas.
Após enviar os detalhes, o malware exibe a página de confirmação com todos os detalhes inseridos pela vítima. Além disso, ele solicita que a vítima verifique os detalhes do ITR (Declaração de Imposto de Renda) usando credenciais bancárias líquidas.
Além de roubar credenciais por meio de gravação de tela e páginas de phishing, também observamos o malware visando bancos indianos ao abusar do Serviço de Acessibilidade.
Sempre que algum evento aciona o Serviço de Acessibilidade, o malware verifica a origem do evento com as palavras-chave do banco armazenadas em uma chave de preferência compartilhada “newCLICKJACK”. Se a palavra-chave corresponder, o malware coletará os dados de keylogging, que podem conter credenciais bancárias.
O malware registrou um CallScreeningService no arquivo de manifesto. Discadores padrão ou aplicativos de terceiros usam o CallScreeningService para permitir ou proibir chamadas recebidas antes de exibi-las aos usuários.
O malware Drinik abusa desse serviço para impedir chamadas recebidas, provavelmente para impedir a interrupção de qualquer atividade maliciosa em andamento, e envia o status da chamada recebida para o servidor C&C.
O malware recebe o comando via FirebaseCloudMessaging (FCM) e os salva na variável “processCMD”.
O malware executa ainda a respectiva tarefa maliciosa com base nos comandos recebidos do FCM para realizar outras atividades maliciosas em um dispositivo infectado. Alguns dos comandos recebidos via FCM são:
Comando | Descrição |
VERIFICAR CELULAR | Verifique o status de registro do dispositivo |
OPENAPPCOMPONENT | Inicia a atividade do componente do aplicativo recebida do servidor |
GETAUTOCMD | Envia o valor AutoCMD do arquivo de preferência compartilhado para o servidor C&C |
DISABLE_ICON | Esconde o ícone |
KILLSOUND | Áudio silencioso para chamadas e notificações |
VERIFICAR SOBREPOSIÇÃO | Envia o status da sobreposição |
DESAFARIZAR | Interrompe o serviço em primeiro plano |
Conclusão
Alguns trojans bancários Android conhecidos, como Hydra, BRATA, Anubis e vários outros, dependem fortemente do Serviço de Acessibilidade e desenvolveram recursos avançados ao abusar desse serviço com sucesso.
A CRIL observou que o malware Drinik também está evoluindo para uma ameaça avançada, implementando recursos poderosos que observamos em outros trojans bancários.
Nossa análise indica que o TA por trás do Drinik está constantemente trabalhando na atualização de seu malware com recursos novos e avançados. O TA inicialmente começou a desenvolver malware implementando páginas de phishing sofisticadas para coleta de credenciais. No entanto, nossas observações mostram que eles aprimoraram sua estrutura com recursos avançados, como gravação de tela e keylogging para roubar credenciais de sites de imposto de renda genuínos, credenciais bancárias e detalhes biométricos.
O malware ainda está em desenvolvimento e podemos observar uma nova variante do malware Drinik com novos alvos e técnicas para atingir suas vítimas.
Nossas Recomendações
- Baixe e instale software apenas de lojas de aplicativos oficiais, como Play Store ou iOS App Store.
- Nunca compartilhe seus dados do cartão, número CVV, PIN do cartão e credenciais do Net Banking com uma fonte não confiável.
- Habilite recursos de segurança biométrica como impressão digital ou reconhecimento facial para desbloquear o dispositivo móvel para evitar acesso não autorizado obtido por meio de atividades maliciosas, como keylogging e gravação de tela.
- O uso de um pacote de software antivírus e de segurança da Internet de renome é recomendado em dispositivos conectados, incluindo PC, laptops e dispositivos móveis.
- Use senhas fortes e imponha a autenticação multifator sempre que possível.
- Tenha cuidado ao abrir links recebidos por SMS ou e-mails entregues no seu telefone.
- Certifique-se de que o Google Play Protect esteja ativado em dispositivos Android.
- Tenha cuidado ao habilitar quaisquer permissões.
- Mantenha seus dispositivos, sistemas operacionais e aplicativos atualizados.
Técnicas MITRE ATT&CK®
Tática | ID da técnica | Nome da técnica |
Acesso inicial | T1476 | Entregue o aplicativo malicioso por outros meios. |
Acesso inicial | T1444 | Masquerade como um aplicativo legítimo |
Evasão de Defesa | T1418 | Descoberta de aplicativos |
Descoberta | T1426 | Descoberta de informações do sistema |
Impacto | T1616 | Controle de chamadas |
Coleção | T1513 | Captura de tela |
Persistência | T1402 | Receptores de transmissão |
Coleção | T1412 | Capturar mensagens SMS |
Acesso de credencial | T1411 | Solicitação de entrada |
Exfiltração | T1567 | Exfiltração por serviço da Web |
Indicadores De Compromisso (IOCs)
Indicadores | Tipo de indicador | Descrição |
86acaac2a95d0b7ebf60e56bca3ce400ef2f9080dbc463d6b408314c265cb523 | SHA256 | Hash do arquivo APK analisado |
ba2fb55bb89c98aec3a2130b22584d8c299451ba | SHA1 | Hash do arquivo APK analisado |
0c6257e385f33e46c1839f59bc4b53d7 | MD5 | Hash do arquivo APK analisado |
hxxp://gia.3utilities[.]com | URL | URL de C&C |
hxxp://192[.]227.196.185 | URL | Hospedagem de IP malicioso site ITR falso |
198[.]12.107[.]13 | IP | Servidor C&C de hospedagem IP |
Fonte: Cyble
Descubra mais sobre DCiber
Assine para receber os posts mais recentes por e-mail.