Por por Neil Tyagi
Resumo executivo
A equipe da McAfee Advanced Threat Research identificou uma campanha ativa de extensões maliciosas de navegador projetada para roubar criptomoedas, substituindo discretamente endereços de carteiras no momento em que o usuário inicia uma transação. A campanha é executada por meio de instaladores não assinados — encontrados nas versões .NET e Golang — que instalam uma extensão maliciosa do Chromium disfarçada como um utilitário inofensivo chamado “Google Notes”.
Esta campanha está relacionada a um blog publicado anteriormente pelo McAfee Labs, Sinkholing CountLoader: Insights into Its Recent Campaign, já que o autor da ameaça parece ser o mesmo por trás de ambas as operações. Na pesquisa anterior, analisamos uma carga útil de crypto clipper injetada diretamente na memória. este artigo, examinamos uma variante diferente da carga útil do estágio final: uma extensão maliciosa baseada em navegador, projetada para interceptar e manipular transações de criptomoedas.
Neste relatório, detalhamos como a extensão opera e apresentamos uma análise técnica dos mecanismos que tornam essa ameaça particularmente única. A extensão se comporta como um crypto clipper que monitora a área de transferência: ela monitora atividades de copiar e colar, identifica endereços de carteiras em múltiplas blockchains e os substitui por endereços controlados pelo invasor imediatamente antes de a vítima colar o conteúdo. Como a maioria das transações em blockchain é irreversível, basta uma única execução ininterrupta para causar perda financeira permanente.
Duas características fazem com que esta campanha se destaque em relação à ameaça típica de clippers:
- Abuso da camada de confiança do Chromium. O instalador força secretamente uma extensão maliciosa de navegador em navegadores baseados em Chromium, como Google Chrome, Brave e Microsoft Edge, modificando arquivos de configurações protegidos do navegador. Normalmente, esses navegadores armazenam dados de verificação de segurança (valores de hash/HMAC) junto com configurações confidenciais para detectar alterações não autorizadas. O malware recalcula e atualiza esses valores de segurança depois de adulterar os arquivos, fazendo com que o navegador acredite que a extensão maliciosa foi instalada de forma legítima. Isso permite que a extensão ignore o processo normal de instalação da loja de extensões e seja carregada automaticamente, sem a aprovação do usuário. No entanto, nas versões atualizadas dos navegadores Chrome e Edge, a vítima precisa ativar manualmente o modo de desenvolvedor para que a extensão seja carregada corretamente; já quem usa versões desatualizadas de navegadores baseados no Chromium continua correndo um risco alto. Além disso, mesmo nas versões mais recentes, os invasores podem empregar táticas de engenharia social para ativar o modo de desenvolvedor.
- Comando e controle resolvidos por blockchain. A extensão não contém um domínio de C2 (comando e controle) embutido no código. Em vez disso, ela consulta um endpoint RPC público de blockchain, chama um método de contrato inteligente somente leitura e decodifica a resposta em tempo de execução para revelar seu C2 ativo, observado no momento da análise como Zebregts[.]com
- Essa técnica, frequentemente conhecida como “EtherHiding,” dificulta os esforços de desarticulação porque o invasor pode rotacionar a infraestrutura atualizando um valor no contrato inteligente, em vez de precisar redistribuir o malware.
A telemetria da McAfee indica um alcance de infecção distribuído globalmente, com uma concentração acentuada na Índia. A abrangência geográfica sugere um direcionamento oportunista voltado a usuários comuns de criptomoedas, em vez de uma operação específica para uma região.
Distribuição geográfica

A análise de telemetria indica que as infecções estão distribuídas globalmente, com uma concentração significativamente maior observada na Índia em comparação com outras regiões.
A ampla presença geográfica destaca o grande alcance da campanha, o que sugere uma abordagem oportunista, em vez de um ataque direcionado a uma região específica.
A extensão maliciosa: “Google Notes”
Este malware se disfarça como uma extensão aparentemente inofensiva do Google Notes.

A extensão instalada finge ser um aplicativo de anotações simples, com aparência legítima chamado “Google Notes”, com um ícone moderno e uma interface funcional e simples.
A estratégia é bem planejada: quando um usuário abre a extensão manualmente, vê que ela funciona exatamente como anunciado, o que reduz a desconfiança. A lógica maliciosa da extensão é implementada por scripts de conteúdo e scripts de service worker em segundo plano que operam totalmente fora do campo de visão da interface do usuário.
O primeiro grande sinal de alerta surge durante a instalação da extensão, quando ela solicita permissões e níveis de acesso incompatíveis com um simples aplicativo deanotações:
- Acesso a todos os URLs , permitindo a injeção de scripts de conteúdo em todos os sites visitados pelo usuário.
- Acesso ao histórico de navegação.
- Acesso de leitura e gravação à área de transferência.
Medidas de mitigação e recomendações
Para consumidores
- Antes de confirmar qualquer transação de criptomoeda, verifique visualmente os primeiros e os últimos seis caracteres do endereço do destinatário comparando-os com endereço original fornecido — de preferência em um dispositivo separado. Esse único hábito é capaz de impedir a grande maioria dos ataques do tipo clipper.
- Instale extensões de navegador exclusivamente pela loja oficial do Chrome, pela loja de complementos do Edge ou em plataformas equivalentes. Uma extensão que aparece na sua lista de extensões instaladas, mas da qual você não se lembra claramente de ter instalado, deve ser considerada suspeita.
- Verifique as permissões concedidas a todas as extensões instaladas. Uma ferramenta para anotações não tem motivo válido para acessar todos os sites, o histórico de navegação ou a área de transferência.
- Evite executar arquivos sem assinatura obtidos de fontes não oficiais, principalmente aquelas que oferecem versões gratuitas ou piratas de softwares pagos — um vetor de distribuição comum para esse tipo de instalador.
- Mantenha a proteção dos endpoints atualizada e ativada; os clientes da McAfee estão protegidos contra essa campanha específica, conforme descrito abaixo.
As soluções de segurança da McAfee ajudam a proteger os usuários em vários níveis:
1. A McAfee detecta essa ameaça como CryptoStealer.NE e mantém nossos clientes protegidos

2. Proteção contra downloads maliciosos
O comportamento do instalador — que baixa e executa cargas úteis remotas — é assinalado e bloqueado pela McAfee antes que a infecção seja concluída. Todos os domínios e URLs maliciosos são bloqueados pela McAfee em nossos testes.
3. Proteção de rede
As conexões com infraestruturas maliciosas conhecidas (servidores C2) são bloqueadas pela McAfee, impedindo a obtenção do endereço da carteira
4. Informações sobre ameaças em tempo real
Como essa ameaça foi identificada na telemetria da McAfee, é possível implementar rapidamente proteções para:
-
- Bloquear variantes semelhantes
-
- Detectar infraestrutura relacionada
-
- Proteger os clientes em todo o mundo
Como funciona a campanha de ameaças
O que o malware faz
-
- Instala uma extensão de navegador sem que você perceba (sideloading de extensão da Web)
- Monitora o que você copia e cola (principalmente endereços de criptomoedas)
- Atua quando você está fazendo uma transação de criptomoeda
- Substitui discretamente o endereço da carteira pelo endereço do invasor
- Seus fundos são enviados para o invasor, em vez de para o destinatário pretendido
Como as transações de criptomoedas normalmente não podem ser revertidas, as vítimas podem perder seus fundos permanentemente.
Figura 3. Resumo de como a extensão funciona
Principais capacidades identificadas
1. Instalação da extensão sem o conhecimento do usuário
O malware não usa a loja oficial do navegador. Em vez disso, ele modifica diretamente os arquivos do navegador para fazer parecer que a extensão está instalada. (sideloading de extensão do navegador)
Isso contorna os avisos de segurança convencionais e ocorre sem que o usuário perceba.

2. Acesso total ao navegador


A extensão maliciosa pede permissões excessivas, como:
- Acesso a todos os sites
- Leitura do histórico de navegação
- Leitura e modificação do conteúdo da área de transferência
3. Interceptação de endereços de criptomoedas
A extensão contém uma lógica capaz de detectar endereços de carteiras de várias criptomoedas, incluindo:

- Os endereços de carteira de fallback exibidos no código não são usados em todas as transações; em vez disso, funcionam como um mecanismo de backup quando a recuperação dinâmica de endereços do servidor controlado pelo invasor falha.
- Em condições normais de funcionamento, a extensão busca endereços alternativos em um servidor remoto, permitindo a atribuição dinâmica de carteiras, possivelmente com endereços exclusivos para cada vítima.
- Os endereços de fallback garantem que o ataque permaneça funcional mesmo se a infraestrutura de comando e controle ficar temporariamente indisponível ou for bloqueada.

- Essa função é responsável por obter o endereço de carteira de substituição controlado pelo invasor correspondente ao endereço original da vítima.
- Ela envia o endereço de carteira interceptado para o back-end do invasor e usa a resposta para substituir dinamicamente o endereço original.
- Se a solicitação ao backend falhar, a função recorre a um endereço de carteira pré-definido e codificado, garantindo que a atividade maliciosa continue sem interrupções.
- 3J98t1Wxxxx é o endereço que foi copiado para a área de transferência
4. Evasão de detecção e furtividade

- A configuração inclui uma chave de API fixa, que é usada pela extensão para autenticar a comunicação com a infraestrutura controlada pelo invasor.
- Um URL RPC que aponta para um nó público de blockchain é utilizado para resolver dinamicamente informações do servidor de back-end, permitindo que o invasor oculte a infraestrutura crítica por trás de sistemas descentralizados.
- A presença de um endereço de contrato inteligente e de um método indica que o malware recupera indiretamente o domínio de comando e controle (C2) por meio de consultas à blockchain, dificultando a interrupção da operação e o rastreamento.
- A lista de domínios bloqueados contém sites de análise de blockchain nos quais a extensão da Web não funcionará. Isso é feito para não alertar a vítima enquanto ela tenta colar seu próprio endereço e visualizar o saldo da carteira ou inspecionar suas transações


- A análise dinâmica revelou que o malware resolve o domínio de comando e controle por meio de um contrato inteligente da blockchain, que retornou o domínio devops-offensive[.]cc em tempo de execução.
- A resposta da blockchain é decodificada em tempo de execução, revelando o domínio C2 ativo (devops-offensive.cc).
- Esse domínio não está embutido no código, o que permite que o invasor atualize a infraestrutura sem precisar modificar o malware.
- O domínio resolvido é armazenado em cache localmente para manter a persistência e reduzir consultas repetidas à rede.

Essa string é decodificada por esta função para retornar o domínio final do invasor.

Técnicas de persistência e evasão
A estratégia de persistência e evasão da campanha é deliberada e apresenta várias camadas. O operador claramente otimizou dois aspectos: baixa visibilidade para o usuário final e alta resiliência contra interrupções da operação e análise estática.
Persistência
- O registro de extensões por meio de adulteração dos arquivos Secure Preferences garante que a extensão seja carregada em cada abertura subsequente do navegador, sem exigir qualquer mecanismo auxiliar de persistência no Windows — sem chaves do Registro, tarefas agendadas ou serviços normalmente inspecionados por investigadores de endpoints.
- O modo de desenvolvedor é ativado de forma programada quando necessário, possibilitando que as extensões descompactadas persistam sem desencadear um fluxo de “aviso de extensões descompactadas”, exibido pelo Chromium para prevenção de sideloading.
- O domínio C2 armazenado em cache permite que a extensão continue operando sobre um back-end notoriamente benigno, mesmo que o endpoint de RPC de blockchain esteja momentaneamente indisponível.
Evasão
- A identidade visível da extensão — um simples aplicativo de anotações chamado “Google Notes” — fornece uma cobertura plausível contra uma inspeção casual da lista de extensões instaladas.
- Os valores HMAC recalculados satisfazem a verificação de integridade do Chromium, evitando o aviso “extensão instalada de uma fonte desconhecida” que, de outra forma, alertaria o usuário.
- O instalador se exclui automaticamente após a execução, removendo o indicador mais óbvio da presença inicial do comprometimento no disco.
- A resolução de C2 por meio de uma blockchain pública significa que não há um domínio C2 persistente observável no próprio pacote do malware; as detecções baseadas em rede criadas com base em indicadores fixos no código não serão acionadas até que o domínio seja resolvido e contatado.
- Variantes de instalador em múltiplas linguagens (.NET e Golang) reduzem a eficácia de assinaturas binárias de recursos e anomalias de compilação.
- A substituição dinâmica de carteiras por endereço significa que os endereços publicados pelo invasor perdem validade rapidamente e não se tornam entradas de lista de bloqueio duradouras — quem está se defendendo precisa bloquear o próprio serviço de back-end, não os endereços que ele fornece.
Lógica de substituição de carteira
A lógica do clipper está dividida em duas camadas: uma camada de script de conteúdo, que monitora a atividade da área de transferência e os campos de entrada das páginas da web em todas as origens visitadas, e uma camada em segundo plano, que se comunica com o back-end do invasor para obter endereços de substituição. Quando a extensão detecta um evento de cópia, ela aplica um conjunto de expressões regulares específicas de criptomoedas ao conteúdo da área de transferência. Se uma correspondência for encontrada, o endereço interceptado é enviado ao back-end do invasor por meio de uma solicitação autenticada (autenticada com a chave de API incorporada na configuração). O back-end responde com um endereço de substituição específico para o endereço original enviado, e esse endereço substituto é gravado novamente na área de transferência, sobrescrevendo o endereço legítimo antes que a vítima consiga colar. Testes realizados com um cliente de back-end reconstruído — desenvolvido com uma reimplementação do formato de solicitação de extensão e da lógica de decodificação de respostas em Python — produziram um perfil comportamental revelador:
- Bitcoin (BTC), Ethereum, Bitcoin Cash, Ripple e Dash: cada endereço enviado é associado a um endereço exclusivo controlado pelo invasor. O reenvio do mesmo endereço original retorna o mesmo endereço de substituição, indicando um mapeamento determinístico individual (um para um) mantido no lado do servidor.
- Solana: todos os endereços enviados são direcionados para um único endereço do invasor, sugerindo que o recurso de mapeamento por vítima é implementado seletivamente para cada blockchain
Analisando as carteiras de criptomoedas dos invasores
Com base nos trechos de código da extensão do navegador responsável por recuperar endereços de substituição, foi preparado um script em Python para extrair automaticamente os endereços das carteiras de criptomoedas dos invasores. A carga útil foi criada usando o próprio código do invasor, e o trecho responsável por “obter endereço de substituição” foi extraído diretamente desse código. A lógica usada pelo invasor para decodificar os dados recebidos do servidor C2 também foi fielmente reimplementada no script.
O script foi então executado usando alguns endereços de carteiras de teste de Bitcoin (BTC) . Os resultados mostraram que, para cada endereço de Bitcoin fornecido, um endereço de Bitcoin exclusivo era retornado como resposta, e todos esses endereços retornados eram carteiras de BTC válidas. Isso indica que, para cada endereço de BTC fornecido, o invasor gera dinamicamente uma nova carteira vinculada a esse endereço de entrada específico. Além disso, quando o mesmo endereço foi fornecido novamente, o mesmo endereço BTC foi retornado — o que confirma que cada endereço BTC das vítimas está mapeado de forma determinística para um único endereço específico controlado pelo invasor. Embora algumas dessas carteiras dos invasores contivessem fundos e outras estivessem vazias, o número total desconhecido de carteiras dos invasores dificulta estabelecer uma estimativa confiável de quanto de criptomoeda foi roubado no total.
O mesmo comportamento foi observado no Ethereum, em que diferentes endereços de carteira eram retornados para cada entrada. Curiosamente, quando o script foi testado com endereços da blockchain Solana, apenas um único endereço era retornado, independentemente da quantidade de entradas diferentes fornecidas. Isso sugere que o invasor implementou o recurso de mapeamento por endereço apenas para algumas redes de criptomoedas, enquanto outras utilizam uma única carteira de destino estática. Como o endereço da Solana é compartilhado entre todas as vítimas, é possível observar um aumento perceptível no saldo desse endereço. Além disso, descobriu-se que um dos endereços de Ethereum identificados continha aproximadamente 1.902 USD em fundos.
Em resumo, as criptomoedas para as quais são gerados endereços exclusivos de carteira por vítima incluem Bitcoin, Ethereum, Bitcoin Cash, Ripple e Dash.
Fig 13. A carga útil foi criada usando o código do invasor


Execução do script usando alguns endereços de carteiras Bitcoin de teste



Felizmente, no caso da Solana, estamos obtendo apenas 1 endereço quando vários endereços são fornecidos. Isso mostra que o invasor implementou esse recurso de mapeamento de endereços apenas em criptomoedas específicas


Análise técnica do arquivo .net (instalador de extensão)


- O malware incorpora uma configuração JSON completa diretamente no binário, eliminando a necessidade de buscar dados de configuração inicial em fontes externas.
- Essa configuração incorporada inclui detalhes essenciais, como chaves de API, URL do servidor de back-end, extensões de carteira visadas e o manifesto completo da extensão com permissões abrangentes.

- O instalador recupera e valida um arquivo ZIP remoto (google-services[.]cc/base[.]zip), que atua como a principal carga útil para instalar a extensão de navegador maliciosa, marcando a transição da infecção inicial para o comprometimento do navegador.


- O instalador percorre vários navegadores baseados em Chromium, incluindo Chrome, Edge, Opera e Brave, identificando os perfis de usuário disponíveis no sistema.
- Para cada perfil detectado, o malware encerra à força o processo do navegador para modificar com segurança os arquivos de configuração sem interferência.
- Em seguida, ele injeta a extensão maliciosa modificando diretamente os arquivos de configuração Secure Preferences e Preferences, permitindo que a extensão seja carregada sem interação do usuário.

- O malware identifica os caminhos de instalação dos navegadores consultando diretórios padrão do sistema, permitindo localizar as pastas de dados do usuário do Chrome, Edge, Opera e Brave.
- Ele enumera sistematicamente os perfis dos navegadores e procura especificamente a presença do arquivo Secure Preferences, que armazena configurações críticas do navegador e dados de extensões.
- Ao direcionar os perfis que contêm o arquivo Secure Preferences, o malware garante que modifica apenas ambientes de navegador válidos, aumentando a confiabilidade da injeção da extensão.


- O malware lê e modifica o arquivo Secure Preferences do navegador, que controla as extensões instaladas e seu status de confiança.
- Ele injeta a extensão maliciosa na configuração e tenta reassinar os dados modificados, fazendo com que as alterações pareçam legítimas nas verificações de integridade do navegador.
- A configuração atualizada é então gravada novamente no disco, garantindo que a extensão seja carregada automaticamente e permaneça após reinicializações do navegador.


- Para navegadores como Brave e Opera, o malware injeta a extensão maliciosa diretamente na configuração do navegador, adicionando entradas na seção extensions.settings (ou extensions.opsettings).
- Ele também atualiza campos relacionados à integridade (protection.macs) para fazer com que a extensão injetada pareça confiável para o navegador.
- Além disso, o malware tenta habilitar o modo de desenvolvedor programaticamente, permitindo que extensões não empacotadas sejam executadas com menos restrições.

- O malware tenta recalcular as assinaturas de integridade do navegador gerando novos valores MAC (código de autenticação de mensagem) para o arquivo Secure Preferences modificado.
- Ele usa identificadores específicos do sistema, como o SID da máquina, combinados com um valor de semente para simular o mecanismo interno de verificação do Chrome.
- Ao recalcular essas verificações de integridade (macs e super_mac), o malware tenta fazer com que suas modificações não autorizadas pareçam legítimas para o navegador.

- O malware inclui um mecanismo de autoexclusão projetado para remover o arquivo executável do instalador após a execução bem-sucedida.
- Ele inicia um processo oculto de prompt de comando que atrasa brevemente a execução antes de excluir o arquivo original do disco.
Conclusão
Esta campanha ilustra de forma concisa os rumos do roubo de criptomoedas direcionado aos consumidores. O autor da campanha tomou como base a categoria mais antiga e simples de malware de criptomoedas — o clipper — e, discretamente, aprimorou três de seus pontos mais fracos. Os endereços estáticos controlados pelo invasor foram substituídos por um mapeamento feito pelo servidor, específico para cada vítima. Domínios de comando e controle (C2) vulneráveis, codificados diretamente no malware, foram substituídos por uma consulta resolvida via blockchain que o operador pode alternar com uma única transação. E um dropper vulnerável foi substituído por uma extensão do Chromium integrada ao aplicativo em que o usuário mais confia, carregada sob a própria assinatura de integridade do navegador.
A McAfee vai continuar acompanhando essa campanha e a infraestrutura relacionada. Nossos clientes estão protegidos pelos mecanismos de detecção já existentes e vão se beneficiar de atualizações baseadas em telemetria à medida que novas variantes e infraestruturas alternadas forem identificadas.
Indicadores de Compromisso (IOC)
| Tipo | Categoria | Valor |
| SHA-256 | Instalador .NET (BaseZipInstaller) | 2735e12030c195fb5454e4736c51b55b59664b93cae9f4bd5317afcd9c2af0bf 053620962047f50a91c6e8d1a6519eccc41fab51473f033086b4d816abe8bcb0 |
| SHA-256 | Variante do instalador compilada em Golang | 11be4c47ff049322de41743f62544cafd32d67e24ad653b7ebedf8ebd63e0962 1432393691b415d0cd4680d9cee73e60896fbe63300d9f0355c96e91817e4b1d |
| URL | Distribuição da carga útil | hxxps://google-services[.]cc/base[.]zip |
| Domínio | Comando e Controle (resolvido por meio de contrato inteligente) | devops-offensive[.]cc Zebregts[.]com |
| Carteira de BTC | Carteira de criptomoedas | 3JvDBvKbS6YYMKjV3R9e9Zfd67f467fNLy 1BbhVBxpniuZuAL1gGZnEMdQhmz9JGWpyT 3AcPNVh7NyESwX3ECymy3rkdH4Ke2c26Tj 1BVTrB47erypG3tevi1U9Fv6BbNUBEiuiX |
| Artefato | Alvo de sideload | Arquivo Secure Preferences do Chromium (perfis do Chrome, Edge, Brave e Opera) |
| Arquivos de extensão | manifest.json
crypto-patterns.js Interceptor.js content-script.j cache.js domain-resolver.js service-worker.js api-client.js |
ed2599d6a8f30d5eaf14ad7f855aece0acdf7efa4a148eb18e4d9f0d8e2cd90c daf82c67e8e5df6bbd5370172ac9374aa7dce48af05496e8ec3dba7b602c619b 6eb2f07265dd95cacd39dfcf0705786b97f3e173cf4e9b3dfe7bad141c9a9dd5 a2ffdbedc5c9f5400a2b1cf5d35f5ec1df06a74d0345f1035bcf75d36ed73e01 eb84ba4a0cd95655a021865d4fec93ae3393f86cc9848810ed0b49035b1c5e2c 6aaba685669d779ef8be8f7f4231096cfafd0ef386f3897c5e2106c177724fc8 2599064901308a97540af29197ed0b38702bbee38d6dbbfa61cf9eb5878353f3 ab450927b37e1b68e2be68832c354ac600e86e2545a904d4ca0ea283f2600cc2 |