
Artigo
StreamRAT: análise técnica do trojan bancário Android distribuído por anúncios de streaming
Resumo / TL;DR: este artigo analisa tecnicamente o StreamRAT, trojan bancário para Android (sistema operacional móvel do Google) descoberto pela Threat Fabric (empresa de cibersegurança especializada em fraude mobile). Você vai entender a cadeia de infecção em quatro estágios — anúncio falso, site de phishing, dropper e payload — e como o malware abusa dos Accessibility Services para obter controle quase total do dispositivo: ver a tela (por VNC direto ou oculto), executar toques, exibir overlays falsos e roubar credenciais. No final, você encontra os indicadores de comprometimento (IoCs) publicados e um guia de defesa.
Introdução
O StreamRAT é um trojan bancário Android que combina as funções clássicas de fraude bancária com ferramentas de acesso remoto em tempo real. Ele foi distribuído pela campanha Steamtv Esp, que usou anúncios pagos em plataformas de Meta (dona do Facebook e do Instagram) e TikTok (plataforma de vídeos curtos) prometendo um serviço gratuito de streaming de TV. Uma única campanha observada alcançou cerca de 570 mil usuários do Meta entre 11 de junho e 3 de julho de 2026, com a maioria das vítimas na Espanha — cobrimos a descoberta na notícia Trojan Android StreamRAT se esconde em anúncios de streaming grátis; aqui vamos fundo no funcionamento interno.
Para o leitor brasileiro, o interesse é direto: o padrão de ataque do StreamRAT é o mesmo dos trojans bancários nacionais — abuso de Accessibility, overlays falsos e controle remoto —, e a distribuição via anúncios pagos é um vetor que cresce em todo o mundo. Entender a mecânica permite reconhecer o mesmo comportamento em campanhas locais.
Pré-requisitos
Para acompanhar a análise, é útil conhecer conceitos básicos de segurança mobile e ter familiaridade com análise de APKs. Recomendamos os artigos do site sobre análise estática de malware com pestudio, que mostra como inspecionar binários suspeitos sem executá-los, e sobre Wazuh como SIEM open source, útil para detectar o comportamento do trojan em dispositivos gerenciados por organizações.
Passo a passo: a cadeia de infecção
A infecção pelo StreamRAT segue uma cadeia de quatro estágios, começando pela publicidade enganosa e terminando com o controle remoto completo do aparelho. Abaixo apresentamos o fluxo geral e detalhamos cada etapa em seguida.
Cadeia de infecção do StreamRAT
Estágio 1: o anúncio de streaming grátis
O primeiro passo da cadeia é a compra de anúncios em plataformas de Meta e TikTok com o tema de streaming de TV. O site de isca usa JavaScript para detectar o sistema operacional do visitante: em qualquer coisa que não seja Android, a página exibe um erro e esconde o botão de download. Em Android, o botão de instalação aparece e o clique leva a uma segunda página, chamada r1edmi.html — que ao mesmo tempo notifica o operador via Telegram (aplicativo de mensagens) por uma API de backend.
Estágio 2: a orientação personalizada
Em seguida, a página r1edmi.html identifica com qual aplicativo a vítima abriu o link — Instagram, TikTok, Facebook ou navegador — e adapta as instruções de instalação. Por padrão, exibe um guia de seis passos para o Chrome, conduzindo a vítima a habilitar a instalação de aplicativos de fontes desconhecidas e, principalmente, a conceder acesso aos Accessibility Services (recurso de acessibilidade do Android que permite ler a tela e executar ações em nome do usuário). Enquanto isso, a página consulta o backend para obter a URL ativa do malware e instrui o navegador a baixar um arquivo chamado app.apk. O site de distribuição tem inclusive um painel de controle próprio.
Estágio 3: o dropper que vira launcher
O terceiro passo começa quando a vítima executa o APK baixado — um dropper (programa que baixa e instala o payload final), cuja interface é construída em páginas HTML com JavaScript embutido. A primeira página tenta registrar o dropper como launcher (aplicativo de tela inicial) padrão do aparelho: a partir daí, toda vez que a vítima aperta o botão Home, ela volta para a interface do golpe, que segue guiando a instalação.
Antes de baixar o payload, o dropper pode pedir permissão para criar uma conexão VPN (rede privada virtual) e estabelece uma conexão deliberadamente quebrada que roteia o tráfego do dispositivo para lugar nenhum, excluindo o próprio dropper. O resultado é uma queda de internet generalizada no aparelho — uma técnica de evasão que analisamos em detalhe na seção técnica.
A página principal então dispara o download do payload, salvo na pasta Downloads como update_{timestamp}.apk, e instala o pacote usando o mecanismo de instalação por sessão do Android. Após a instalação e a execução do payload, o dropper desativa a VPN quebrada — para o StreamRAT conseguir falar com o servidor — e, quando o payload obtém o Accessibility, o dropper se remove como launcher padrão.
Estágio 4: o payload em ação
Por fim, o StreamRAT é executado e imediatamente solicita o Accessibility. Concedida a permissão, o trojan conecta-se ao servidor de C2 (command and control, servidor de comando e controle) e recebe o comando 35, que instrui o bot a enviar a lista de todos os aplicativos instalados — dividida em blocos de até 50 entradas, com o último bloco marcado por isLast=true e um atraso de 10 milissegundos entre blocos. Em paralelo, o malware captura o que a vítima digita e monitora qual aplicativo está em primeiro plano; a cada troca de app, envia duas requisições ao servidor (maintenance_check e injection_check) contendo o nome do pacote visível — o gatilho para os overlays de ataque que veremos a seguir.
Explicação técnica: por que o StreamRAT é perigoso
Accessibility Services: o coração do controle
Os Accessibility Services são um recurso legítimo do Android criado para auxiliar pessoas com deficiência — leitores de tela, por exemplo. Nas mãos de um trojan, a permissão vira controle total: o malware pode ler o que está na tela, executar ações globais (voltar, Home, recentes, abrir notificações), tocar em coordenadas específicas, deslizar e até colar texto. O StreamRAT usa esse poder para tudo: capturar digitação, navegar pelo sistema e interagir com overlays falsos.
VNC direto vs. VNC oculto (HVNC)
O StreamRAT suporta dois modos de transmissão de tela. No VNC (Virtual Network Computing, protocolo de acesso remoto a telas), o bot usa a MediaProjection API (API do Android para captura de tela): ao receber o comando, abre o diálogo nativo de permissão de captura e o interage automaticamente, selecionando captura de tela cheia e compartilhamento de todos os aplicativos. Os frames são codificados como WebP e enviados ao C2.
O HVNC (Hidden VNC, a variante oculta) é a diferença crítica: em vez da MediaProjection, o bot captura uma tela a cada 200 ms usando o método takeScreenshot() do Accessibility. Essa captura não exibe o indicador de compartilhamento de tela que o Android mostra no VNC direto — ou seja, o operador espia tudo sem que a vítima perceba. Nos dois modos, o frame é reduzido a 35% do tamanho original e comprimido com qualidade 40%, um equilíbrio agressivo entre banda e usabilidade. Quando um overlay estático está ativo, a compressão muda para perda zero, mantendo a qualidade máxima da imagem exibida.
Deduplicação de tráfego: engenharia de quem quer escala
Um detalhe revelador é o uso do checksum Adler-32 (algoritmo de soma de verificação) em várias partes do malware. Frames de tela e dumps da árvore de interface que tenham o mesmo checksum do envio anterior são descartados. Isso reduz drasticamente a banda e a carga no backend — uma otimização típica de desenvolvedores experientes projetando para escala, não de autores amadores.
O Accessibility Node Viewer
Outra capacidade característica dos trojans modernos: o Accessibility Node Viewer. Em vez de enviar uma imagem, o bot reconstrói a tela como uma árvore de elementos de interface (textos, botões, campos), serializa em JSON e envia ao operador — com a mesma deduplicação por Adler-32. É uma das formas mais rápidas de coletar e visualizar o que está na tela, e serve de guia para o operador decidir qual overlay injetar.
Overlays: as telas falsas de login
Os overlays (janelas sobrepostas exibidas por cima do aplicativo legítimo) vêm em dois grupos. Os automáticos são acionados quando um aplicativo não-sistema entra em primeiro plano: o bot envia injection_check e o servidor responde com o HTML do overlay correspondente ao pacote, salvo em disco como nome_do_pacote.html. Uma Activity com WebView carrega esse HTML, com JavaScript habilitado e uma interface exposta pelo código Android — a função saveAndClose captura os dados digitados pela vítima e os devolve ao componente nativo, que os envia ao C2. É assim que uma página falsa de banco rouba a credencial.
Os imediatos são ativados sob demanda, para distrair ou enganar enquanto o operador age em segundo plano: um overlay preto que cobre cerca de 98% da tela e bloqueia os toques; um overlay de atualização falsa do sistema, que parece legítimo; e um overlay customizado, construído a partir de HTML fornecido pelo operador. Combinado com comandos como o 37 (desbloquear o dispositivo com um PIN ou padrão interceptado anteriormente), o operador pode literalmente usar o celular da vítima enquanto ela vê uma "atualização" na tela.
O protocolo de C2 sobre WebSocket
A comunicação com o servidor é uma das marcas do StreamRAT. O bot abre uma conexão WebSocket (protocolo de comunicação bidirecional em tempo real sobre TCP) com o C2, incluindo três cabeçalhos customizados no handshake:
X-Device-Id: identificador único do dispositivo
X-Device-Model: fabricante e modelo
X-Api-Level: nível da API do AndroidO protocolo é do tipo RPC, com mensagens de texto (JSON) ou binárias. O formato binário do servidor é simples: 2 bytes de opcode do comando, 4 bytes de identificador e o payload a partir do byte 6. A resposta do bot segue a mesma ideia: 4 bytes de identificador, 1 byte de status (0 sucesso, 1 erro), 4 bytes de tamanho e o payload. O endereço do C2 é fixo, embutido no trojan, sem rotação dinâmica — uma limitação importante para detecção por IoCs.
Evasão de detecção: a VPN quebrada
A técnica de evasão mais incomum do StreamRAT acontece no dropper: estabelecer uma VPN deliberadamente não-funcional que interrompe a internet do aparelho enquanto exclui o próprio dropper. A hipótese dos pesquisadores é que isso atrapalha verificações de reputação online e análises em nuvem de pacotes desconhecidos — com o Google Play Protect (verificação de segurança nativa do Android) como alvo provável, embora a técnica não o burle completamente, já que o Play Protect também funciona offline para ameaças conhecidas. O efeito colateral é visível para a vítima: mensageiros e outros serviços param de funcionar temporariamente. Do ponto de vista de defesa, qualquer aplicativo que declare capacidades de instalação de pacotes e funcionalidade VPN ao mesmo tempo é um sinal de risco que merece escrutínio.
Malware-as-a-Service: um produto pronto para vender
A análise do painel de controle — hospedado em um dos servidores da infraestrutura — indica que o StreamRAT foi desenhado como MaaS (Malware-as-a-Service, malware vendido como serviço). O painel tem páginas de visão geral dos dispositivos infectados (modelo, região, nível de bateria, versão do Android, PIN interceptado e status do Accessibility), estatísticas, gerenciamento de injeções e overlays de manutenção, logs, um builder de payload, um builder de dropper e um módulo de usuários com três papéis (usuário, supervisor e admin) — uma separação de funções típica de quem vende acesso a terceiros. Há ainda a configuração do bot do Telegram usado para notificações.
Indicadores de comprometimento (IoCs)
A Threat Fabric publicou os indicadores das amostras analisadas. Trate os valores como pistas de detecção, não como prova de que todo dispositivo correspondente está comprometido:
| Tipo | Indicador | Descrição |
|---|---|---|
| SHA-256 | e0714788b4e2518b0d9d4cbf18c7217bb97718e01689d77338f1cc4a230fcb6c | Amostra do StreamRAT (app StrεαmTV Pro) |
| Pacote | io.base.one887 | Pacote do app StrεαmTV Pro |
| SHA-256 | ba83cc3c9535690191018edf73ca5c6001609df9919462796aa2e551f142e4d3 | Amostra do StreamRAT (app Sistema de vídeo) |
| Pacote | io.meat.hint | Pacote do app Sistema de vídeo |
| IP C2 | 45.147.28.59 | Servidor de comando e controle |
| IP C2 | 193.32.2.245 | Servidor de comando e controle |
Como se proteger
Não instale APK por anúncios ou links. A regra de ouro contra o StreamRAT e a maioria dos trojans bancários Android: aplicativos oferecidos por anúncios em redes sociais, mensagens ou sites não oficiais — especialmente serviços de streaming "grátis" e "atualizações urgentes" — são vetor de malware. Instale apenas pela loja oficial, e aplicativos bancários apenas pelos canais oficiais do banco.
Desconfie de permissões fora de contexto. Um app de streaming não precisa de Accessibility, nem de instalação de fontes desconhecidas, nem de acesso a VPN. Negue qualquer pedido desse tipo e investigue antes de conceder. A combinação de capacidades de instalação de pacotes com funcionalidade VPN é um sinal de alerta imediato.
Monitore o launcher e os apps instalados. Se o botão Home passou a abrir uma tela estranha ou apareceu um aplicativo que você não reconhece, o dropper pode estar ativo. Remova o app suspeito imediatamente e restaure o launcher padrão nas configurações.
Fique atento a sinais de espionagem. Uma tela preta ou de "atualização" que bloqueia o uso, internet que para do nada (a VPN quebrada) e apps que abrem e fecham sozinhos são sinais de operação remota em andamento. Desconecte o aparelho da rede e investigue.
Em organizações, monitore o dispositivo, não só a rede. Equipes de segurança devem sinalizar atividade anômala de Accessibility, capturas de tela inesperadas, mudança do launcher padrão e instalações fora de lojas gerenciadas — como discutido no artigo sobre Wazuh SIEM. Para análise forense de APKs suspeitos, o pestudio permite inspecionar permissões e strings sem executar o arquivo.
Se suspeitar de infecção, isole e troque as credenciais. Desative as permissões de Accessibility dos apps suspeitos, remova-os, troque as senhas de bancos e contas sensíveis de outro dispositivo e contate o banco se houver sinais de fraude. A janela entre a infecção e o roubo pode ser de minutos.
Conclusão
O StreamRAT é um exemplo acabado de como a fraude bancária mobile virou indústria: distribuição em massa via anúncios pagos, entrega multi-estágio reutilizando infraestrutura conhecida (o mesmo repositório do GitHub (plataforma de hospedagem de código) já usado para o trojan Mirax), abuso de um recurso legítimo do Android e um painel pronto para venda como serviço. Para o usuário, a defesa é simples e repetível: nada de APK por anúncio ou link, e nenhuma permissão de acessibilidade para quem não precisa. Para bancos e organizações, a lição é monitorar o comportamento do dispositivo — Accessibility anômala, launcher trocado, capturas de tela —, que é um sinal mais confiável do que qualquer assinatura de rede isolada.
Perguntas frequentes
O que é o StreamRAT?
É um trojan bancário Android descoberto pela Threat Fabric, distribuído por anúncios de streaming grátis em plataformas como Meta e TikTok. Com a permissão de Accessibility, dá ao operador controle remoto quase total do celular: ver a tela, executar toques, exibir telas falsas e roubar credenciais bancárias.
Como o StreamRAT infecta o celular?
A infecção começa com um anúncio falso de streaming. O site de isca detecta se o visitante usa Android, orienta a instalação de um APK fora da loja oficial e um dropper instala o payload final depois de tentar virar o launcher padrão do aparelho.
O que são os Accessibility Services e por que os trojans abusam deles?
É um recurso legítimo do Android criado para acessibilidade, que permite ler a tela e executar ações como toques e gestos. Quando um app malicioso obtém essa permissão, ela funciona como controle remoto total do dispositivo — por isso os trojans bancários a pedem primeiro.
Qual é a diferença entre VNC direto e VNC oculto (HVNC)?
O VNC direto usa a MediaProjection API e exibe o indicador de compartilhamento de tela do Android. O HVNC tira capturas a cada 200 ms via Accessibility, sem nenhum indicador visível — o operador espia a tela sem que a vítima perceba.
Como o StreamRAT rouba credenciais bancárias?
Quando um app de banco entra em primeiro plano, o bot avisa o servidor, que responde com um HTML de overlay idêntico à página legítima. A vítima digita a senha no overlay e os dados são enviados ao servidor pelo WebView com JavaScript.
Como funciona a evasão por VPN quebrada?
O dropper cria uma conexão VPN deliberadamente não-funcional que derruba a internet do aparelho enquanto exclui o próprio dropper. Isso provavelmente atrapalha verificações de reputação online e análises em nuvem de pacotes desconhecidos, embora não burle completamente o Play Protect.
O que significa o StreamRAT ser um malware-as-a-service?
Significa que o framework pode ser vendido ou alugado para outras quadrilhas rodarem campanhas próprias. O painel de controle tem builders de payload e dropper, gestão de usuários com três papéis e estatísticas — características típicas de um produto comercial.
O StreamRAT afeta o Brasil?
A campanha observada mirou usuários de língua espanhola, principalmente na Espanha. Porém, o padrão de ataque é idêntico ao dos trojans bancários brasileiros e a infraestrutura pode ser reutilizada para campanhas em outros países — o risco para o Brasil é direto.
Quais são os IoCs do StreamRAT?
A Threat Fabric publicou dois hashes SHA-256 (e0714788b4e2518b0d9d4cbf18c7217bb97718e01689d77338f1cc4a230fcb6c e ba83cc3c9535690191018edf73ca5c6001609df9919462796aa2e551f142e4d3), os pacotes io.base.one887 e io.meat.hint e dois IPs de C2 (45.147.28.59 e 193.32.2.245).
Fontes e leituras adicionais
- Threat Fabric — From Meta Ads to Full Device Takeover: Uncovering StreamRat — 02/09/2026
- Cyber Security News — New StreamRAT Android Trojan Gives Hackers Full Remote Control Through VNC and Accessibility — 03/09/2026
- The Hacker News — Meta Ads Push StreamRat Android Trojan That Can Gain Near-Complete Device Control — 02/09/2026