Exploitation d'une faille zero-day dans KnowledgeDeliver LMS entraînant le déploiement de Cobalt Strike
Une vulnérabilité de haute gravité dans le système de gestion de l'apprentissage (LMS) KnowledgeDeliver de **Digital Knowledge** a été exploitée en tant que zero-day, aboutissant au déploiement de **Cobalt Strike** Beacon. La faille, désormais corrigée, permettait aux attaquants d'injecter du code malveillant en exploitant des clés machine ASP.NET codées en dur.

### Des clés codées en dur permettent l'exécution de code à distance
La vulnérabilité, identifiée sous la référence **CVE-2026-5426** (score CVSS : 7.5), découle de l'utilisation de clés machine ASP.NET codées en dur au sein de KnowledgeDeliver. Cette négligence critique a permis une exécution de code à distance non authentifiée via une attaque de désérialisation ViewState. Les dangers des clés machine ASP.NET divulguées publiquement avaient déjà été soulignés par **Microsoft** en février 2025.
Selon **Google Mandiant** et **Google Threat Intelligence Group (GTIG)**, les attaquants ont injecté du code malveillant dans la plateforme LMS pour infecter les visiteurs du site.
### Impact et remédiation
La faille de sécurité a affecté les déploiements de KnowledgeDeliver antérieurs au 24 février 2026. Des vulnérabilités similaires ont été précédemment exploitées dans d'autres plateformes telles que **Sitecore Experience Manager** (XM) et **Gladinet CentreStack and TrioFox**.
### Analyse technique approfondie
La cause profonde réside dans le fichier `web.config` standard fourni par le vendeur, contenant des valeurs `machineKey` codées en dur utilisées par le framework ASP.NET pour chiffrer et signer les données, y compris les payloads ViewState. Cela signifiait que la compromission d'un déploiement pouvait potentiellement entraîner la compromission d'autres.
"L'ASP.NET ViewState conserve l'état de la page entre les postbacks", a expliqué Google. "Lorsque la `machineKey` est connue, un acteur de menace peut créer un payload ViewState malveillant. En envoyant ce payload dans une requête HTTP (via le paramètre `__VIEWSTATE`), l'acteur de la menace peut amener le serveur à le désérialiser."
### Chaîne d'attaque : du Web Shell à Cobalt Strike
L'exploitation observée de la CVE-2026-5426 a impliqué le déploiement du web shell **Godzilla** (alias BLUEBEAM). Cela a donné aux attaquants la capacité d'exécuter des commandes et de déposer des payloads supplémentaires. Les attaquants ont escaladé les privilèges sur le système de fichiers du serveur web en accordant à "Everyone" un accès complet au répertoire de l'application web.
Par la suite, ils ont falsifié un fichier JavaScript pour afficher une fausse alerte de sécurité, incitant les utilisateurs à installer un faux "plugin d'authentification de sécurité". Cela a permis le chargement discret d'un script malveillant depuis un domaine contrôlé par l'attaquant, conduisant finalement les utilisateurs à télécharger un faux installateur et à infecter leurs machines avec Cobalt Strike Beacon.
Google a noté que le payload était chiffré à l'aide d'une clé qui intégrait le nom de l'organisation compromise, indiquant une attaque ciblée.
### Leçons apprises et stratégies d'atténuation
Cet incident souligne les risques critiques associés à l'utilisation de secrets partagés dans les modèles de déploiement. Les organisations devraient mettre en œuvre des secrets uniques et une surveillance robuste des points d'extrémité pour se défendre contre les attaques de désérialisation.