Windows Error Reporting Binary Loading Planted phoneinfo.dll - CVE-2026-50656 ShieldBreak - STRICT
SIGMA detection rule by Adama ASSIONGBON (SOC & CTI Consultant), https://linkedin.com/in/adama-assiongbon-9029893a · Unknown
Detects a Windows Error Reporting binary loading phoneinfo.dll from System32, consistent with successful CVE-2026-50656 ShieldBreak exploitation reaching SYSTEM code execution. SOC L1 should verify the source, affected host, user, process or request fields, timing, and related activity.
Détecte un binaire de Windows Error Reporting (wermgr.exe, WerFault.exe ou WerFaultSecure.exe) chargeant phoneinfo.dll depuis System32, cohérent avec une exploitation réussie de CVE-2026-50656 "ShieldBreak" (contournement du correctif RoguePlanet publié par le chercheur Nightmare Eclipse le 12 août 2026) aboutissant à une exécution de code SYSTEM. phoneinfo.dll n'existe pas nativement sous System32 : sa présence et son chargement par un binaire WER sont le résultat direct de la substitution de fichier via CLFS décrite par la chaîne d'exploitation publique. Angle mort AM1 (corrigé) : une première version de cette règle restreignait "Image" au seul wermgr.exe (le binaire lancé par la tâche planifiée QueueReporting documentée dans le PoC public). Or le chargement défaillant se situe dans wer.dll, module partagé également chargé par WerFault.exe et WerFaultSecure.exe à chaque plantage applicatif classique. Un attaquant qui déclenche ce chemin alternatif (par exemple en forçant un crash applicatif au lieu d'exécuter la tâche QueueReporting) aurait échappé à la version initiale. La sélection a été élargie à la famille complète des binaires WER pour fermer cet angle mort. Angle mort AM2 (résiduel, critique, documenté dans README_ANGLES_MORTS.md) : cette règle repose sur Sysmon EventID 7 (image_load), désactivé par défaut dans la plupart des configurations Sysmon. Sans son activation au moins pour la famille de binaires WER, ce pack n'offre aucune détection. Une règle BROAD ancrée sur la création de phoneinfo.dll (Sysmon EventID 11, généralement déjà actif) a été envisagée comme filet de sécurité complémentaire, puis écartée : le gain temporel réel est de quelques secondes seulement (l'écriture du fichier a lieu en plein milieu de la chaîne d'exploitation, pas lors d'une phase de préparation par un acteur peu privilégié), et rien ne garantit que cette écriture, réalisée via une substitution bas niveau CLFS, génère même un événement FileCreate standard (voir AM4). Une règle dont la fiabilité de déclenchement est incertaine n'apporte pas de valeur de détection réelle ; le filet de sécurité recommandé est opérationnel (activer EventID 7), pas une deuxième règle Sigma. Angle mort AM3 (résiduel, documenté dans README_ANGLES_MORTS.md) : cette règle est ancrée sur le nom d'artefact "phoneinfo.dll" documenté par le PoC public. Une variante qui réutiliserait la même technique CLFS/cfapi pour cibler une autre tâche planifiée auto-élevée avec un nom de DLL manquante différent ne serait pas détectée par cette règle spécifique à la CVE. Le SOC L1 doit vérifier la source, l’hôte affecté, l’utilisateur, les champs de processus ou de requête, la chronologie et les activités associées.
title: Windows Error Reporting Binary Loading Planted phoneinfo.dll - CVE-2026-50656 ShieldBreak - STRICT
id: 2fa17139-c133-4843-8f90-ea8d4bb68aa8
status: experimental
description: |
Detects a Windows Error Reporting binary loading phoneinfo.dll from System32, consistent with successful CVE-2026-50656 ShieldBreak exploitation reaching SYSTEM code execution. SOC L1 should verify the source, affected host, user, process or request fields, timing, and related activity.
Détecte un binaire de Windows Error Reporting (wermgr.exe, WerFault.exe ou WerFaultSecure.exe) chargeant phoneinfo.dll depuis System32, cohérent avec une exploitation réussie de CVE-2026-50656 "ShieldBreak" (contournement du correctif RoguePlanet publié par le chercheur Nightmare Eclipse le 12 août 2026) aboutissant à une exécution de code SYSTEM. phoneinfo.dll n'existe pas nativement sous System32 : sa présence et son chargement par un binaire WER sont le résultat direct de la substitution de fichier via CLFS décrite par la chaîne d'exploitation publique. Angle mort AM1 (corrigé) : une première version de cette règle restreignait "Image" au seul wermgr.exe (le binaire lancé par la tâche planifiée QueueReporting documentée dans le PoC public). Or le chargement défaillant se situe dans wer.dll, module partagé également chargé par WerFault.exe et WerFaultSecure.exe à chaque plantage applicatif classique. Un attaquant qui déclenche ce chemin alternatif (par exemple en forçant un crash applicatif au lieu d'exécuter la tâche QueueReporting) aurait échappé à la version initiale. La sélection a été élargie à la famille complète des binaires WER pour fermer cet angle mort. Angle mort AM2 (résiduel, critique, documenté dans README_ANGLES_MORTS.md) : cette règle repose sur Sysmon EventID 7 (image_load), désactivé par défaut dans la plupart des configurations Sysmon. Sans son activation au moins pour la famille de binaires WER, ce pack n'offre aucune détection. Une règle BROAD ancrée sur la création de phoneinfo.dll (Sysmon EventID 11, généralement déjà actif) a été envisagée comme filet de sécurité complémentaire, puis écartée : le gain temporel réel est de quelques secondes seulement (l'écriture du fichier a lieu en plein milieu de la chaîne d'exploitation, pas lors d'une phase de préparation par un acteur peu privilégié), et rien ne garantit que cette écriture, réalisée via une substitution bas niveau CLFS, génère même un événement FileCreate standard (voir AM4). Une règle dont la fiabilité de déclenchement est incertaine n'apporte pas de valeur de détection réelle ; le filet de sécurité recommandé est opérationnel (activer EventID 7), pas une deuxième règle Sigma. Angle mort AM3 (résiduel, documenté dans README_ANGLES_MORTS.md) : cette règle est ancrée sur le nom d'artefact "phoneinfo.dll" documenté par le PoC public. Une variante qui réutiliserait la même technique CLFS/cfapi pour cibler une autre tâche planifiée auto-élevée avec un nom de DLL manquante différent ne serait pas détectée par cette règle spécifique à la CVE. Le SOC L1 doit vérifier la source, l’hôte affecté, l’utilisateur, les champs de processus ou de requête, la chronologie et les activités associées.
references:
- https://kudelskisecurity.com/research/rogueplanet-zero-day-ms-defender-privilege-escalation
- https://threatprotect.qualys.com/2026/06/18/microsoft-defender-zero-day-vulnerability-exploited-in-attacks-cve-2026-50656-rogueplanet/
- https://www.helpnetsecurity.com/2026/07/09/microsoft-releases-fix-for-rogueplanet-defender-flaw-cve-2026-50656/
- https://thehackernews.com/2026/08/shieldbreak-zero-day-poc-claims.html
- https://www.bleepingcomputer.com/news/security/new-microsoft-defender-shieldbreak-zero-day-grants-system-privileges/
- https://www.morphisec.com/blog/microsoft-defender-zero-day-rogueplanet-when-your-detector-becomes-the-attack-surface/
- https://github.com/MSNightmare/ShieldBreak
author: Adama ASSIONGBON (SOC & CTI Consultant), https://linkedin.com/in/adama-assiongbon-9029893a
date: 2026-08-14
tags:
- attack.privilege-escalation
- attack.t1068
- attack.t1574
- attack.t1574.001
- cve.2026-50656
logsource:
product: windows
category: image_load
detection:
# wer.dll is the shared module across the WER binary family. The vulnerable load
# path is not unique to wermgr.exe (the process the public PoC's QueueReporting
# task path launches); WerFault.exe/WerFaultSecure.exe load the same wer.dll on any
# ordinary application crash (AM1 fix, see custom.description_fr).
selection_wer_family:
Image|endswith:
- '\wermgr.exe'
- '\WerFault.exe'
- '\WerFaultSecure.exe'
# phoneinfo.dll does not exist under System32 on a stock Windows install. Its
# presence there is the artifact planted by the CLFS identity/hydration swap
# described in the public ShieldBreak PoC.
selection_planted_dll:
ImageLoaded|endswith: '\System32\phoneinfo.dll'
condition: selection_wer_family and selection_planted_dll
fields:
- UtcTime
- EventID
- Computer
- User
- Image
- ImageLoaded
- Hashes
- Signed
- SignatureStatus
- ProcessId
falsepositives:
- None known. phoneinfo.dll has no legitimate presence under System32 as of this rule's authoring date; treat any match as high-priority triage.
- A future legitimate Windows or Defender update shipping a genuine file named phoneinfo.dll under System32 (verify against Microsoft release notes and file hash/signature before adding a permanent exclusion)
level: critical