🔍 Contexte

Publié le 5 août 2026 sur shells.systems par Ian, cet article de recherche offensive présente une technique de contournement pratique d’Application Control for Business (anciennement Windows Defender Application Control / WDAC) exploitant les Kernel Extended Attributes (Kernel EAs) du système de fichiers NTFS.

⚙️ Mécanisme technique

Les Kernel EAs sont une classe spéciale d’attributs étendus introduite dans Windows 8, utilisée par le noyau comme cache haute performance pour éviter des opérations coûteuses comme la vérification répétée de signatures binaires. L’attribut clé abusé est $Kernel.Smartlocker.OriginClaim.

La frontière de sécurité repose sur le fait que tout EA dont le nom commence par $Kernel. est strictement en lecture seule pour le code user-mode : le driver NTFS ignore silencieusement les tentatives d’écriture en retournant STATUS_SUCCESS sans effectuer la modification.

🛠️ Vecteurs d’exploitation

Deux chemins d’attaque sont identifiés :

  • Kernel-mode : utilisation d’un driver vulnérable pour appeler FsRtlSetKernelEaFile via un IRP avec le flag IRP_MN_KERNEL_CALL
  • Accès offline au volume NTFS : création d’un VHD, copie de l’exécutable cible, application des attributs #Kernel en user-mode, démontage du VHD, puis modification hexadécimale du caractère # en $ directement dans le fichier VHDX — contournant ainsi toute politique du driver Windows

🎯 Démonstration pratique

  1. Extraction des EAs de Chrome.exe (exécutable autorisé) via fsutil file queryea
  2. Copie des attributs sur un binaire cible (avec préfixe #Kernel en user-mode)
  3. Modification offline du VHD (hex editor : #$)
  4. Montage du VHD sur Windows 11 → exécution du binaire non autorisé réussie

La technique fonctionne également sur clé USB NTFS ou disque secondaire. Un accès élevé est requis pour monter le VHD, mais tout compte élevé ou une élévation de privilèges non patchée suffit.

🐧 Vecteur Linux

Un attaquant avec accès physique peut booter sur un live USB Linux, monter le disque via NTFS-3G (qui ne respecte pas les politiques Windows) et écrire directement un faux $Kernel.Smartlocker.OriginClaim sur un exécutable malveillant. Au redémarrage sous Windows, le fichier est considéré comme vérifié.

📄 Nature de l’article

Article de recherche offensive (Purple/Red Team) visant à documenter une technique de bypass d’application control exploitable dans des environnements Windows avec WDAC déployé, avec des pistes de détection et de mitigation associées.

🧠 TTPs et IOCs détectés

TTP

  • T1553.006 — Subvert Trust Controls: Code Signing Policy Modification (Defense Evasion)
  • T1006 — Direct Volume Access (Defense Evasion)
  • T1564.006 — Hide Artifacts: Run Virtual Instance (Defense Evasion)
  • T1211 — Exploitation for Defense Evasion (Defense Evasion)

IOC

  • Fichiers : Chrome.exe

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 10 août 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.

Malware / Outils

  • NTFS-3G (tool)
  • fsutil (tool)

🟡 Indice de vérification factuelle : 46/100 (moyenne)

  • ⬜ shells.systems — source non référencée (0pts)
  • ✅ 10436 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 1 IOC(s) (6pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 4 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

🔗 Source originale : https://shells.systems/abusing-extended-attributes-to-bypass-application-control-for-business/