🔍 Contexte

Publié en août 2026 sur GitHub par Angelo Frasca Caccia (lem0nSec_) et Alejandro Pinna, SgrmFault est un Proof-of-Concept (PoC) d’exploitation Windows présenté aux conférences REcon 2026 et DEF CON 34.

⚙️ Mécanisme technique

La chaîne d’exploitation repose sur deux composants Windows légitimes :

  • WerFaultSecure.exe : utilisé pour une technique d’injection de code basée sur COM (revivifiée), permettant l’exécution de shellcode dans un contexte privilégié.
  • SgrmAgent.sys (driver Microsoft System Guard Runtime Monitor) : expose une primitive de tampering de processus via APC (Asynchronous Procedure Call).

La chaîne complète permet d’altérer des processus protégés (ex: MsMpEng.exe, processus PPL) depuis un contexte non-privilégié disposant de SeDebugPrivilege.

🎯 Conditions d’exploitation

  • Windows 10 ou 11 jusqu’à 22H2 avec System Guard Runtime Monitor installé
  • SgrmAgent.sys version 10.0.20348.2849 ou inférieure
  • Un processus AppContainer en cours d’exécution
  • La portion d’injection PPL est portable sur Windows 25H2 avec modification de la structure IPIDEntry

🧩 Étapes de la chaîne

  1. Création d’un objet section partagé et mappage en mémoire locale
  2. Ouverture d’un handle héritable vers un processus AppContainer
  3. Spawn de WerFaultSecure.exe avec héritage de handle
  4. Exploitation via IRundown COM pour exécuter un callback (DoCallback)
  5. Injection et exécution du shellcode via la primitive APC de SgrmAgent.sys

🛡️ Détection

Une règle YARA est fournie par l’auteur pour détecter le binaire compilé SgrmFault.exe, basée sur :

  • Import NtContinue
  • CLSID {07FC2B94-5285-417E-8AC3-C2CE5240B0FA} (TwinAPI)
  • Header MEOW (magic bytes 4D454F57)
  • Chaîne SgrmBroker.exe

📌 Type d’article

Publication de recherche offensive / PoC public. But principal : documenter et démontrer une chaîne d’exploitation originale combinant des binaires Microsoft de confiance pour obtenir des primitives privilégiées dans le noyau Windows.

🧠 TTPs et IOCs détectés

TTP

  • T1055 — Process Injection (Defense Evasion)
  • T1055.004 — Process Injection: Asynchronous Procedure Call (Defense Evasion)
  • T1134 — Access Token Manipulation (Privilege Escalation)
  • T1574 — Hijack Execution Flow (Defense Evasion)
  • T1562.001 — Impair Defenses: Disable or Modify Tools (Defense Evasion)

IOC

  • Fichiers : SgrmFault.exe
  • Fichiers : SgrmAgent.sys
  • Fichiers : WerFaultSecure.exe
  • Fichiers : faultrep.dll
  • Chemins : C:\Windows\System32\drivers\SgrmAgent.sys

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 16 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

  • SgrmFault (tool)

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

  • ⬜ github.com — source non référencée (0pts)
  • ✅ 3887 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 5 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 5 TTPs MITRE identifiées (15pts)
  • ⬜ date RSS ou approximée (0pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

🔗 Source originale : https://github.com/lem0nSec/SgrmFault