FileFix : émergence d’une variante de la technique d’attaque ClickFix
Une nouvelle campagne malveillante a été observée ces dernières semaines, reposant sur une évolution de la technique FileFix, elle-même issue de la méthode initiale dite ClickFix. Cette menace incite les utilisateurs à télécharger un fichier malveillant, qui, dans notre cas, précède la mise en place d’un environnement d’exécution Python portable pour déployer un malware de type stealer, c’est-à-dire un voleur de données.
L’attaque repose sur un scénario d’apparence triviale : l’utilisateur est confronté à une page affichant un faux mécanisme de validation reCAPTCHA, ou un formulaire imitant une procédure de sécurité. Pensant devoir passer une étape légitime, il est invité à télécharger et exécuter un fichier VBScript. Derrière cette façade simpliste se cache un processus élaboré permettant le déploiement d’un stealer Python conçu pour collecter et exfiltrer des données sensibles stockées dans les navigateurs web.
Par Julien D.

Julien D. est analyste de la menace cyber depuis juin 2022, chez Sysdream, la division cybersécurité de Hub One. Comme tant d’autres de ses collègues, pour Julien, la cybersécurité est plus qu’un travail, c’est une véritable passion ! A tel point que Julien décide d’approfondir le sujet en s’intéressant à la psychologie des acteurs malveillants pour comprendre leurs comportements. Formé en intelligence économique, Julien se concentre surtout aujourd’hui sur la protection de l’information des organisations. Pour mieux appréhender ce volet défensif, Julien approfondit ses connaissances en s’intéressant aux sujets politiques, culturels et géoéconomiques, qui lui permettent d’avoir une vision globale des faits de société et de mieux appréhender les potentielles intrusions. Côté technologique, avec Julien, nous ne sommes jamais loin de son métier puisque son attrait va pour le logiciel Maltego, un outil de collecte d’informations qui permet l’exploration de données sur un sujet choisi. On ne se refait pas !
Une compromission observée par SysDream
Les équipes de SysDream ont eu l’occasion d’analyser un échantillon actif de cette campagne. L’attaque démarrait par une page web piégée, hébergée sur un domaine en .top, présentant un faux reCAPTCHA. Le stratagème invitait l’utilisateur à télécharger un fichier nommé Verify.vbs.

Source : Any Run
L’exécution de ce fichier, via WScript.exe, ne déclenche pas directement un binaire malveillant. Le script contenait en réalité une archive ZIP encodée en Base64 intégrée dans son code. Ce paquet, une fois décodé, dépose dans le répertoire %TEMP% un ensemble de fichiers constituant un environnement Python autonome. On y retrouve notamment un exécutable python.exe ainsi qu’un script malveillant nommé nykhhjgr.py.

Source image : AnyRun
Le choix de ce mode opératoire est intéressant : il permet aux attaquants d’assurer l’exécution de leur charge utile indépendamment de la configuration de la machine ciblée, puisque Python est directement intégré. Ce contournement technique démontre une volonté de fiabiliser la compromission et de réduire les échecs liés à l’absence d’interpréteur sur la machine victime.
Analyse de la charge utile
Le script Python observé a pour fonction principale d’extraire les données stockées par les navigateurs. Les fichiers classiques ciblés incluent :
- Login Data (identifiants et mots de passe sauvegardés) ;
- Cookies (sessions actives) ;
- Web Data et History (données de navigation) ;
- Des cookies liés aux extensions.
Ces informations sont ensuite envoyées à un serveur de commande et contrôle (C2). L’infrastructure identifiée au moment de l’analyse pointait vers le domaine empiricaludder[.]top, récemment créé (16/07/2025), et protégé derrière Cloudflare. Deux adresses IP de résolution ont été relevées : 104.21.55[.]39 et 172.67.144[.]110.
En parallèle, une communication secondaire vers l’adresse 193.32.176[.]254 a été observée. Cet hôte, enregistré sous l’AS 215540 (Global Connectivity Solutions LLP, Royaume-Uni), n’est pas inconnu : il avait déjà été associé quelques mois plus tôt à une campagne nommée Sneaky 2FA, qui ciblait l’authentification multifacteur sur Microsoft 365. La réutilisation d’infrastructure suggère soit une continuité des opérateurs, soit une mutualisation de services d’hébergement entre différents groupes criminels.
Corrélations et hypothèse d’attribution
Si la famille exacte du stealer reste à ce jour indéterminée, plusieurs recoupements orientent l’analyse vers le Lumma Stealer :
- des rapports en ligne, contemporains de notre observation, indiquent que des sites compromis (notamment un site métallurgique espagnol) servaient de point d’entrée à un malware communiquant avec le domaine data-seed-prebsc-1-s1.bnbchain[.]org, déjà associé à Lumma ;
- des règles YARA utilisées pour l’analyse ont mis en évidence des chaînes liées à la gestion de portefeuilles de crypto-monnaie, un comportement typique des stealers financiers ;
- la temporalité coïncide avec d’autres campagnes Lumma observées par la communauté CTI.
Sur cette base, nous estimons avec une confiance modérée que la campagne observée relève d’une évolution ou d’une déclinaison de Lumma Stealer, réutilisant la technique FileFix pour la distribution.
IOCs & OSINT
Réseaux & domaines
- empiricaludder[.]top
- Date de création : 16/07/2025
- Registrar : CLOUDFLARENET, US
- Certificat : Organization: Google Trust Services —- CommonName: WE1
- Ports : 80, 443
- Location : https://yahoo[.]com (évite les robots et autres scan)
- IPs : 104.21.55[.]39 et 172.67.144[.]110 — Deux IPs de Cloudflare
- 193.32.176[.]254
- Détection VT : 1/94
- United Kingdom, London
- self-signed
- JARM : 2ad2ad0002ad2ad00042d42d00000000f78d2dc0ce6e5bbc5b8149a4872356
- AS 215540 (Global Connectivity Solutions LLp)
- Fait marquant : est lié à un domaine (ip-ptr[.]tech) qui était lié à la menace Sneaky 2FA (kit de phishing ciblant Microsoft 365) il y a plusieurs mois
Lien de l’analyse VT : https://www.virustotal.com/gui/domain/ip-ptr.tech/community
Fichiers/dossiers suspects
- %TEMP%\ceojkdoh.zip
- %TEMP%\python_env\python.exe
- %TEMP%\python_env\nykhhjgr.py
- Fichiers ciblés pour le vol :
- Login Data, Cookies, Web Data, History, Extension Cookies
Hash du fichier (SHA-256)
- SHA-256 : 36160a5229c86f3c49bfd574f7ccddc40c4c82c9eff1aab979d9eddec28a4986
- Type de fichier : Script VBS obfusqué
- Nom observé : Verify.vbs
- Classification : Trojan
- Détection VirusTotal (20/07/2025) : 12 / 62 moteurs
Noms de fichiers
- Verify.vbs
- isx9z7m
- ceojkdoh.zip
- nykhhjgr.py
- xPaIlQm
- xq8cIrnUPgqYT
- python38.zip
- XrQoRTU
OSINT
Une surveillance passive peut être mise en place en corrélant l’apparition de nouveaux noms de fichiers associés au hash suivant :
- SHA256 : 36160a5229c86f3c49bfd574f7ccddc40c4c82c9eff1aab979d9eddec28a4986
- Type : Script VBS malveillant
L’analyse disponible via URLScan permet d’identifier les éventuelles réutilisations de ce fichier malveillant dans de futures campagnes (nouveaux contextes d’hébergement, variations de noms de fichiers, infrastructures réutilisées) :

https://urlscan.io/sha256/36160a5229c86f3c49bfd574f7ccddc40c4c82c9eff1aab979d9eddec28a4986
Source : URLScan.io (screenshot du 28/08/2025)
TTPs (Tactiques, Techniques et Procédures)
MITRE ATT&CK Mapping :
Tactique | Technique (MITRE ATT&CK) | Description |
Initial Access | T1566.002 – Drive-by Compromise | Compromission d’un site web (vue sur un site espagnol de métallurgie) ou création d’un site malveillant (notre cas) – FileFix (variante de « ClickFix »). |
Execution | T1059.005 – Command and Scripting Interpreter: Visual Basic
T1059.006 – Command and Scripting Interpreter: Python |
Exécution du fichier Verify.vbs via WScript.exe, entraînant le lancement de commandes additionnelles en Python. |
Defense Evasion | T1027 – Obfuscated Files or Information | Obfuscation du script VBS afin de compliquer l’analyse et la détection. |
Defense Evasion | T1140 – Deobfuscate/Decode Files or Information | Encodage et décodage en Base64 intégrés au VBS pour masquer le contenu malveillant. |
Credential Access | T1555.003 – Credentials from Web Browsers | Extraction de données d’authentification directement depuis les navigateurs installés sur la machine compromise. |
Command & Control | T1071 – Application Layer Protocol | Communication avec l’infrastructure distante identifiée : empiricaludder[.]top. |
Exfiltration | 1041 – Exfiltration Over C2 Channel | Exfiltration de données sensibles via le même canal réseau de communication C2. |
Recommandations
Techniques :
- Bloquer le domaine empiricaludder[.]top et ses IPs associées dans les pare-feux, proxys, DNS filtrants ;
- Surveiller les processus Python s’exécutant depuis %TEMP%, en particulier python_env/python.exe ;
- Mettre en place des règles YARA ou EDR sur les TTPs mentionnées ;
- Désactiver l’exécution des fichiers .vbs et macros Office via GPO ou configuration de sécurité ;
- Scanner les systèmes avec un antivirus disposant d’un module comportemental, ou un EDR.
Sensibilisation :
- Informer les utilisateurs de ne jamais télécharger ou exécuter des fichiers proposés via des pages web ou soi-disant « reCAPTCHA » ;
- Mettre à jour la formation de sensibilisation au phishing, incluant :
- Faux téléchargements,
- Sites tiers usurpant des services légitimes.
- Encourager à signaler toute alerte inhabituelle ou popup de navigateur demandant un téléchargement.
Perspectives
L’épisode FileFix démontre l’adaptabilité des attaquants. Le recours à un faux reCAPTCHA comme vecteur d’ingénierie sociale exploite la confiance accordée par l’utilisateur à un mécanisme perçu comme standard et inoffensif. Plus préoccupant encore, l’utilisation d’un environnement Python portable marque une évolution : elle contourne les limitations liées à la configuration des machines cibles et augmente ainsi le taux de réussite de l’infection.
À l’échelle plus stratégique, il est important de considérer cette évolution comme un signal : les familles de stealers continuent d’investir dans des techniques de distribution furtives et robustes. La portabilité de langages comme Python ou NodeJS est désormais pleinement exploitée par les attaquants, et il faut s’attendre à voir ce modèle se généraliser dans les mois à venir.