
Malware distribuído por e-mail imita aplicativos legítimos de pedágio, transporte, banco e encontros para capturar credenciais, dados de cartão e códigos 2FA recebidos por SMS.
| Componente | Aplicativos Android falsos associados ao malware FluHorse, com interface criada em Flutter e, em alguns casos, partes do aplicativo em Kotlin. |
| Vetor | Distribuição por e-mails de phishing que induzem a instalação de APKs maliciosos; um dos fluxos usa domínio defangado fetc-net[.]com, semelhante ao domínio legítimo fetc[.]net[.]tw. |
| Impacto | Coleta de credenciais, dados de cartão e interceptação de mensagens SMS recebidas, incluindo códigos de autenticação de dois fatores quando o serviço alvo solicita essa etapa. |
| Prioridade | Bloquear sideload de APKs não autorizados, caçar instalações Android fora de lojas oficiais e revisar e-mails que direcionem usuários a domínios visualmente parecidos com serviços de pedágio, transporte, banco ou encontros. |
| Setores | Pedágio eletrônico em Taiwan, transporte, banco e aplicativos de encontros voltados a usuários de língua chinesa. |
| Artefatos | Um APK analisado tinha o hash 2811f0426f23a7a3b6a8d8bb7e1bcd79e495026f4dcdc1c2fd218097c98de684. |
| Técnica | Uso de Flutter e Dart para implementar a lógica maliciosa e dificultar a engenharia reversa por causa da máquina virtual e do uso de estruturas internas como Object Pool. |
FluHorse é uma operação de malware para Android estruturada em torno de aplicativos falsos que reproduzem telas de serviços conhecidos em mercados do leste asiático. O objetivo principal é transformar a confiança já existente em marcas de alto uso em uma superfície de phishing móvel. O conjunto observado inclui cópias de aplicativos ligados a pedágio eletrônico, transporte, banco e encontros. No caso de pedágio, o alvo visual é um aplicativo ETC usado em Taiwan, associado a uma operação legítima com mais de um milhão de instalações na loja oficial e grande volume diário de transações. Essa escolha reduz a fricção social do ataque, porque a vítima tende a reconhecer a finalidade do aplicativo e aceitar a solicitação de dados como parte de um fluxo de pagamento ou validação cadastral.
A campanha não depende de exploração de vulnerabilidade no Android nem de execução remota de código em um serviço exposto. O vetor descrito é social: e-mails direcionam o usuário para a instalação de APKs fora do canal legítimo. Depois da instalação, o aplicativo malicioso apresenta telas limitadas, desenhadas para coletar entradas sensíveis e manter a vítima aguardando enquanto os operadores usam os dados obtidos. A capacidade mais crítica é a interceptação de mensagens SMS recebidas, porque isso permite capturar códigos de autenticação de dois fatores quando credenciais ou dados de cartão acionam uma verificação adicional. O risco técnico confirmado, portanto, está concentrado em roubo de credenciais, fraude em fluxos transacionais e abuso de 2FA baseado em SMS.
A cadeia começa com mensagens de e-mail alinhadas ao tema do aplicativo que será instalado depois. No fluxo associado ao pedágio eletrônico, a isca tem coerência com pagamento de pedágio e leva a um domínio malicioso defangado como fetc-net[.]com, escolhido por sua semelhança visual com o domínio legítimo fetc[.]net[.]tw. O site malicioso não entrega o APK de forma totalmente aberta. Há uma verificação de agente de usuário feita no lado do cliente por JavaScript, de modo que o download ocorre apenas quando o navegador ou dispositivo se encaixa no perfil esperado. Esse controle reduz ruído de acesso automatizado e dificulta coleta casual por pesquisadores ou ferramentas que não imitam o ambiente móvel pretendido.
Após a instalação, a aplicação falsa não tenta oferecer funcionalidades completas. A construção observada é deliberadamente enxuta: poucas telas reproduzem elementos essenciais da interface legítima e servem apenas para capturar dados. Em uma variante que imita o aplicativo de pedágio, a primeira tela solicita credenciais, a segunda solicita informações de cartão e a terceira informa que o sistema está ocupado, pedindo espera por cerca de dez minutos. Esse intervalo tem valor operacional para o atacante, porque diminui a chance de a vítima encerrar imediatamente a sessão por suspeita e cria uma janela para uso dos dados. Enquanto isso, a funcionalidade de interceptação de SMS redireciona mensagens recebidas ao servidor de comando e controle, inclusive códigos 2FA quando o serviço legítimo exige confirmação adicional.
A variante de encontros segue um desenho diferente. Em vez de conter uma sequência própria de telas locais, o aplicativo funciona como um navegador para um site de phishing. O princípio operacional permanece o mesmo: criar uma experiência visual suficiente para que o usuário insira informações sensíveis. No trecho analisado, essa variante tem foco em dados de cartão e não solicita credenciais. Essa diferença mostra que FluHorse não é um único aplicativo monolítico, mas uma família de APKs com temas e alvos ajustados ao setor explorado, mantendo a mesma lógica defensivamente importante: entrega por engenharia social, interface falsa, coleta de dados e comunicação com infraestrutura controlada pelo operador.
A implementação técnica usa tecnologias abertas. Algumas aplicações contêm partes em Kotlin, mas a lógica maliciosa analisada está implementada em Flutter, com código Dart executado dentro do runtime do framework. Isso importa para defesa e análise porque Flutter usa uma máquina virtual própria e estruturas de execução que não se comportam como um aplicativo Android nativo simples. No caso observado, a dificuldade de análise não vem de uma técnica customizada de evasão escrita especificamente pelos operadores, mas do próprio modelo de execução do Flutter. A análise reversa precisa lidar com snapshots de memória, objetos Dart e o Object Pool usado pelo runtime, além de detalhes como uso de registrador próprio para pilha em ARM, o que pode degradar a qualidade de pseudocódigo gerado por decompiladores.
A superfície exposta é composta por usuários Android que recebem a isca, instalam APKs fora de lojas confiáveis e concedem permissões suficientes para que o aplicativo leia ou encaminhe mensagens SMS. O contexto observado cita destinatários em organizações de maior visibilidade, incluindo setor governamental e grandes empresas industriais, o que eleva o risco de credenciais pessoais serem usadas em serviços com valor financeiro ou administrativo. Ainda assim, a evidência disponível descreve roubo de credenciais, dados de cartão e códigos 2FA; ela não confirma movimentação lateral, comprometimento de redes corporativas ou vazamento interno de dados organizacionais.
Os aplicativos legítimos imitados têm grande base de usuários ou forte associação com rotinas do dia a dia. O caso de pedágio eletrônico em Taiwan é relevante porque o serviço legítimo tem milhões de usuários e alto volume transacional, tornando verossímil que uma cobrança, atualização cadastral ou validação de pagamento chegue por e-mail. Aplicativos de transporte e banco ampliam a mesma lógica: o atacante escolhe marcas com as quais a vítima já interage e reduz a necessidade de convencer o usuário sobre a finalidade do formulário. Já os aplicativos de encontros voltados a usuários de língua chinesa usam uma superfície mais aberta, em que o aplicativo serve de contêiner para o site fraudulento.
Também há uma superfície específica para equipes de análise de malware. APKs em Flutter exigem coleta e interpretação de artefatos de runtime, não apenas inspeção de classes Android tradicionais. A presença de strings relacionadas a infraestrutura de comando e controle pode não produzir referências úteis diretamente no fluxo de análise estática, porque os objetos e referências relevantes podem estar representados no espaço da VM de Dart. Isso afeta a capacidade de resposta quando a equipe precisa confirmar rapidamente se um APK suspeito se comunica com infraestrutura maliciosa, quais telas coleta e quais permissões habilitam a interceptação de SMS.
- Dispositivos Android com instalação de APKs fora da loja oficial habilitada ou tolerada por política local.
- Usuários que recebem e-mails temáticos sobre pedágio, transporte, serviços bancários ou encontros e seguem links para domínios parecidos com marcas legítimas.
- Contas protegidas por 2FA via SMS, porque o código pode ser capturado depois que a vítima instala o aplicativo e concede permissões necessárias.
- Ambientes de análise que dependem apenas de decompilação Android convencional e não tratam corretamente artefatos Flutter e Dart.
A busca defensiva deve começar por telemetria de e-mail e navegação. Mensagens que direcionam para domínios recém-observados ou visualmente semelhantes a marcas de pedágio, transporte ou banco merecem correlação com eventos de download de APK. No caso citado, o domínio malicioso defangado fetc-net[.]com se aproxima do domínio legítimo fetc[.]net[.]tw; esse padrão de typosquatting ou imitação visual é mais importante do que um único indicador. Gateways de e-mail, proxy, DNS e EDR móvel podem ser usados para agrupar destinatários que acessaram páginas de download e comparar o agente de usuário usado no acesso, já que a campanha emprega verificação no lado do cliente antes de liberar o APK.
No endpoint móvel, a telemetria mais útil envolve instalação de pacote fora de loja oficial, permissões relacionadas a SMS, uso anômalo de WebView ou comportamento de aplicativo que apresenta poucas telas e solicita dados incompatíveis com o aplicativo legítimo. O fluxo de pedágio falso pede credenciais e cartão em sequência, enquanto o aplicativo legítimo citado não apresenta campos de login na primeira janela observada. Essa divergência visual e funcional pode apoiar análise manual, conscientização direcionada e regras de risco em soluções de defesa móvel. Para organizações com MDM, eventos de sideload, permissões sensíveis concedidas logo após instalação e execução de aplicativos não aprovados devem ser tratados como sinais de investigação.
Na rede, a defesa deve procurar comunicação de APKs suspeitos com domínios parecidos com marcas conhecidas, envio de dados logo após interação do usuário e atividade durante a janela em que a interface afirma estar processando informações. Não é necessário publicar ou propagar listas extensas de indicadores para obter valor operacional; o foco deve estar na classe de comportamento: aplicativo Android recém-instalado, formulário de coleta de dados, permissão de SMS e comunicação com infraestrutura externa. Em laboratório, a análise de APKs Flutter deve considerar ferramentas capazes de mapear objetos Dart, snapshots de memória e referências no Object Pool, evitando concluir ausência de comunicação maliciosa apenas porque uma referência não aparece de forma direta no decompilador.
- E-mails com tema de pagamento, cobrança ou validação que levam a download de APK em domínio visualmente semelhante a serviço legítimo.
- Eventos Android de instalação fora da loja oficial seguidos por concessão de permissões para leitura ou acesso a SMS.
- Aplicativos com interface mínima que solicita credenciais, cartão ou outros dados sensíveis sem entregar funcionalidade compatível com o serviço imitado.
- Comunicação de aplicativo recém-instalado com domínio C2 defangado ou infraestrutura relacionada a páginas de phishing.
- Mensagens SMS recebidas no dispositivo durante ou logo após uso do aplicativo falso, especialmente quando coincidem com tentativa de autenticação em serviço financeiro ou transacional.
A mitigação deve priorizar controle de instalação e redução de dependência de SMS como fator de autenticação. Em dispositivos corporativos, políticas de MDM devem bloquear sideload não autorizado, restringir permissões sensíveis e manter inventário de pacotes instalados. Para usuários de alto risco, é importante revisar alertas de instalação de APKs recebidos por e-mail e validar se o aplicativo veio de canal oficial. Quando houver suspeita de instalação, a resposta deve isolar o dispositivo, remover o aplicativo, preservar evidências relevantes para análise e revisar contas usadas durante a janela de exposição. Senhas inseridas no aplicativo falso devem ser trocadas, sessões ativas devem ser encerradas e métodos de autenticação devem ser reemitidos quando houver risco de captura de 2FA por SMS.
Organizações que dependem de serviços financeiros, transporte ou pedágio em dispositivos móveis devem tratar e-mails de atualização, cobrança e validação como categoria sensível nos controles de segurança. Isso inclui detecção de domínios parecidos com marcas legítimas, análise de anexos ou links que terminem em APK e bloqueio de páginas que liberam download apenas para determinados agentes de usuário. A defesa também deve preparar material de resposta que não dependa de descrição genérica de phishing: o ponto central neste caso é a combinação entre instalação de aplicativo falso, solicitação de dados financeiros e interceptação de SMS, não apenas uma página falsa tradicional em navegador.
Para equipes de engenharia reversa e resposta a incidentes, o tratamento de APKs Flutter requer um procedimento específico. A análise deve correlacionar permissões Android, telas exibidas, strings de infraestrutura e artefatos da VM de Dart. O fato de a família usar frameworks abertos não reduz o risco; pelo contrário, a adoção de Flutter pode atrasar a compreensão do código quando o fluxo de análise está preparado apenas para aplicativos nativos. A validação final deve confirmar quais dados cada variante solicita, se há interceptação de SMS, para onde a comunicação é enviada e quais usuários receberam iscas compatíveis com aquele tema. O escopo da resposta deve permanecer ancorado nesses achados: captura de credenciais, dados de cartão e códigos 2FA, sem presumir outros impactos não observados.
- Bloquear instalação de APKs fora de fontes aprovadas e auditar exceções já existentes em dispositivos Android gerenciados.
- Revogar permissões sensíveis de aplicativos desconhecidos, especialmente acesso a SMS, e remover pacotes não autorizados.
- Trocar credenciais usadas no aplicativo falso, encerrar sessões e revisar transações relacionadas a contas ou cartões informados.
- Migrar fluxos críticos de 2FA por SMS para métodos menos expostos à interceptação local quando o ambiente permitir.
- Criar detecções para domínios similares a marcas legítimas e para e-mails que entregam APKs com tema de pedágio, transporte, banco ou encontros.
- Analisar APKs suspeitos com suporte a Flutter e Dart, incluindo inspeção de snapshots, objetos de runtime e referências indiretas à infraestrutura de comando e controle.
0 Comentários