Pesquisa GReAT

BeatBanker: um trojan de dupla função para Android

Recentemente, descobrimos o BeatBanker, uma campanha de malware para Android voltada ao Brasil. Ele se espalha principalmente por meio de ataques de phishing em um site disfarçado da Google Play Store. Para atingir seus objetivos, os arquivos APK maliciosos contêm vários componentes: um minerador de criptomoedas e um trojan bancário capaz de obter o controle total do dispositivo, fazer spoofing de telas e muito mais. Em uma campanha mais recente, os atacantes substituíram o trojan bancário por um RAT conhecido.

Esta postagem do blog descreve as fases de atividade do malware no dispositivo da vítima, como ele garante persistência a longo prazo e como se comunica com os pools de mineração.

Principais resultados:

  • Para manter a persistência, o trojan usa um mecanismo criativo: ele reproduz um arquivo de áudio quase inaudível de forma contínua para impedir o seu encerramento. Isso nos inspirou a apelidá-lo de BeatBanker.
  • Ele monitora a temperatura e a porcentagem da bateria, além de verificar se o dispositivo está sendo usado pelo usuário.
  • Em vários estágios do ataque, o BeatBanker se passa por um aplicativo legítimo na Google Play Store e na própria Play Store.
  • Ele contém um trojan bancário e um minerador de criptomoedas.
  • Quando o usuário tenta fazer uma transação em USDT, ele cria overlays para Binance e Trust Wallet e troca, sem o usuário perceber, o endereço de destino pelo endereço do threat actor.
  • As novas amostras instalam o BTMOB RAT em vez do módulo bancário.

Vetor de infecção inicial

A campanha começa com um site falso, o cupomgratisfood[.]shop, que se parece exatamente com a loja Google Play. A loja de aplicativos falsa contém o aplicativo “INSS Reembolso”, que, na verdade, é um trojan. Ela também contém outros aplicativos que provavelmente também são trojans, mas não os obtivemos.

O aplicativo “INSS Reembolso” finge ser o portal móvel oficial do Instituto Nacional do Seguro Social (INSS), o serviço do governo brasileiro que permite aos cidadãos acessar mais de 90 tarefas relacionadas com a previdência social, desde solicitações de aposentadoria e agendamento de exames médicos até a visualização do CNIS (Cadastro Nacional de Informações Sociais) e de declarações fiscais e de pagamento, além de rastrear o status de solicitações. Ao se passar por essa plataforma confiável, a página falsa induz os usuários a baixar o arquivo APK malicioso.

Packing

O arquivo APK inicial é empacotado e usa uma biblioteca compartilhada nativa (ELF), denominada libludwwiuh.so, incluída no aplicativo. Sua principal tarefa é descriptografar outro arquivo ELF, que finalmente carregará o arquivo DEX original.

Primeiro, o libludwwiuh.so descriptografará um arquivo ELF criptografado incorporado e o gravará em um local temporário no dispositivo sob o nome l.so. Em seguida, o mesmo código que carregou a biblioteca libludwwiuh.so carrega esse arquivo, que então usa a Java Native Interface (JNI) para continuar a execução.

l.so – o loader de DEX

A biblioteca não tem chamadas para suas funções; em vez disso, ela chama diretamente os métodos Java, cujos nomes são criptografados na stack usando XOR (técnica de strings em stack) e restaurados em tempo de execução:

Inicialmente, o loader faz uma solicitação a https://ipapi.is para coletar algumas informações de rede e detectar se o dispositivo infectado é móvel, se uma VPN está sendo usada, o endereço IP e outras informações.

Esse loader foi projetado para burlar produtos antivírus móveis usando o dalvik.system.InMemoryDexClassLoader. Ele carrega o código DEX malicioso diretamente na memória, evitando a criação de arquivos no sistema de arquivos do dispositivo. Os arquivos DEX necessários podem ser extraídos usando ferramentas de análise dinâmica, como a Frida.

Além disso, a amostra incorpora técnicas de antianálise, incluindo verificações de tempo de execução para ambientes emulados ou de análise. Ao detectar esse ambiente (ou quando verificações específicas falham, como a verificação do CPU_ABI compatível), o malware pode encerrar imediatamente o seu próprio processo invocando android.os.Process.killProcess(android.os.Process.myPid()), acabando por se autodestruir para impedir a análise dinâmica.

Após a execução, o malware exibe uma interface de usuário que imita a página da Google Play Store e traz uma atualização para o aplicativo INSS Reembolso disponível. O objetivo é induzir as vítimas a conceder permissões de instalação ao tocar no botão “Atualizar”, permitindo assim o download de códigos maliciosos adicionais ocultos.

O processo de entrega do payload imita uma atualização do aplicativo. O malware usa a permissão REQUEST_INSTALL_PACKAGES para instalar arquivos APK diretamente na memória, burlando assim o Google Play. Para garantir a persistência, o malware mantém uma notificação de atualização do sistema fixada em primeiro plano e ativa um serviço em primeiro plano com reprodução silenciosa de mídia, uma tática criada para evitar que o sistema operacional encerre o processo malicioso.

Mineração de criptomoedas

Quando a vítima clica em ATUALIZAR em uma tela falsa da Play Store, o aplicativo malicioso baixa e executa um arquivo ELF contendo um payload de mineração de criptomoedas. Ele começa emitindo uma solicitação GET ao servidor de C2 em hxxps://accessor.fud2026.com/libmine-<arch>.so ou hxxps://fud2026.com/libmine-<arch>.so. O arquivo baixado é então descriptografado usando CipherInputStream(), e a chave de descriptografia deriva do hash SHA-1 do nome do arquivo baixado, garantindo que cada versão do arquivo seja criptografada com uma chave exclusiva. O arquivo resultante é renomeado para d-miner.

O payload descriptografado é um binário XMRig 6.17.0 compilado para ARM. Ele tenta criar uma conexão TCP direta com pool.fud2026[.]com:9000 em tempo de execução. Se for bem-sucedido, usa esse endpoint; caso contrário, alternará automaticamente para o proxy pool-proxy.fud2026[.]com:9000. Os argumentos finais de linha de comando passados ao XMRig são os seguintes:

  • -o pool.fud2026[.]com:9000 ou pool-proxy.fud2026[.]com:9000 (selecionado de forma dinâmica)
  • -k (keepalive)
  • --tls (conexão criptografada)
  • --no-color (desativa a saída colorida)
  • --nicehash (compatibilidade com o protocolo NiceHash)

Telemetria de C2

O malware usa o Firebase Cloud Messaging (FCM) legítimo do Google como o principal canal de comando e controle (C2). Na amostra analisada, cada mensagem do FCM recebida acionava uma verificação do status da bateria, temperatura, data de instalação e presença do usuário, após a qual um minerador de criptomoeda oculto era iniciado ou interrompido conforme necessário. Todos esses mecanismos juntos garantem que os dispositivos infectados permaneçam permanentemente acessíveis e respondam às instruções dos atacantes, que são enviadas por meio da infraestrutura do FCM. O atacante monitora as seguintes informações:

  • isCharging: indica se o telefone está carregando;
  • batteryLevel: mostra a porcentagem exata da bateria;
  • isRecentInstallation: indica se o aplicativo foi instalado recentemente (se foi, o implante atrasa as ações maliciosas);
  • isUserAway: mostra se o usuário está longe do dispositivo (tela desligada e inativa);
  • superaquecimento: indica se o dispositivo está superaquecendo;
  • temp: exibe a temperatura atual da bateria.

Persistência

O componente KeepAliveServiceMediaPlayback garante operação contínua iniciando reprodução ininterrupta por meio do MediaPlayer. Ele usa uma notificação para manter o serviço ativo em primeiro plano e carrega um arquivo de áudio pequeno e contínuo. Essa atividade constante impede que o sistema suspenda ou encerre o processo por inatividade.

O áudio identificado output8.mp3 tem 5 segundos de duração, é reproduzido de forma contínua e contém algumas palavras em chinês.

Módulo bancário

O BeatBanker compromete o dispositivo com um minerador de criptomoedas e também introduz mais um arquivo APK malicioso, que atua como um trojan bancário. Este trojan usa uma permissão obtida anteriormente para instalar um arquivo APK adicional chamado INSS Reembolso, associado ao pacote com.destination.cosmetics.

Semelhante ao arquivo APK malicioso inicial, ele estabelece a persistência ao criar e exibir uma notificação fixa em primeiro plano para impedir sua remoção. Além disso, o BeatBanker tenta induzir o usuário a conceder permissões de acessibilidade ao pacote.

Com a permissão de acessibilidade adquirida, o malware controla de forma abrangente a interface de usuário do dispositivo.

O trojan monitora constantemente o aplicativo em primeiro plano. Ele tem como alvo o aplicativo oficial da Binance, identificado como (com.binance.dev) e o aplicativo Trust Wallet (com.wallet.crypto.trustapp), com foco em transações em USDT. Quando um usuário tenta sacar USDT, o trojan sobrepõe instantaneamente a tela de confirmação de transação do aplicativo alvo com uma página muito realista, originada de HTML codificado em Base64 armazenado no módulo bancário.

O módulo captura o endereço de retirada e o valor originais e, em seguida, substitui de forma sorrateira o endereço de destino por um controlado pelos atacantes usando AccessibilityNodeInfo.ACTION_SET_TEXT. A página de overlay, no entanto, mostra à vítima o endereço que ela copiou (para a Binance) ou apenas mostra o ícone de carregamento (para o Trust Wallet), o que a leva a acreditar que está enviando fundos para a carteira pretendida, enquanto, na verdade, a criptomoeda é transferida para o endereço designado do invasor.

Páginas de overlay: Binance (à esquerda) e Trust Wallet (à direita)

Páginas de overlay: Binance (à esquerda) e Trust Wallet (à direita)

O módulo bancário do BeatBanker monitora os seguintes navegadores instalados no dispositivo da vítima:

  • Chrome
  • Firefox
  • sBrowser
  • Brave
  • Opera
  • DuckDuckGo
  • Navegador Dolphin
  • Edge

Seu objetivo é coletar as URLs acessadas pela vítima usando a expressão regular ^(?:https?://)?(?:[^:/\\\\]+\\\\.)?([^:/\\\\]+\\\\.[^:/\\\\]+). Ele também oferece funcionalidades de gerenciamento (adicionar, editar, excluir, listar) para links salvos no navegador padrão do dispositivo, bem como a funcionalidade de abrir links fornecidos pelos atacantes.

Comunicação de C2

O BeatBanker também foi projetado para receber comandos do C2, que visam coletar as informações pessoais da vítima e obter o controle total do dispositivo.

Comando Descrição
0 Inicia o carregamento dinâmico da classe DEX
Update Simula a atualização do software e bloqueia a tela
msg: Exibe uma mensagem Toast com o texto fornecido
goauth<*> Abre o Google Authenticator (se instalado) e ativa a flag AccessService.SendGoogleAuth, usada para monitorar e recuperar códigos de autenticação.
kill<*> Define a flag de configuração de desvio de proteção AccessService.bypass para "True"
e define a flag initializeService.uninstall para "Off".
srec<*> Inicia ou interrompe a gravação de áudio (microfone) e salva os dados em um arquivo com nome gerado automaticamente. O formato de caminho é usado para armazenar a gravação: /Config/sys/apps/rc/<timestamp>_0REC<last5digits>.wav
pst<*> Cola texto da área de transferência (por meio dos Serviços de Acessibilidade)
GRC<*> Lista todos os arquivos de gravação de áudio existentes
gtrc<*> Envia um arquivo de gravação de áudio específico para o C2
lcm<*> Lista as resoluções da câmera frontal compatíveis
usdtress<*> Define um endereço de criptomoeda USDT quando uma transação é detectada
lnk<*> Abre um link no navegador
EHP<*> Atualiza as credenciais de login (host, porta, nome) e reinicia o aplicativo
ssms<*> Envia uma mensagem SMS (individualmente ou para todos os contatos)
CRD<*> Adiciona (E>) ou remove (D>) pacotes da lista de aplicativos bloqueados/desativados
SFD<*> Exclui arquivos (registros, gravações, tons) ou desinstala-se
adm<>lck<> Bloqueia a tela imediatamente usando as permissões do Administrador de dispositivos
adm<>wip<> Executa uma limpeza completa dos dados do dispositivo (redefinição de fábrica)
Aclk<*> Executa uma sequência de toques automáticos (clique automático) ou lista as macros existentes
KBO<*>lod Verifica o status do keylogger e do teclado virtual
KBO<*>AKP/AKA Solicita permissão para ativar um teclado virtual personalizado ou ativa um deles
KBO<*>ENB: Ativa (1) ou desativa (0) o keylogger
RPM<*>lod Verifica o status de todas as permissões críticas
RPM<*>ACC Solicita permissão aos Serviços de Acessibilidade
RPM<*>DOZ Solicita permissão do Doze/App Standby (otimização da bateria)
RPM<*>DRW Solicita permissão de Desenhar sobre outros aplicativos (overlay)
RPM<*>INST Solicita permissão para instalar aplicativos de fontes desconhecidas (Android 8+)
ussd<*> Executa um código USSD (por exemplo, *#06# para IMEI)
Blkt<*> Define o texto para o overlay de bloqueio
BLKV<*> Ativa ou desativa o bloqueio de tela cheia usando WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY para exibir um elemento preto FrameLayout em toda a tela
SCRD<> / SCRD2<> Ativa/desativa a submissão de texto em tela em tempo real ao C2 (leitura de tela)
rdall<*> Limpa ou envia todos os registros do keylogger
rdd<*> Exclui um arquivo de registro específico
rd<*> Envia o conteúdo de um arquivo de keylogger específico
MO<*> Gerencia o monitoramento do aplicativo (adicionar, remover, listar, fazer captura de tela, etc.)
FW<*> Controla a VPN e o firewall (status, bloquear/permitir aplicativos, ativar/desativar)
noti<*> Cria notificações persistentes e personalizadas
sp<*> Executa uma sequência de deslizes/toques (macro de gestos)
lodp<*> Gerencia links salvos no navegador interno (adicionar, editar, excluir, listar)
scc: Inicia a captura/transmissão da tela

Novas amostras do BeatBanker instalam o BTMOB

Nossos recentes esforços de detecção descobriram uma campanha que usa um aplicativo StarLink fraudulento, considerado por nós como sendo uma nova variante do BeatBanker. A cadeia de infecção se assemelha a instâncias anteriores, empregando métodos de persistência idênticos, especificamente áudio contínuo e notificações fixas. Além disso, essa variante incluía um minerador de criptomoedas como os já mencionados. No entanto, em vez de implementar o módulo bancário, observou-se que ela distribuiu a ferramenta de administração remota do BTMOB.

O arquivo APK BTMOB contém um alto grau de ofuscação, incluindo uma classe responsável pela configuração. Apesar disso, é possível observar um tipo de analisador usado para definir o comportamento do aplicativo no dispositivo, bem como recursos de persistência, como a proteção contra reinicialização, exclusão e redefinição de bloqueio, e a capacidade de executar a gravação de tela em tempo real.

Descriptografia de strings

A rotina de descriptografia simples usa XOR repetitivo entre os dados criptografados e uma chave curta. Ele itera o texto criptografado byte por byte, repetindo a chave desde o início sempre que chega ao fim. Em cada posição, a amostra executa um XOR do byte criptografado com o byte correspondente da chave, substituindo o original. No final, a matriz de bytes modificada contém o texto original, que é então convertido em UTF-8 e retornado como uma string.

Malware-as-a-service

O BTMOB é uma ferramenta de administração remota do Android que evoluiu das famílias CraxsRAT, CypherRAT e SpySolr. Ele permite o controle remoto total do dispositivo da vítima e é comercializado no modelo Malware-as-a-service (MaaS). Em 26 de julho de 2025, um threat actor postou uma captura de tela do BTMOB RAT em ação no GitHub com o nome de usuário "brmobrats", acompanhada de um link para o site btmob[.]xyz. O site contém informações sobre o BTMOB RAT, incluindo o histórico de versões, recursos e outras informações relevantes, e redireciona para um contato do Telegram. Esta conta já foi vinculada ao CraxsRAT e ao CypherRAT pela Cyfirma.

Recentemente, foi criado um canal no YouTube com vídeos que demonstram a utilização do malware e facilitam a sua venda por meio do Telegram por um threat actor diferente.

Também vimos a distribuição e venda do código-fonte vazado do BTMOB em alguns fóruns da dark Web. Isso pode sugerir que o criador do BeatBanker adquiriu o BTMOB do seu autor original ou da fonte do vazamento e está utilizando-o como payload final, substituindo assim o módulo bancário observado no incidente do INSS Reembolso.

Em termos de funcionalidade, o BTMOB mantém um conjunto de recursos intrusivos, incluindo a concessão automática de permissões, especialmente em dispositivos Android 13-15; o uso de um overlay FrameLayout preto para ocultar as notificações do sistema semelhante ao observado no módulo bancário; instalação silenciosa; execução em segundo plano com persistência; e mecanismos projetados para capturar credenciais de bloqueio de tela, incluindo PINs, padrões e senhas. O malware também permite o acesso às câmeras frontal e traseira, captura de teclas pressionadas em tempo real, monitoramento de localização por GPS e coleta constante de dados confidenciais. Juntas, essas funcionalidades fornecem um controle remoto abrangente ao operador, além da persistência de acesso e amplos recursos de vigilância sobre dispositivos comprometidos.

Vítimas

Todas as variantes do BeatBanker, tanto aquelas com o módulo bancário quanto aquelas com BTMOB RAT, foram usadas em ataques a vítimas no Brasil. Parece que algumas das amostras de entrega de BTMOB estão usando o WhatsApp para se espalhar, assim como páginas de phishing.

Conclusão

O BeatBanker é um excelente exemplo de como as ameaças móveis estão se tornando mais sofisticadas e com multicamadas. Este trojan, inicialmente focado no Brasil, conduz uma campanha dupla: minera Monero, drenando discretamente a bateria do dispositivo, e também rouba credenciais bancárias e adultera transações de criptomoedas. Além disso, na versão mais recente, os atacantes foram ainda mais longe ao substituir o módulo bancário por um BTMOB RAT completo.

Os atacantes foram criativos ao criar truques de persistência. Ao reproduzir continuamente um áudio quase inaudível, eles evitam que o sistema operacional encerre o processo e mantêm o BeatBanker ativo por longos períodos.

Além disso, a ameaça demonstra uma obsessão em permanecer oculta. Ela monitora o uso do dispositivo, o nível e a temperatura da bateria e até usa o sistema legítimo do Google (FCM) para receber comandos. Seu módulo bancário é capaz de aplicar um overlay na tela da Binance e do Trust Wallet a fim de desviar fundos em USDT para as carteiras dos criminosos antes mesmo que a vítima perceba.

A lição aqui é clara: a desconfiança é a sua melhor defesa. O BeatBanker se passa por aplicativos governamentais confiáveis e é disseminado por sites falsos imitando o Google Play. Para se proteger contra ameaças como esta, é essencial:

  1. Baixe aplicativo​s somente de fontes​ oficiais: sempre use a Google Play Store ou as lojas de aplicativos oficiais do fornecedor do dispositivo. Use o aplicativo correto da loja de aplicativos e verifique o desenvolvedor.
  2. Verifique as permissões: preste atenção às permissões que os aplicativos solicitam, especialmente aquelas para acessibilidade e instalação de pacotes de terceiros.
  3. Mantenha o sistema atualizado: as atualizações de segurança para Android e para o seu antivírus móvel são essenciais.

Nossas soluções detectam essa ameaça como HEUR:Trojan-Dropper.AndroidOS.BeatBanker e HEUR:Trojan-Dropper.AndroidOS.Banker.*

Indicadores de comprometimento

IoCs, TTPs e regras de detecção adicionais estão disponíveis para os clientes do nosso serviço de Relatórios de Inteligência de Ameaças. Para obter mais informações, entre em contato conosco pelo e-mail crimewareintel@kaspersky.com.

Baseado em host (hashes MD5)
F6C979198809E13859196B135D21E79B - INSS Reembolso
D3005BF1D52B40B0B72B3C3B1773336B - StarLink

Domínios
cupomgratisfood[.]shop
fud2026[.]com
accessor.fud2026[.]com
pool.fud2026[.]com
pool-proxy.fud2026[.]com
aptabase.fud2026[.]com
aptabase.khwdji319[.]xyz
btmob[.]xyz
bt-mob[.]net

BeatBanker: um trojan de dupla função para Android

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

 

Relatórios

BeatBanker: um trojan de dupla função para Android

Pesquisadores da Kaspersky identificaram um novo trojan para Android, o BeatBanker, que tem como alvo o Brasil, se disfarça de aplicativos do governo e da Google Play Store e consegue minerar criptomoedas e roubar dados bancários.

Maverick: Novo Trojan bancário distribuído via WhatsApp

Uma campanha recente de malware foi detectada no Brasil, distribuindo um arquivo LNK malicioso usando o WhatsApp. Toda a cadeia de infecção é complexa e fileless, e ela entregará um novo trojan bancário chamado “Maverick”, que contém muito código compartilhado de Coyote.