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)
Navegadores alvos
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" |
| 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:
- Baixe aplicativos 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.
- 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.
- 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