Source: Huntress (huntress.com). Contexte: les chercheurs Ben Folland et Anna Pham publient une analyse technique d’une campagne ClickFix multi-étapes observée depuis octobre 2025, où des leurres « Human Verification » et un faux écran « Windows Update » amènent les victimes à exécuter une commande malveillante, débouchant sur le déploiement d’infostealers (LummaC2, Rhadamanthys).

• Chaîne d’exécution en 5 étapes 🧩

  • Étape 1 (mshta.exe): exécution d’un JScript depuis une URL (2e octet de l’IP en hex), qui lance PowerShell en mémoire.
  • Étape 2 (PowerShell): charge et décrypte un assembly .NET (reflective load) après obfuscation/junk code.
  • Étape 3 (loader .NET stéganographique): extrait une image PNG chiffrée AES depuis les ressources, puis récupère le shellcode caché dans les données de pixels (canal R) via un algorithme personnalisé (XOR 114 avec 255 - red), tout en déchiffrant configs/strings (clé AES 909cdc682e43492e, IV 01fe83e20bbe47f2).
  • Étape 4 (injection): compilation dynamique de C# et injection de processus (VirtualAllocEx, CreateProcessA, WriteProcessMemory, CreateRemoteThread, etc.) dans explorer.exe.
  • Étape 5 (Donut): le shellcode est packé Donut et charge la charge finale: LummaC2 (dans les cas initiaux) ou Rhadamanthys (pour le leurre Windows Update).

• Leurre et techniques clés 🎭🖼️

  • ClickFix: incite l’utilisateur à faire Win+R puis Ctrl+V pour exécuter une commande mshta préparée via navigator.clipboard.writeText().
  • Deux leurres: « Human Verification » et un faux écran Windows Update en plein écran imitant « Working on updates » avant d’inviter à coller la commande.
  • Stéganographie PNG: le code malveillant est encodé directement dans les pixels (BGRA, canal R), avec gestion du Stride via LockBits(); l’image est d’abord AES-décryptée depuis les ressources du binaire.
  • Évasion/défense: code et chaînes AES+B64, rolling XOR, blobs JavaScript temporaires, chaînes de trampolines, compilation à la volée, et Donut pour packer la charge finale.

• Évolution de la campagne 🔄

  • Depuis début octobre, Huntress suit plusieurs clusters; pour le leurre Windows Update, la même chaîne mène à une charge finale Rhadamanthys.
  • Infrastructure active relevée après l’opération de police « Operation Endgame » (13 nov.) visant Rhadamanthys: au 19 nov., des domaines de Cluster 2 hébergent encore le leurre (la charge Rhadamanthys ne semblait plus servie).
  • Particularité d’URL: l’IP du Stage 1 présente le second octet en hex (ex: 141.0x62.80[.]175).

• Recommandations de l’article 🛡️

  • Désactiver la boîte Exécuter (Run) via Registre/GPO pour contrer ClickFix.
  • Sensibilisation: CAPTCHAs/Mises à jour légitimes ne demandent pas d’exécuter des commandes collées.
  • Surveiller la lignée de processus: explorer.exe engendrant mshta.exe / powershell.exe avec CLI suspectes.
  • Forensique: audit du RunMRU (HKCU...\Explorer\RunMRU).

• IOCs et TTPs 📌

  • TTPs principaux:

    • Ingénierie sociale ClickFix (Win+R, presse-papiers via navigator.clipboard.writeText)
    • mshta.exe -> PowerShell -> loader .NET -> stéganographie PNG -> Donut -> infostealer
    • Stéganographie dans pixels PNG (canal R, XOR 114 avec 255 - red), AES pour configs/ressources
    • Injection de processus (VirtualAllocEx, CreateProcessA, WriteProcessMemory, CreateRemoteThread, WaitForSingleObject, TerminateProcess, CloseHandle)
    • Reflective loading et compilation dynamique C#
  • IP/Infra clés:

    • 81.90.29[.]64
    • 141.98.80[.]175
    • 94.74.164[.]136
  • Leurre « Human Verification » & LummaC2:

    • Lure sites: 1e442295.consent-verify.pages[.]dev; 5df43170.consent-verify.pages[.]dev; 3b4ce6c9.consent-verify.pages[.]dev; 6b04000.consent-verify.pages[.]dev; f6b04000.consent-verify.pages[.]dev; 3e6eb645.consent-verify.pages[.]dev; d9e71335.consent-verify.pages[.]dev
    • Stage 1: hXXp://81.90.29[.]64/ebc/rps.gz
    • Stage 2: hXXp://corezea[.]com/ebc (81.90.29[.]64)
    • C2 Lumma (extraits): hypudyk[.]shop; squatje[.]su/asdasd; bendavo[.]su/asdsa; conxmsw[.]su/vcsf; narroxp[.]su/rewd; squeaue[.]su/qwe; ozonelf[.]su/asd; exposqw[.]su/casc; vicareu[.]su/bcdf
  • Leurre « Windows Update » & Rhadamanthys (Cluster 1):

    • Lure sites: xmcniiadpwqw[.]site; xcvcxoipoeww[.]site; xoiiasdpsdoasdpojas[.]com; xpoalswwkjddsljsy[.]com; galaxyswapper[.]pro
    • Stage 1: hXXp://141.98.80[.]175/tick.odd; /gpsc.dat; /ercx.dat; /rtdx.dat; /very.dat
    • Stage 2: hXXp://securitysettings[.]live; hXXp://xoiiasdpsdoasdpojas[.]com
  • Leurre « Windows Update » (Cluster 2):

    • Lure sites: cmevents[.]live; cmevents[.]pro; cosmicpharma-bd[.]com; groupewadesecurity[.]com; sportsstories[.]gr; virhtechgmbh[.]com
    • Stage 1: hXXtp://94.74.164[.]136/fifx.odd

Type d’article: analyse technique/analyse de menace visant à documenter la chaîne d’infection, l’usage de la stéganographie, et à fournir des IOCs et pistes de détection/mitigation.

🧠 TTPs et IOCs détectés

TTP

[‘Ingénierie sociale ClickFix (Win+R, presse-papiers via navigator.clipboard.writeText)’, ‘mshta.exe -> PowerShell -> loader .NET -> stéganographie PNG -> Donut -> infostealer’, ‘Stéganographie dans pixels PNG (canal R, XOR 114 avec 255 - red), AES pour configs/ressources’, ‘Injection de processus (VirtualAllocEx, CreateProcessA, WriteProcessMemory, CreateRemoteThread, WaitForSingleObject, TerminateProcess, CloseHandle)’, ‘Reflective loading et compilation dynamique C#’]

IOC

{‘ip’: [‘81.90.29.64’, ‘141.98.80.175’, ‘94.74.164.136’], ‘domain’: [‘1e442295.consent-verify.pages.dev’, ‘5df43170.consent-verify.pages.dev’, ‘3b4ce6c9.consent-verify.pages.dev’, ‘6b04000.consent-verify.pages.dev’, ‘f6b04000.consent-verify.pages.dev’, ‘3e6eb645.consent-verify.pages.dev’, ‘d9e71335.consent-verify.pages.dev’, ‘corezea.com’, ‘hypudyk.shop’, ‘squatje.su’, ‘bendavo.su’, ‘conxmsw.su’, ’narroxp.su’, ‘squeaue.su’, ‘ozonelf.su’, ’exposqw.su’, ‘vicareu.su’, ‘xmcniiadpwqw.site’, ‘xcvcxoipoeww.site’, ‘xoiiasdpsdoasdpojas.com’, ‘xpoalswwkjddsljsy.com’, ‘galaxyswapper.pro’, ‘securitysettings.live’, ‘cmevents.live’, ‘cmevents.pro’, ‘cosmicpharma-bd.com’, ‘groupewadesecurity.com’, ‘sportsstories.gr’, ‘virhtechgmbh.com’], ‘url’: [‘hXXp://81.90.29.64/ebc/rps.gz’, ‘hXXp://corezea.com/ebc’, ‘hXXp://141.98.80.175/tick.odd’, ‘hXXp://141.98.80.175/gpsc.dat’, ‘hXXp://141.98.80.175/ercx.dat’, ‘hXXp://141.98.80.175/rtdx.dat’, ‘hXXp://141.98.80.175/very.dat’, ‘hXXp://securitysettings.live’, ‘hXXp://xoiiasdpsdoasdpojas.com’, ‘hXXtp://94.74.164.136/fifx.odd’]}


🔗 Source originale : https://www.huntress.com/blog/clickfix-malware-buried-in-images