Em novembro desse ano, pesquisadores da Intel 471 encontraram um aplicativo falso de um dos bancos mais populares da Polônia, o mBank, que está atuando como um carregador de um trojan bancário Android não atribuído. O payload do malware FvncBot implementou múltiplas funcionalidades incluindo keylogging através do abuso dos serviços de acessibilidade do Android, ataques de injeção web, streaming de tela e VNC oculto (HVNC) para realizar fraudes financeiras com sucesso.
O nome FvncBot vem do pacote da aplicação maliciosa, o "com.fvnc.app". O aplicativo carregador e o payload do FvncBot foram ofuscados com o conhecido serviço de criptografia apk0day operado pelo ator GoldenCrypt. O alinhamento do código no carregador e payload sugere que os mesmos desenvolvedores podem estar por trás de ambos os componentes.
Nossos vídeos em destaque
FvncBot imita aplicativo de segurança de banco popular da Polônia
Os agentes de ameaça distribuíram uma aplicação maliciosa sob o disfarce do aplicativo "Klucz bezpieczeństwa Mbank" (Chave de Segurança Mbank, na tradução livre) e visaram usuários de mobile banking na Polônia.
A aplicação agia como carregador instalando o payload FvncBot que é armazenado sem criptografia nos assets. O código tanto do carregador quanto do payload foram ofuscados com o conhecido serviço de criptografia apk0day, operado pelo GoldenCrypt.
)
Uma vez que a aplicação carregadora foi lançada, o usuário recebia informações pedindo para instalar um componente "Play" que garante a segurança e estabilidade do aplicativo. Ao clicar no botão verde "ZAINSTALUJ KOMPONENT" (instalar componente, em português), o processo de instalação começava e o payload era executado com o clique do botão "AKTYWUJ" (ativar).
Contornando as defesas do Android
De acordo com a investigação, o instalador de pacotes baseado em sessão foi usado para contornar restrições de acessibilidade para dispositivos com versões a partir do Android 13. Essa técnica representa uma adaptação às medidas de segurança mais recentes do sistema operacional. O Google implementou restrições mais rígidas justamente para dificultar que malwares abusem dos serviços de acessibilidade, mas os desenvolvedores do FvncBot encontraram uma brecha.
Enquanto o malware é executado, os eventos de log são enviados ao servidor remoto no domínio naleymilva.it.com, para rastrear o status atual do bot. Essa comunicação constante permite que os operadores monitorem quais dispositivos foram infectados com sucesso, quais ainda estão no processo de instalação e quais podem ter falhado.
Os operadores incluíram um identificador de build call_pl, que indicava a Polônia como país alvo, e a versão do malware foi definida como 1.0-P, sugerindo um estágio inicial de desenvolvimento. Isso significa que futuras versões podem apresentar ainda mais funcionalidades ou alvos diferentes.
Configurações de acessibilidade dão acesso total do dispositivo
A aplicação payload pedia que o usuário habilitasse serviços de acessibilidade, para que ele pudesse funcionar. O malware até fornecia um passo a passo sobre como ativar as configurações e tinha um botão que levava o usuário para os ajustes do celular.
Os serviços de acessibilidade do Android foram criados para ajudar pessoas com deficiências visuais ou motoras a usar seus dispositivos. No entanto, essas mesmas permissões dão ao aplicativo acesso praticamente irrestrito ao que acontece na tela.
Se o usuário ativa essas configurações, o malware consegue rodar em segundo plano e o dispositivo é registrado no servidor de comando e controle (C2). A partir desse momento, os criminosos têm controle quase total sobre o aparelho infectado.
FvncBot usa comunicação sofisticada
O bot utilizava o protocolo de rede HTTP para se comunicar com o servidor de controle. Os dados do payload eram armazenados em um objeto JSON e exfiltrados sem criptografia. Um exemplo de uma requisição HTTP POST enviada ao endpoint /api/v1/devices/register para registrar um novo bot é fornecido no documento.
Além do protocolo de rede HTTP para fins de comunicação, os desenvolvedores do malware implementaram o serviço FCM (Firebase Cloud Messaging) para despachar comandos, relacionados principalmente à configuração do bot. O FCM é normalmente usado por aplicativos legítimos para enviar notificações push, mas aqui serve como canal de comando para os criminosos.
Por exemplo, o comando enable_ws podia ser enviado pelos operadores da botnet para estabelecer uma conexão WebSocket através do abuso do executável FRP contido no arquivo APK da aplicação payload. A conexão WebSocket foi implementada para comunicação bidirecional em tempo quase real, essencial para as funcionalidades mais avançadas do malware.
Na prática, essa arquitetura híbrida permite que os criminosos operem a botnet com flexibilidade e discrição. O HTTP funciona como via de escoamento para grandes volumes de dados roubados — credenciais bancárias, mensagens, contatos —, enquanto o Firebase Cloud Messaging atua como canal de controle camuflado: os comandos chegam ao dispositivo infectado como se fossem notificações comuns de aplicativos, dificultando a detecção por sistemas de segurança.
Quando necessário, os operadores ativam a conexão WebSocket para tarefas que exigem interação em tempo real, como manipular remotamente o dispositivo infectado, interceptar códigos de autenticação no momento exato em que chegam ou executar transações fraudulentas enquanto a vítima ainda está usando o aparelho. É uma infraestrutura que equilibra escala para infectar milhares de dispositivos, com capacidade de ação precisa em alvos específicos.
Arsenal completo de fraude
O malware captura cada caractere digitado através do abuso dos serviços de acessibilidade, acumulando até 1.000 eventos em um buffer antes de enviá-los em lote ao servidor de controle. Esse envio agrupado reduz o consumo de bateria e tráfego de rede, diminuindo a probabilidade de detecção. Quando a conexão WebSocket está ativa, os logs são transmitidos imediatamente — recurso essencial para fraudes que dependem de timing preciso, como a captura de códigos OTP antes que expirem.
Ele também é capaz de sobrepor interfaces falsas aos aplicativos bancários legítimos, carregando páginas de phishing hospedadas remotamente em um componente WebView. A lista de alvos e URLs é atualizada dinamicamente pelo servidor, permitindo aos operadores ajustar campanhas sem redistribuir o malware.
Uma interface JavaScript customizada extrai as credenciais digitadas pela vítima e as encaminha aos criminosos enquanto a tela falsa permanece indistinguível da interface original.
Diferentemente de trojans que transmitem sequências de imagens JPEG, o FvncBot utiliza compressão de vídeo H.264 para streaming contínuo da tela — a mesma tecnologia empregada por plataformas de vídeo profissionais. A escolha técnica revela sofisticação: H.264 oferece transmissão de baixa latência com uso significativamente menor de largura de banda, mas sua implementação em tempo real exige expertise avançada em programação.
Aplicativos bancários frequentemente bloqueiam capturas de tela através da flag FLAG_SECURE. O FvncBot contorna essa proteção extraindo a estrutura hierárquica dos elementos da interface via serviços de acessibilidade, transmitindo um mapa JSON que permite aos criminosos reconstruir a tela remotamente sem depender de imagens. É uma engenharia reversa da interface em tempo real.
Os operadores executam gestos remotos — toques, deslizes, inserção de texto — através de comandos WebSocket, navegando pelo dispositivo com precisão total. Durante fraudes ativas, o malware pode exibir uma sobreposição preta e bloquear o dispositivo, ocultando da vítima as transações sendo executadas em segundo plano.
Um código original e profissional
O que torna o FvncBot especialmente preocupante é que seu código é completamente original. Diferentemente de muitos malwares Android que são baseados em código vazado de trojans como Ermac ou Hook, este foi desenvolvido do zero. Isso demonstra que há desenvolvedores com expertise técnica significativa criando novas ameaças, e não apenas script kiddies reaproveitando código alheio.
A análise também revelou que o malware está em sua versão 1.0-P, sugerindo que estamos vendo apenas o começo. Versões futuras podem expandir para outros países, adicionar novos bancos à lista de alvos ou implementar técnicas ainda mais sofisticadas de evasão.
Para saber mais sobre novas vulnerabilidades, siga o TecMundo nas redes sociais. Inscreva-se em nossa newsletter e canal do YouTube para mais notícias de tecnologia e segurança.
)
)
)
)
)
)
)