Un client vous écrit : en arrivant sur votre site, une page « Vérifiez que vous êtes humain » lui a demandé d'appuyer sur la touche Windows et R, puis de coller quelque chose. Vous ouvrez votre site, vous êtes connecté à WordPress, et tout est normal. Votre site est pourtant piraté, et c'est précisément pour que vous ne le voyiez pas que le piège se cache à vos yeux.
Cette arnaque s'appelle ClickFix. Elle n'abîme pas votre site, elle s'en sert : votre réputation et votre trafic Google amènent les victimes, et c'est l'ordinateur de vos visiteurs qui est visé. Ce guide s'adresse au propriétaire du site : reconnaître l'infection, voir ce que voient vos visiteurs, trouver où elle se cache et la retirer dans le bon ordre. Il s'appuie sur un site que nous avons nettoyé en octobre 2026.
Ce que voient vos visiteurs, et pourquoi vous ne voyez rien
Le visiteur arrive sur une page qui imite la vérification de Cloudflare : le logo, la case à cocher, le message qui vous fait patienter. Quand il coche, la page lui donne trois consignes : appuyer sur Windows + R, puis Ctrl + V, puis Entrée. Sur Mac, elle l'envoie vers le Terminal. Au moment du clic, la page a copié une commande dans son presse-papiers. En suivant les consignes, il lance lui-même cette commande, qui télécharge un logiciel malveillant, le plus souvent un voleur de mots de passe : identifiants enregistrés dans le navigateur, sessions ouvertes, portefeuilles de cryptomonnaie.
Aucune vraie vérification Cloudflare ne demande d'ouvrir la fenêtre Exécuter, le Terminal ou PowerShell. Si votre site n'utilise pas Cloudflare, il n'a d'ailleurs aucune raison d'afficher sa vérification.
Vous, vous ne voyez rien, et ce n'est pas un hasard. Le code injecté vérifie qui regarde avant de s'afficher :
- Les administrateurs connectés sont épargnés. Une ligne suffit à tester si le visiteur a les droits d'administration de WordPress. Si oui, la page reste normale. Vous pouvez donc consulter votre site tous les jours pendant des mois sans rien remarquer.
- Les robots aussi. Les scanners en ligne et les robots des moteurs de recherche reçoivent souvent une page propre. Un scan « site sain » ne prouve rien.
- Le piège peut cibler. Selon les variantes : seulement les visiteurs venus de Google, seulement Windows, une seule fois par visiteur. Celui qui vous signale le problème a eu de la chance de le voir.
ClickFix : votre site n'est pas la cible, il est le relais
Pour l'attaquant, un site légitime vaut de l'or : il est bien placé dans Google, connu de ses visiteurs, absent des listes noires. Une fausse vérification sur un site de confiance passe beaucoup mieux qu'une page piégée sur un domaine inconnu.
L'ampleur est réelle. L'Office fédéral suisse de la cybersécurité signalait le 7 août 2026 que plus de 100 000 sites dans le monde affichaient ce type de fausse vérification, la plupart sous WordPress. Une seule campagne analysée par Rapid7, active depuis décembre 2025, comptait plus de 250 sites WordPress compromis : médias locaux, petites entreprises, associations. Aucun secteur n'est visé en particulier : ce qui compte, c'est que le site ait du trafic et une porte ouverte.
Pour vous, les conséquences arrivent en cascade : des visiteurs, parfois des clients, dont l'ordinateur est infecté depuis votre site ; un signalement de Google Safe Browsing qui affiche un avertissement rouge avant votre site ; et un attaquant qui dispose d'un accès administrateur, donc de tout ce que votre site contient.
Voir votre site comme un visiteur
Première règle : déconnectez-vous. Tant que vous êtes connecté à WordPress, vous ne verrez pas le piège.
- Ouvrez une fenêtre de navigation privée, sur un ordinateur Windows si possible.
- Cherchez votre site dans Google et cliquez sur le résultat, plutôt que de taper l'adresse : certaines variantes ne visent que les visiteurs venus d'un moteur de recherche.
- Recommencez sur votre téléphone, avec la 4G plutôt que le wifi du bureau.
- Si la fausse vérification apparaît : fermez l'onglet. Ne cochez rien, ne collez rien, même pour voir.
Le piège peut ne s'afficher qu'une fois par visiteur ou quelques secondes après le chargement. Ne pas le voir ne suffit donc pas à conclure. Le code de la page, lui, ne ment pas. Si vous êtes à l'aise avec un terminal, cette commande récupère votre page d'accueil comme un visiteur sur iPhone arrivé depuis Google, puis liste les scripts qu'elle charge :
curl -s -A "Mozilla/5.0 (iPhone; CPU iPhone OS 18_0 like Mac OS X) AppleWebKit/605.1.15 Safari/604.1" \
-e "https://www.google.com/" https://votresite.fr/ \
| grep -oE '<script[^>]+src="[^"]+"' | sort -u
Chaque domaine de la liste doit vous être familier : le vôtre, Google, votre outil de statistiques, votre outil de chat. Un nom qui imite un service connu sans en être un (un « cdn » quelconque créé il y a quelques semaines) est un signal fort. Cherchez aussi, dans le code source de la page, un bloc de JavaScript illisible de plusieurs dizaines de kilo-octets placé tout en haut ou tout en bas.
- Dans Google, tapez
site:votredomaine.fret parcourez les pages listées. Des titres qui ne vous ressemblent pas sont servis depuis votre site. - Dans Search Console, ouvrez Sécurité et actions manuelles puis Problèmes de sécurité.
- Collez une URL suspecte dans le Test des résultats enrichis et cliquez sur Afficher la page testée, onglet HTML : vous lisez ce que votre site envoie à Google.
Le détail de ces trois vérifications est sur notre page méthode.
Un site vitrine sous WordPress, édité par une petite agence, avec un bon trafic Google. Le 24 octobre, l'équipe nous écrit : des visiteurs voient une vérification Cloudflare qui leur demande de taper une commande. Connectée au site, elle ne voit rien.
En haut de chaque page servie aux visiteurs, deux appels à un script hébergé sur cdn.coredelivr[.]com, un domaine enregistré le 16 septembre 2026, et deux blocs de JavaScript illisibles de 120 Ko. Rien de tout cela pour un administrateur connecté.
Les journaux de sécurité du site ont permis de reconstituer la chronologie :
- 10 juin : une fausse extension donnant un accès à distance au serveur est déjà en place.
- Fin juillet : de nombreuses tentatives de connexion automatisées visent les comptes administrateurs.
- 1er août, 4 h 02 : connexion réussie avec le compte d'un ancien prestataire, toujours administrateur. Un gestionnaire de fichiers est installé ; sept heures plus tard, un administrateur caché est créé.
- 15 août : une fausse extension d'optimisation d'images va chercher le code du piège sur une blockchain, là où aucun antivirus ne peut le faire supprimer. Les visiteurs sont exposés au moins depuis cette date.
- 4 et 14 octobre : deux nouvelles fausses extensions et une modification du thème installent la fausse vérification Cloudflare. L'administrateur caché se connecte une trentaine de fois et crée trois comptes jetables.
- 24 octobre : nettoyage. Le contrôle externe deux jours plus tard est propre.
Plus de quatre mois d'accès administrateur sans que personne ne s'en aperçoive. Et un détail aggravant : l'hébergement était plein, rempli par trois ans de sauvegardes automatiques jamais purgées. Le site n'était plus sauvegardé depuis le 25 mai.
Les cachettes de l'infection dans WordPress
Retirer le script de la page ne sert à rien si l'on ne retire pas ce qui le remet en place. Dans le cas ci-dessus, l'infection tenait en sept éléments, répartis là où un propriétaire ne regarde jamais.
| Emplacement | Ce qu'on y a trouvé | Pourquoi on le rate |
|---|---|---|
wp-content/mu-plugins/ | Un fichier qui recrée l'administrateur caché s'il est supprimé, le masque de la liste des utilisateurs et injecte le script dans toutes les pages | Les « mu-plugins » se chargent seuls, ne se désactivent pas et n'apparaissent presque nulle part dans l'administration |
wp-content/plugins/ | Cinq fausses extensions aux noms plausibles : un faux « optimiseur », un faux gestionnaire de fichiers, des noms techniques inventés | Une extension malveillante peut se retirer elle-même de la liste affichée dans l'administration |
| Le thème | Une ligne ajoutée dans header.php et footer.php | Personne ne relit son thème ; une mise à jour l'efface, mais le pirate la remet tant qu'il garde un accès |
| Les utilisateurs | Un administrateur caché avec une adresse e-mail en @localhost.local, puis trois comptes jetables | Masqué dans l'écran des utilisateurs de WordPress par le mu-plugin |
| La base de données | Une option qui stockait les informations du pirate | Rien ne l'affiche dans l'administration |
D'autres campagnes stockent le script dans la table wp_options ou dans un « drop-in » comme advanced-cache.php. La règle reste la même : toute cachette doit être vérifiée depuis le serveur, pas depuis l'administration de WordPress, que le pirate contrôle.
Si vous avez un accès SSH et WP-CLI, ces commandes listent ce qui existe réellement. L'option --skip-plugins --skip-themes empêche les extensions et le thème de se charger, et donc de se cacher. Elle ne bloque pas les mu-plugins, que WP-CLI charge quand même : regardez ce dossier en premier, et déplacez hors du site tout fichier suspect avant de lancer les autres commandes :
# Les mu-plugins : il n'y en a souvent aucun, chacun doit s'expliquer
ls -la wp-content/mu-plugins/
# Les extensions présentes sur le disque, avec leur date
ls -lt wp-content/plugins/
wp plugin list --fields=name,status,version --skip-plugins --skip-themes
# Les extensions de WordPress.org intactes ou modifiées
wp plugin verify-checksums --all --skip-plugins --skip-themes
# Tous les administrateurs, y compris ceux masqués dans l'interface
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered --skip-plugins --skip-themes
# Le domaine du script trouvé dans la page, partout dans le site
grep -rl "domaine-du-script" wp-content/
wp db search "domaine-du-script" --all-tables --skip-plugins --skip-themes
Une extension que verify-checksums ne trouve pas sur WordPress.org n'est pas forcément malveillante : vos extensions premium y apparaissent aussi. Ouvrez celles que vous ne reconnaissez pas, et regardez leur date d'installation : dans notre cas, les fausses extensions étaient les plus récentes du dossier.
Nettoyer dans le bon ordre
L'ordre compte, parce que les éléments se protègent entre eux : supprimer l'administrateur avant le fichier qui le recrée ne sert à rien.
- Copier l'état piraté. Fichiers et base de données, infection comprise, rangés hors du serveur. Cette copie sert à comprendre l'entrée et à prouver ce qui s'est passé.
- Supprimer le mu-plugin en premier. C'est lui qui recrée l'administrateur et réinjecte le script.
- Supprimer les fausses extensions en effaçant leur dossier, pas en les désactivant : une extension désactivée reste un fichier exécutable sur le serveur.
- Retirer les lignes ajoutées au thème, ou réinstaller le thème depuis une copie officielle.
- Supprimer les administrateurs pirates et ce qu'ils ont laissé en base, puis relancer la liste des administrateurs : elle doit être stable.
- Couper toutes les sessions en régénérant les clés de sécurité de
wp-config.php(wp config shuffle-salts) : tous les utilisateurs, attaquant compris, sont déconnectés. - Vider tous les caches : extension de cache, cache de l'hébergeur, CDN. Une page mise en cache pendant l'infection continue de servir le piège après le nettoyage.
- Recontrôler comme un visiteur, avec la méthode plus haut, sur une dizaine de pages.
Le détail de chaque étape, avec les vérifications du cœur de WordPress et du dossier uploads, est dans notre guide pour nettoyer un site WordPress piraté.
Fermer la porte d'entrée
Le nettoyage retire l'infection ; il ne dit pas comment elle est entrée. ClickFix n'a pas de faille propre : les attaquants entrent par les portes habituelles de WordPress, puis installent leur piège. Les plus fréquentes :
- Un compte administrateur qui n'aurait plus dû exister. Dans notre cas, celui d'un ancien prestataire, avec un mot de passe deviné ou volé sur son ordinateur. Chaque compte d'administrateur est une porte : supprimez ceux des prestataires à la fin de leur mission, et donnez aux autres le rôle minimum.
- Une extension en retard de mises à jour, ou une extension premium dont la licence a expiré et qui ne reçoit plus ses correctifs.
- Un mot de passe réutilisé sur un autre service qui a fuité.
Après le nettoyage, changez tous les mots de passe depuis un ordinateur sain : comptes administrateurs, espace client de l'hébergeur, FTP et SFTP, base de données (à reporter dans wp-config.php). Supprimez les mots de passe d'application inconnus. Activez la double authentification sur chaque compte administrateur : un mot de passe deviné ne suffit plus pour entrer. Prévenez enfin le prestataire dont le compte a servi : c'est peut-être son ordinateur qui est infecté, et vos autres accès avec.
Vos visiteurs, Google et la CNIL
Ce que vous pouvez dire aux visiteurs exposés
Vous ne savez pas qui a suivi les consignes. Si votre site a des clients identifiés, un message court suffit : la date d'exposition, la description du faux écran, et la consigne pour ceux qui ont tapé la commande. Ceux-là doivent déconnecter l'ordinateur d'Internet, changer leurs mots de passe depuis un autre appareil (messagerie et banque en priorité), et faire examiner la machine. La plateforme publique Cybermalveillance.gouv.fr les oriente vers un professionnel.
Ouvrez le rapport Problèmes de sécurité de Search Console. Un site qui pousse ses visiteurs à installer un logiciel malveillant peut y être signalé, avec un avertissement rouge dans les navigateurs. Une fois le site propre, la demande de réexamen fait lever l'avertissement : notre article sur les problèmes de sécurité dans Search Console détaille la démarche.
La CNIL
Le vol de données se passe sur l'ordinateur du visiteur, pas sur votre site. Mais l'attaquant avait un accès administrateur : s'il a pu consulter des données personnelles (messages des formulaires, comptes clients, commandes), c'est une violation de données à évaluer au regard du RGPD, et à notifier à la CNIL dans les 72 heures si elle présente un risque pour les personnes.
Ne pas en arriver là
Le point commun de ces infections, c'est leur durée : des semaines, souvent des mois, parce que le propriétaire est la seule personne à qui le piège reste invisible. Une surveillance qui regarde le site de l'extérieur, comme un visiteur, l'aurait vu dès le premier jour. Des mises à jour suivies, des comptes administrateurs tenus à jour et des sauvegardes rangées hors de l'hébergement auraient fermé la porte ou réduit l'addition.
C'est le contenu de notre maintenance à 200 € HT par mois : mises à jour testées, sauvegardes externes, contrôle régulier du site tel que le voient vos visiteurs et Google.
Le faire vous-même ou le confier
Tout ce qui précède est faisable seul avec un accès SSH, du temps et de la méthode. Ce type d'infection ne pardonne pas l'oubli : un mu-plugin laissé en place, et l'administrateur caché revient dans la minute. Si vous préférez le confier, nous faisons ce parcours de la recherche de l'entrée au contrôle final, avec un rapport écrit de ce qui a été retiré. BetterCallBil est référencé sur la plateforme Cybermalveillance.gouv.fr ; notre méthode décrit ce que nous vérifions avant toute intervention, et le guide site piraté rassemble nos autres articles.
Diagnostic gratuit, nettoyage 450 € HT, rien ne démarre sans votre accord écrit.
Questions fréquentes
Qu'est-ce que l'attaque ClickFix ?
ClickFix est une arnaque qui affiche une fausse vérification, souvent une imitation de Cloudflare, et demande au visiteur de coller puis d'exécuter une commande sur son ordinateur : Windows + R, Ctrl + V, Entrée. La commande installe un logiciel malveillant, le plus souvent un voleur de mots de passe. Elle est diffusée par des sites légitimes piratés, en majorité sous WordPress.
Pourquoi je ne vois pas le faux CAPTCHA sur mon propre site ?
Parce que le code injecté vérifie qui regarde : il ne s'affiche pas aux administrateurs connectés à WordPress, ni le plus souvent aux robots et aux scanners. Pour le voir, déconnectez-vous, ouvrez une fenêtre de navigation privée et arrivez sur votre site depuis un résultat Google.
Une vraie vérification Cloudflare peut-elle demander d'appuyer sur Windows + R ?
Non. Une vraie vérification Cloudflare se contente d'une case à cocher ou d'une attente de quelques secondes. Toute page qui demande d'ouvrir la fenêtre Exécuter, le Terminal ou PowerShell pour y coller une commande est une arnaque.
Supprimer le script de la page suffit-il ?
Non. Le script est remis en place par d'autres éléments : un fichier dans mu-plugins, une fausse extension, un administrateur caché. Il faut retirer tous ces éléments, dans le bon ordre, puis fermer la porte par laquelle l'attaquant est entré et vider les caches.
Un visiteur a tapé la commande : que doit-il faire ?
Déconnecter l'ordinateur d'Internet, changer ses mots de passe depuis un autre appareil, en commençant par la messagerie et la banque, et faire examiner la machine par un professionnel. Cybermalveillance.gouv.fr oriente vers un prestataire.
Combien coûte le nettoyage d'un site qui affiche un faux CAPTCHA ?
Chez BetterCallBil, le diagnostic est gratuit et le nettoyage coûte 450 € HT : recherche de l'entrée, retrait de l'infection et de ses portes dérobées, contrôle final et rapport écrit. La maintenance qui suit est à 200 € HT par mois.
Fondateur de BetterCallBil, prestataire référencé sur la plateforme Cybermalveillance.gouv.fr. Plus de dix ans de sites web, 200 sites gérés, et depuis 2026 une veille quotidienne des sites français qui servent du spam à Google. Notre méthode · Mentions légales
