Source: Expel (blog threat intelligence) — analyse de Marcus Hutchins. Contexte: observation d’une variante de ClickFix exploitant le cache du navigateur pour déposer un ZIP malveillant, tout en se faisant passer pour un vérificateur de conformité Fortinet.

🎣 Leurre et procédé ClickFix: la page de phishing brandée Fortinet affiche un faux chemin \\Public\Support\VPN\ForticlientCompliance.exe. Un clic copie en réalité une commande beaucoup plus longue, remplie d’espaces pour masquer la partie malveillante. Collée dans la barre d’adresse de l’Explorateur, elle lance conhost.exe --headless puis PowerShell en arrière-plan, la portion visible n’étant qu’un commentaire.

🧩 Chaîne technique côté hôte: le script PowerShell crée \%LOCALAPPDATA%\FortiClient\compliance, copie le cache Chrome depuis \%LOCALAPPDATA%\Google\Chrome\User Data\Default\Cache\Cache_Data\, puis scanne chaque fichier avec une regex pour extraire des données encadrées par bTgQcBpv et mX6o0lBw. Il écrit ces données dans ComplianceChecker.zip, les décompresse (Expand-Archive) et exécute FortiClientComplianceChecker.exesans aucune connexion réseau ni téléchargement explicite au moment de l’exécution du script.

🛰️ Cache smuggling côté web: la page appelle fetch(/5b900a00-71e9-45cf-acc0-d872e1d6cdaa) et renvoie un contenu servi comme image/jpeg mais qui n’est pas une image (pas d’en-tête JPG) — il contient un bloc ZIP (PK) encapsulé entre marqueurs. Le navigateur met en cache cet objet « image », permettant au script local d’y récupérer le payload. Cette astuce déjoue les contrôles cherchant des téléchargements ou des requêtes web dans PowerShell. Le domaine leurre fc-checker[.]dlccdn[.]com a cessé de résoudre; l’IP d’hébergement restait accessible lors de l’analyse.

🛡️ Mesures défensives proposées (par l’article):

  • Alerter sur les processus inattendus accédant au cache du navigateur.
  • Restreindre l’usage de PowerShell aux utilisateurs qui en ont besoin; sinon, surveiller les exécutions suspectes et sensibiliser aux arnaques ClickFix.
  • Utiliser SWG/DNS filtering pour bloquer checker[.]dlccdn[.]com, les domaines nouvellement créés ou nouvellement vus dans l’environnement.

IOC et TTPs

  • IOCs:
    • Domaines: fc-checker[.]dlccdn[.]com, checker[.]dlccdn[.]com
    • Ressource: /5b900a00-71e9-45cf-acc0-d872e1d6cdaa
    • En-tête HTTP: Content-Type: image/jpeg
    • Marqueurs de payload: bTgQcBpvmX6o0lBw
    • Chemins: \%LOCALAPPDATA%\Google\Chrome\User Data\Default\Cache\Cache_Data\, \%LOCALAPPDATA%\FortiClient\compliance
    • Fichiers: ComplianceChecker.zip, FortiClientComplianceChecker.exe, leurre \\Public\Support\VPN\ForticlientCompliance.exe
    • Processus: conhost.exe --headless, powershell
  • TTPs:
    • ClickFix (copier-coller de commande malveillante via presse-papiers, padding d’espaces, commentaire trompeur)
    • Cache smuggling (payload servi comme image, déposé via cache navigateur)
    • Living-off-the-land avec conhost.exe et PowerShell
    • Usurpation de marque (Fortinet VPN Compliance Checker)
    • Extraction par regex du payload encapsulé

Conclusion: article d’analyse de menace détaillant une campagne et sa technique d’évasion par cache smuggling, avec un focus sur la chaîne d’exécution et les artefacts.

🧠 TTPs et IOCs détectés

TTP

ClickFix (copier-coller de commande malveillante via presse-papiers, padding d’espaces, commentaire trompeur), Cache smuggling (payload servi comme image, déposé via cache navigateur), Living-off-the-land avec conhost.exe et PowerShell, Usurpation de marque (Fortinet VPN Compliance Checker), Extraction par regex du payload encapsulé

IOC

Domaines: fc-checker[.]dlccdn[.]com, checker[.]dlccdn[.]com; Ressource: /5b900a00-71e9-45cf-acc0-d872e1d6cdaa; En-tête HTTP: Content-Type: image/jpeg; Marqueurs de payload: bTgQcBpv … mX6o0lBw; Chemins: %LOCALAPPDATA%\Google\Chrome\User Data\Default\Cache\Cache_Data, %LOCALAPPDATA%\FortiClient\compliance; Fichiers: ComplianceChecker.zip, FortiClientComplianceChecker.exe, leurre \Public\Support\VPN\ForticlientCompliance.exe; Processus: conhost.exe –headless, powershell


🔗 Source originale : https://expel.com/blog/cache-smuggling-when-a-picture-isnt-a-thousand-words/