🔍 Contexte

Fin 2025, Mandiant (Google Threat Intelligence Group) a répondu à un incident de sécurité impliquant un serveur web compromis exécutant KnowledgeDeliver, un système de gestion de l’apprentissage (LMS) développé par Digital Knowledge, largement utilisé au Japon. L’analyse a été publiée le 25 mai 2026.

🎯 Vulnérabilité exploitée

La vulnérabilité, désormais suivie sous CVE-2026-5426, résulte de l’utilisation de valeurs machineKey ASP.NET identiques et codées en dur dans le fichier web.config fourni par le vendeur, partagées entre tous les déploiements clients. Cette configuration standardisée permettait à un acteur malveillant ayant obtenu les clés d’un déploiement de compromettre n’importe quelle instance KnowledgeDeliver exposée sur Internet.

La technique exploite la désérialisation du ViewState ASP.NET : en connaissant la machineKey, l’attaquant forge un payload ViewState malveillant transmis via le paramètre __VIEWSTATE dans une requête HTTP, déclenchant une exécution de code à distance non authentifiée. Cette vulnérabilité a été exploitée initialement en zero-day. Les installations déployées avant le 24 février 2026 sont affectées.

🛠️ Activité post-exploitation

Une fois l’accès établi, l’acteur a mené les actions suivantes :

  • Déploiement du web shell BLUEBEAM (alias Godzilla) : web shell .NET en mémoire opérant dans le processus IIS w3wp.exe, communiquant via des requêtes HTTP POST chiffrées, difficile à détecter par les outils de scan fichier classiques.
  • Modification des permissions : utilisation de icacls pour accorder un accès total au répertoire de l’application web à « Everyone ».
  • Falsification de JavaScript : modification d’un fichier JS de l’application pour afficher une fausse alerte de sécurité invitant les utilisateurs à installer un « plugin d’authentification de sécurité », et chargement silencieux d’un script malveillant distant hébergé sur un domaine contrôlé par l’attaquant.
  • Infection Cobalt Strike : le script distant poussait un faux installateur infectant les postes de travail avec un backdoor Cobalt Strike BEACON, dont le payload était chiffré avec le nom de l’organisation ciblée, indiquant une préparation spécifique à la cible.

🔎 Indicateurs de détection

  • Event ID 1316 (ASP.NET 4.0.30319.0) dans les journaux Application Windows : codes d’événement 4009 pour les échecs d’intégrité ViewState.
  • Processus enfants suspects de w3wp.exe : cmd.exe, whoami, powershell.exe.
  • Modifications de fichiers .js, .aspx, .config dans le répertoire web.
  • User-Agent strings anomaux : chaînes composées de deux identifiants concaténés, cohérentes avec des attaques ViewState précédemment documentées.

📄 Nature de l’article

Il s’agit d’un rapport d’incident technique publié par Mandiant/Google Threat Intelligence Group, visant à documenter la chaîne d’exploitation complète, fournir des indicateurs de compromission et des règles de détection pour les équipes SOC et CTI.

🧠 TTPs et IOCs détectés

TTP

  • T1190 — Exploit Public-Facing Application (Initial Access)
  • T1505.003 — Server Software Component: Web Shell (Persistence)
  • T1059.001 — Command and Scripting Interpreter: PowerShell (Execution)
  • T1059.003 — Command and Scripting Interpreter: Windows Command Shell (Execution)
  • T1222.001 — File and Directory Permissions Modification: Windows File and Directory Permissions Modification (Defense Evasion)
  • T1027 — Obfuscated Files or Information (Defense Evasion)
  • T1565.001 — Data Manipulation: Stored Data Manipulation (Impact)
  • T1189 — Drive-by Compromise (Initial Access)
  • T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
  • T1140 — Deobfuscate/Decode Files or Information (Defense Evasion)
  • T1036 — Masquerading (Defense Evasion)
  • T1082 — System Information Discovery (Discovery)

IOC

Malware / Outils

  • BLUEBEAM (other)
  • Godzilla (other)
  • Cobalt Strike BEACON (backdoor)

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

  • ✅ cloud.google.com — source reconnue (liste interne) (20pts)
  • ✅ 9062 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 3 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ 0/1 IOCs confirmés externellement (0pts)
  • ✅ 12 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ 0/1 CVE(s) confirmée(s) (0pts)

🔗 Source originale : https://cloud.google.com/blog/topics/threat-intelligence/knowledgedeliver-viewstate-deserialization-vulnerability/?hl=en