🔍 Contexte

Le 16 juin 2026, l’équipe Microsoft Edge Extensions Security a publié une analyse technique détaillée de la campagne StegoAd, un portmanteau de steganography et adware. Active depuis au moins 2021, cette campagne a atteint sa phase la plus sophistiquée entre mars 2024 et avril 2026, impactant environ 2,6 millions d’utilisateurs via 119 extensions malveillantes publiées sur le Microsoft Edge Add-ons Store.

🎯 Nature de la menace

StegoAd est une plateforme de monétisation et de vol de credentials opérée par un acteur non nommé utilisant plus de 90 comptes développeurs jetables. Les extensions se font passer pour des outils légitimes (bloqueurs de publicités, VPN, téléchargeurs vidéo, traducteurs) tout en embarquant des charges utiles malveillantes activées après un délai de dormance de 3 à 5,5 jours.

🧬 Techniques de livraison stéganographique

L’acteur a progressivement évolué à travers quatre techniques de stéganographie :

  • PNG local : payload JavaScript inséré après le marqueur IEND d’icônes PNG
  • PNG distant via C2 : récupération d’images PNG depuis liveupdt.com ou dealctr.com contenant le payload encodé
  • WebP : migration vers ce format fin 2025 pour contourner les détections PNG
  • Unicode/WOFF2 : payload stocké dans des plages de codepoints Unicode (CJK/Private Use Area) au sein de fichiers de polices
  • Marqueur vpn_settings (mars 2026) : fichier setting.conf déguisé en PNG avec payload Base64 segmenté par ////

⚙️ Framework polymorphique orderArray

Déployé sur ~66 extensions (56% de la campagne), ce framework utilise :

  • Un objet contenant des payloads encodés
  • Une fonction de hachage basée sur chrome.runtime.id générant une graine 0–999
  • Un décodeur regex + double-atob Base64
  • 15+ variantes de nommage rendant les règles YARA fixes inopérantes

🛡️ Techniques d’évasion

  • Délai temporel : 3–5,5 jours de dormance + gate probabiliste à 10%
  • Détection DevTools : flag dipFlgDev prolongeant la dormance indéfiniment si F12/Ctrl+Shift+I est détecté
  • eval et setTimeout calculés : les mots-clés dangereux n’apparaissent jamais en clair dans le code source
  • Camouflage Vue.js (Gekco) : communication C2 dissimulée dans des milliers de lignes de code Vue.js non fonctionnel
  • Gating côté serveur : le C2 valide l’empreinte de l’extension, l’User-Agent et les headers ; les requêtes non conformes reçoivent une réponse vide
  • Stripping XFO/CSP + injection d’iframes invisibles via declarativeNetRequest (MV3)
  • Spoofing User-Agent : pool rotatif rafraîchi depuis liveupdt.com/ext/ua.php toutes les 15 jours
  • Harvesting IP via WebRTC : découverte de l’IP réelle même derrière VPN

💣 Modules d’attaque C2 (10 modules)

  • Backdoor RCE : updateHeader_e() exécute tout JavaScript renvoyé par le C2 via setTimeout(b.responseText, 10)
  • Vol de credentials Google + bypass 2FA : interception sur accounts.google.com, exfiltration vers mitarchive.info/alt.php en double-Base64
  • Vol de credentials WordPress/CMS : avec triage des sites volés par valeur de trafic via SimilarWeb
  • Exfiltration de cookies : limitée à 1 fois/heure, encodée en double-Base64
  • Moteur de remplacement publicitaire : scanner DOM ciblant Google Ad Manager, AdSense, Amazon Ads, Baidu Ads
  • Sabotage concurrent (Honey) : détection et hijacking de l’extension Honey via MutationObserver
  • Fraude Instagram auto-like & fausses notes Mozilla : manipulation de sessions authentifiées
  • Fraude d’affiliation Amazon : 20+ locales avec tags affiliés et sites de couverture
  • Solveur reCAPTCHA invisible + CAPTCHA maison : overlay transparent capturant les clics utilisateur
  • Télémétrie via Google Analytics : 7 IDs GA (UA + GA4) fournissant un dashboard quasi temps-réel sur 2,6M+ victimes

📅 Évolution et migration MV2 → MV3

L’acteur a démontré une capacité d’adaptation rapide : migration réussie vers Manifest V3 en utilisant chrome.scripting.executeScript, declarativeNetRequest dynamique, et des service workers. Les règles declarativeNetRequest décodées suppriment CSP, CSP-Report-Only et X-Frame-Options sur toutes les pages visitées.

📋 Type d’article

Il s’agit d’une publication de recherche technique produite par l’équipe sécurité de Microsoft, visant à documenter exhaustivement la campagne StegoAd, fournir des IOCs exploitables à la communauté CTI, et justifier les actions de retrait effectuées sur le store Edge.

🧠 TTPs et IOCs détectés

TTP

  • T1176 — Browser Extensions (Persistence)
  • T1036.005 — Masquerading: Match Legitimate Name or Location (Defense Evasion)
  • T1027.003 — Obfuscated Files or Information: Steganography (Defense Evasion)
  • T1027.013 — Obfuscated Files or Information: Encrypted/Encoded File (Defense Evasion)
  • T1056.003 — Input Capture: Web Portal Capture (Collection)
  • T1059.007 — Command and Scripting Interpreter: JavaScript (Execution)
  • T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
  • T1102.002 — Web Service: Bidirectional Communication (Command and Control)
  • T1140 — Deobfuscate/Decode Files or Information (Defense Evasion)
  • T1185 — Browser Session Hijacking (Collection)
  • T1497.003 — Virtualization/Sandbox Evasion: Time Based Evasion (Defense Evasion)
  • T1539 — Steal Web Session Cookie (Credential Access)
  • T1557 — Adversary-in-the-Middle (Collection)
  • T1565.002 — Data Manipulation: Transmitted Data Manipulation (Impact)
  • T1041 — Exfiltration Over C2 Channel (Exfiltration)

IOC

  • Domaines : liveupdt.comVT · URLhaus · ThreatFox
  • Domaines : dealctr.comVT · URLhaus · ThreatFox
  • Domaines : mitarchive.infoVT · URLhaus · ThreatFox
  • Domaines : ipaglov.comVT · URLhaus · ThreatFox
  • Domaines : gmzdaily.comVT · URLhaus · ThreatFox
  • Domaines : somavelee.workers.devVT · URLhaus · ThreatFox
  • Domaines : yt.qingcaila.topVT · URLhaus · ThreatFox
  • Domaines : bai.qingcaila.topVT · URLhaus · ThreatFox
  • Domaines : ytmp4.pageVT · URLhaus · ThreatFox
  • Domaines : dreamhov.deVT · URLhaus · ThreatFox
  • Domaines : myec2.comVT · URLhaus · ThreatFox
  • Domaines : v2i8b.comVT · URLhaus · ThreatFox
  • Domaines : r.v2i8b.comVT · URLhaus · ThreatFox
  • Domaines : r.linksprf.comVT · URLhaus · ThreatFox
  • Domaines : r.srvtrck.comVT · URLhaus · ThreatFox
  • Domaines : trendupdeal.comVT · URLhaus · ThreatFox
  • URLs : https://www.liveupdt.com/ext/load.php?f=bas.pngURLhaus
  • URLs : https://www.liveupdt.com/ext/load.php?f=svr.pngURLhaus
  • URLs : https://www.liveupdt.com/src/ext/load.php?f=svr.pngURLhaus
  • URLs : https://www.dealctr.com/ext/load.php?f=bas.pngURLhaus
  • URLs : https://www.dealctr.com/rby/ext/load.php?f=svr.pngURLhaus
  • URLs : https://www.mitarchive.info/ext/load.php?f=bas.pngURLhaus
  • URLs : https://www.dreamhov.de/ext/load.phpURLhaus
  • URLs : https://ipaglov.com/ext/rd.php?f=ch3URLhaus
  • URLs : https://ch3.somavelee.workers.devURLhaus
  • URLs : https://yt.qingcaila.top/ytBlocker.jsonURLhaus
  • URLs : https://bai.qingcaila.top/yt/working.jsURLhaus
  • URLs : https://gmzdaily.com/ext/qm.php?f=svrURLhaus
  • URLs : https://myec2.com/ext/load.php?f=ga.pngURLhaus
  • URLs : https://www.liveupdt.com/tmp/wlib.phpURLhaus
  • URLs : https://www.liveupdt.com/serv/chitika.htmlURLhaus
  • URLs : https://www.liveupdt.com/geo.phpURLhaus
  • URLs : https://www.liveupdt.com/tmp/js.phpURLhaus
  • URLs : https://www.liveupdt.com/ext/ua.php?c=uftoneURLhaus
  • URLs : https://www.liveupdt.com/ext/ua.php?c=jsonrule2URLhaus
  • URLs : https://www.liveupdt.com/ext/rd.php?f=baiURLhaus
  • URLs : https://mitarchive.info/alt.phpURLhaus
  • URLs : https://mitarchive.info/reads.phpURLhaus
  • URLs : https://mitarchive.info/tshop2.phpURLhaus
  • URLs : https://mitarchive.info/fixed.phpURLhaus
  • URLs : https://mitarchive.info/ref2.phpURLhaus
  • URLs : https://mitarchive.info/logkep.phpURLhaus
  • URLs : https://mitarchive.info/ext/gagen1.htmlURLhaus
  • URLs : https://www.dealctr.com/ext/rd.php?f=gaURLhaus
  • URLs : https://refeuficn.github.io/recapt/recapt.htmlURLhaus
  • URLs : https://www.trendupdeal.com/redirect.phpURLhaus
  • URLs : https://r.v2i8b.com/api/v1/bid/redirectURLhaus
  • URLs : https://r.linksprf.com/v1/redirectURLhaus
  • URLs : https://r.srvtrck.com/v1/redirectURLhaus
  • URLs : https://jenthusmith.github.io/ga/ga4.htmlURLhaus
  • Fichiers : bas.png
  • Fichiers : svr.png
  • Fichiers : bai.png
  • Fichiers : loading.webp
  • Fichiers : noad.webp
  • Fichiers : setting.conf
  • Fichiers : ga.png

Malware / Outils

  • StegoAd (other)
  • orderArray framework (other)
  • Gekco framework (other)

🟢 Indice de vérification factuelle : 65/100 (haute)

  • ⬜ microsoftedge.github.io — source non référencée (0pts)
  • ✅ 69237 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 57 IOCs (IPs/domaines/CVEs) (10pts)
  • ✅ 3/6 IOCs confirmés (ThreatFox, URLhaus, VirusTotal) (15pts)
  • ✅ 15 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

IOCs confirmés externellement :

  • liveupdt.com (domain) → VT (10/91 détections)
  • dealctr.com (domain) → VT (12/91 détections)
  • mitarchive.info (domain) → VT (5/91 détections)

🔗 Source originale : https://microsoftedge.github.io/edgevr/posts/Inside-StegoAd-How-We-Disrupted-a-Massive-Malicious-Extension-Campaign/