Introdução
Trackers de torrent são usados há muito tempo para distribuir malware disfarçado de filmes, jogos e outros conteúdos populares. Em pesquisas anteriores, mostramos que os cibercriminosos recorrem com frequência aos torrents como vetor inicial de infecção, usando cracks e instaladores trojanizados para atingir um grande número de usuários. As instruções de instalação de softwares piratas costumam orientar os usuários a desativar o antivírus, o que os habitua a ignorar possíveis ameaças que eles mesmos acabam instalando em seus computadores.
Durante a análise de um malware que usa redes de blockchain para sua infraestrutura de comando e controle (C2), identificamos um framework modular multiestágio até então desconhecido, que batizamos de MovieReaper. Este relatório descreve em detalhes uma nova campanha de crimeware que começou com uma infecção em massa de usuários por meio de um repositório de arquivos comprometidos, usado por trackers de torrent. Identificamos centenas de vítimas, entre usuários individuais e organizações, em diversos países, como Rússia, Turquia, Japão, Quênia, Uganda e Colômbia, e também em países europeus, como Espanha, Países Baixos, Bélgica e Alemanha. Também analisamos os métodos usados pelos invasores para escapar da detecção por soluções de segurança e sandboxes, bem como as capacidades desse framework modular.
Os produtos da Kaspersky detectam essa ameaça como HEUR:Trojan.Win64.Agent.gen.
Detalhes técnicos
Contexto
Em meados de agosto de 2026, durante atividades de busca proativa por ameaças, identificamos uma campanha em grande escala que usava um malware até então desconhecido, disfarçado de filmes populares. A campanha atingiu tanto usuários individuais quanto organizações em vários países. Nossa análise inicial revelou um ponto em comum entre as vítimas: todas usavam trackers de torrent. Essa descoberta nos levou a investigar a campanha com mais profundidade e a analisar seu mecanismo de distribuição, sua escala e os implantes maliciosos, até então inéditos.
Infecção inicial e distribuição
Trackers de torrent comprometidos são o principal vetor usado para distribuir o malware. Durante nossa investigação, encontramos diversos relatos de usuários que afirmavam ter baixado arquivos suspeitos em vez do conteúdo esperado.
Por exemplo, um usuário de um popular tracker de torrent de filmes relatou o seguinte caso:

A análise mais aprofundada do ataque mostrou que os invasores não comprometeram os próprios trackers de torrent. Em vez disso, invadiram um repositório público de arquivos torrent amplamente usado (itorrents[.]org). Com isso, os trackers de torrent que dependem desse repositório passaram a distribuir, sem saber, arquivos torrent maliciosos aos seus usuários. Essa estratégia é particularmente eficaz, pois permite que os invasores atinjam usuários de vários trackers sem precisar invadir cada plataforma individualmente.
Até a data de publicação deste relatório, o repositório continua comprometido. Quando um usuário tenta baixar um torrent por meio de um link magnet, o repositório, embora legítimo, retorna um arquivo torrent adulterado, o que resulta no download de um loader malicioso em vez do arquivo desejado. Esse loader é usado para implantar o framework MovieReaper.
O loader inicia a cadeia de infecção ilustrada no diagrama abaixo. Cada estágio é descrito em detalhes nas seções a seguir.

Implantes maliciosos
A cadeia de infecção é composta por vários estágios. Para evitar a detecção nos estágios seguintes, todo o código malicioso é executado diretamente na memória: o loader é o único arquivo gravado em disco. O malware não apresenta ofuscação intensa, exceto pela criptografia das strings, feita com uma cifra de fluxo própria. A maioria das contramedidas visa burlar a análise em sandboxes de antivírus.
Estágio 1. Loader
O loader mais comum foi distribuído por trackers de torrent sob diversos nomes (por exemplo, the odyssey (2026) [1080p] [webrip] [5.1].exe), mas o hash do arquivo (MD5: A0B13781EDD7CFDAB13D79AFFF3C83C1) permanecia idêntico em todos os downloads. Observamos também outros loaders, que se disfarçam com um nome de arquivo extenso e o ícone de um aplicativo conhecido, como o VLC. Na maioria dos casos, os nomes são bastante longos, provavelmente para ocultar a extensão .exe no final.
Depois de ser executado manualmente pelo usuário, o loader cria um mutex global para garantir que apenas um loader seja executado por vez. Em nossas amostras, observamos diversas variantes de mutex com nomes que contêm uma string gerada aleatoriamente (por exemplo, Global\fnulSktzSqvVLXHU). Em seguida, esse executável realiza uma série de operações para não ser detectado em sandboxes de antivírus.
Durante essas operações, o malware não recorre às funções LoadLibrary e GetProcAddress para obter os endereços das funções necessárias. Em vez disso, ele localiza as bibliotecas carregadas, percorrendo a lista duplamente encadeada obtida a partir do campo Ldr da estrutura PEB e, em seguida, analisa manualmente a DLL carregada para calcular o endereço de cada função.
Concluídas todas as verificações iniciais, esse binário se prepara para estabelecer uma conexão de rede com o servidor web C2, a fim de baixar um shellcode, mapeá-lo na memória com permissões RWX e executá-lo. Para isso, o loader decodifica a URL https://deadhub[.]org e, caso a conexão falhe, usa o endereço IP http://193.23.118[.]155 como alternativa, conectando-se a ele por HTTP, sem criptografia. O malware seleciona um conjunto aleatório de strings e as usa como caminho na requisição HTTP para baixar partes do shellcode.
Exemplos de URLs:
/cloud/v192.4/ui/sync-status-icons.png
/cloud/v192.4/onboarding/welcome-bg.jpg
/cloud/v192.4/ui/file-preview-placeholder.png
/cloud/v192.4/shared/link-banner.jpg
Para mapear o shellcode no espaço de endereçamento e executá-lo, o loader registra um handler de exceção vetorizado e sobrescreve o endereço do handler na memória para provocar uma interrupção de depuração. Isso não faz o programa falhar, mas redireciona o fluxo de controle para uma função que, na prática, executa diretamente a syscall NtProtectVirtualMemory (por meio da instrução de syscall 0x0F 0x05 localizada previamente na ntdll). Em seguida, o loader chama a função não documentada EtwpCreateEtwThread, da ntdll, uma alternativa comum à CreateThread para execução de código, e inicia o shellcode.
Estágio 2. Shellcode
O segundo estágio desse malware faz uma requisição HTTPS à blockchain da Solana no endpoint /getAccountInfo para a conta 6pnDGAiHgyPdmckM5Qt1YbanGzrX43WLEU159nRaNLDm. A resposta contém um campo data com o endereço do segundo servidor de C2, codificado em base64 e criptografado com uma chave XOR estática embutida no próprio shellcode. Para armazenar os dados nessa conta, os invasores usaram um programa simples da Solana (endereço: CSiY8bQLBYPdfPWkwipBzH6sijTVQVVsA279JQdvwHtL).
Ao usar a blockchain da Solana para distribuir os endereços dos servidores de C2 do próximo estágio, os invasores conseguem aumentar a resiliência da campanha e dificultar os esforços dos defensores para bloquear a infraestrutura.
O código malicioso do segundo estágio se comunica com seu servidor de C2 exclusivamente por HTTPS, usando certificate pinning de TLS e a biblioteca nanopb como contêiner para os dados transmitidos. A lógica principal do implante de segundo estágio contém alguns comandos iniciais, sendo o mais importante aquele que realiza a análise de um arquivo COFF, carrega-o na memória e executa a função module_init contida nele. Isso oferece uma interface conveniente para ampliar a lista de comandos, o que nos leva ao próximo estágio do código malicioso.
Estágio 3. Bypass do UAC e persistência
É importante destacar que os módulos recuperados foram compilados com símbolos de depuração, o que acelerou a engenharia reversa. Depois de obter o estágio seguinte a partir do segundo servidor C2, o módulo recém-carregado executa várias tarefas diretamente na função module_init. O estágio 3 bypassa o UAC e garante a persistência no sistema usando técnicas de conhecimento público, disfarça o binário original de C:\ProgramData\Microsoft\Windows\Telemetry\msedge.exe e se reinicia.
O processo reiniciado é executado a partir do loader original, mas com um argumento de linha de comando especial que permite pular a maioria das verificações de sandbox e iniciar imediatamente o download da próxima carga útil. O executável realiza as mesmas etapas anteriores, mas, dessa vez, em vez de carregar o módulo de persistência e bypass do UAC, baixa um novo módulo do segundo servidor C2. Isso ocorre porque a requisição ao servidor remoto inclui uma flag que indica se o implante está sendo executado a partir da pasta Telemetry, o que permite ao servidor C2 diferenciar a primeira execução das execuções subsequentes (após a persistência e a reinicialização).
Estágio 4. Implante final
O módulo final (file manager) contém 21 comandos que dão ao operador acesso ao sistema de arquivos do host infectado. Ele permite que o operador remoto baixe, envie e leia arquivos no sistema, visualize e liste diretórios, manipule arquivos com comandos de criação, cópia, renomeação, movimentação, exclusão, alteração de permissões e criação de links simbólicos, além de usar comandos de pré-visualização e miniaturas para exfiltrar prévias de imagens e arquivos antes de seu envio completo.
Suspeitamos que outros módulos possam ser baixados conforme a necessidade do operador.
Infraestrutura
Nesta campanha, os invasores usam recursos de diversos provedores comerciais de hospedagem para sua infraestrutura de C2. Além disso, como mencionado acima, a campanha usa a blockchain legítima da Solana por meio do endpoint RPC api.mainnet.solana.com para entregar o endereço do servidor C2 do segundo estágio. Essa abordagem oferece aos invasores um armazenamento descentralizado para os endereços de C2, o que adiciona uma camada extra de resiliência e dificulta que os defensores interrompam a campanha apenas bloqueando os endereços IP dos servidores de C2.
Vítimas
A campanha observada teve como alvo tanto usuários individuais quanto organizações na Europa, na Ásia, na África e na América Latina, com tentativas de infecção identificadas em países como Rússia, Espanha, Alemanha, Finlândia, Turquia, Japão, Nepal, Quênia, Tanzânia, Gana, Uganda, Colômbia, Países Baixos e Bélgica, entre outros. Entre as organizações afetadas, há empresas dos mais diversos setores, incluindo empresas privadas, setor público, TI, consultoria, varejo, transporte e agricultura.
Conclusão
Nossa pesquisa revelou que a atividade observada pertence a um único ator de ameaças e pode ser rastreada desde outubro de 2025. Com o tempo, a campanha evoluiu: os autores do malware ampliaram seu arsenal e tornaram a detecção do loader mais difícil. Ainda assim, o esquema geral permaneceu o mesmo: strings codificadas e partes do shellcode são baixadas por meio do protocolo HTTP comum, e diversas técnicas são usadas para contornar sandboxes e máquinas virtuais. Continuaremos monitorando a atividade desse ator de ameaças para identificar novas ameaças potenciais em tempo hábil.
A oportunidade mais evidente de interromper essa campanha surge no primeiro estágio. Como apenas um nome de domínio e um endereço IP específicos são usados para distribuir o shellcode, bloqueá-los impede o restante da cadeia de infecção. Isso também neutraliza o código malicioso do segundo estágio, que usa a blockchain da Solana para C2 e, portanto, é mais resistente aos métodos tradicionais de bloqueio de infraestrutura.
No entanto, a autonomia, a modularidade e a execução desse framework diretamente na memória possibilitam sua reutilização em futuras campanhas com ajustes mínimos.
Indicadores de comprometimento
Hashes de arquivos
4334BBAEA8DE33BF9D845E9B4E4E3BC2
4843F9FAFCAE492F11E2D4D33DBB4CDD
5310CABAE3FBE6DB8742849B588093F9
A0B13781EDD7CFDAB13D79AFFF3C83C1
70060341CAF3338697A7DDFE0FB62875
AD4643EEA15AC286FA47D1131F9EF756
D0B967571AC8A3863C7F324BF5BDE99C
D88D550D0FB8E60CFFFF3EA61FF7A067
Caminho do arquivo
%ProgramData%\Microsoft\Windows\Telemetry\msedge.exe
Mutexes
Global\E4AyDKzvEhe2hgAr
Global\fnulSktzSqvVLXHU
Domínios e IPs maliciosos
C2 de primeiro estágio:
deadhub[.]org
193.23.118[.]155
C2 de segundo estágio:
208.64.33[.]90
208.94.246[.]53



Ulisses e os troianos, juntos outra vez: MovieReaper ataca usuários em todo o mundo por meio de torrents comprometidos