ZERO-DAY
GreatXML — BitLocker bypass via Windows Defender WinRE · No CVE assigned · Public PoC available on GitHub · Affected: Windows 10/11 all versions · Windows Server 2019–2025 (architecture identical) · TPM-only BitLocker provides NO protection · Attack succeeds after TPM unlock, before PIN gate · Path 1: no login required from lock screen · Path 2: attacker-initiated Defender Offline Scan · June 2026 Patch Tuesday addresses related CVEs — no official GreatXML patch yet · Detection: reagentc.exe /boottore + unattend.xml at recovery paths = high-fidelity IOC · GreatXML — BitLocker bypass via Windows Defender WinRE · No CVE assigned · Public PoC available on GitHub · Affected: Windows 10/11 all versions · Windows Server 2019–2025 (architecture identical) ·
· THREAT INTEL · DETECTION ENGINEERING

GreatXML: How a WinRE Answer File Breaks BitLocker

Physical-access bypass of BitLocker via Windows Defender Offline Scan — no credentials, no recovery key, public PoC. 7 KQL queries for Elastic SIEM.

ZERO-DAY NO PATCH T1006 T1542.001 T1553 BitLocker WinRE KQL Elastic SIEM Windows 10/11
🚨
Flash Alert — No Official Patch

GreatXML was disclosed June 10, 2026 with a public PoC. No CVE has been assigned and no official Microsoft patch exists at time of writing. The June 2026 Patch Tuesday addresses related CVEs (CVE-2026-45585, CVE-2026-50507) but not GreatXML directly. All BitLocker-enabled Windows 10/11 endpoints should be treated as at-risk.

What Is GreatXML?

On June 10, 2026, independent security researcher NightmareEclipse (GitHub: @MSNightmare) publicly disclosed a zero-day technique dubbed GreatXML. The technique enables an attacker with brief physical access to any BitLocker-encrypted Windows 10 or Windows 11 machine to obtain a SYSTEM-level shell and read the fully-encrypted OS volume — without knowing the password, BitLocker recovery key, or PIN.

The PoC is live on GitHub and has been mirrored to multiple independent hosting platforms, placing this within reach of any opportunistic attacker who can touch a laptop.

FieldDetail
Vulnerability NameGreatXML
CVENot assigned at time of disclosure
Related CVEsCVE-2026-45585 (YellowKey — same researcher, patched), CVE-2026-50507 (related, June 2026 Patch Tuesday)
SeverityCritical — physical access → full encryption bypass
Patch StatusNo official patch for GreatXML
PoCPublic — GitHub + mirrors
DisclosedJune 10, 2026
AffectedWindows 11 24H2 (confirmed); Windows 10 all supported versions; Windows Server 2019–2025 (architecture identical, not confirmed in PoC)

Root Cause: Trusted Processing in Pre-Boot

The flaw lives in how Windows Defender Offline Scan and the Windows Recovery Environment interact. When a Defender Offline Scan is triggered (MpCmdRun.exe -Scan -ScanType 3), the machine reboots into WinRE to perform the scan in a pre-OS environment. On boot, WinRE processes an unattend.xml answer file from the recovery partition if one is present.

Here is the critical finding: this processing runs with SYSTEM privileges before any user authentication gate and after the TPM has already unlocked the BitLocker volume. An attacker who places a malicious unattend.xml on the recovery partition can abuse this trusted execution path to spawn an administrator shell with full read/write access to the encrypted OS volume.

The attack is confirmed on Windows 11 24H2 (build 10.0.26100.1). Post-exploitation, manage-bde -status C: reports Protection Status: On — encryption appears active to any monitoring tool, yet the volume is fully accessible. This is the exact scenario the PoC demonstrates.

⚠️
TPM-Only BitLocker Provides No Protection

TPM-only key protectors seal the volume key at boot — but they seal it before WinRE processes the malicious answer file. The attack happens after TPM unlock, not before. Adding TPM+PIN may add friction to Path 1 but has not been confirmed as a full mitigation for GreatXML. Microsoft has not yet issued guidance on this point.

The Attack Chain

GreatXML — Path 1 Attack Chain (No Login Required) T1542.001 → T1006
[ PRECONDITION — TARGET MACHINE ]

BitLocker enabled (TPM-only key protector — no PIN)

Windows Defender Offline Scan has run at any prior point // reagentc pre-conditioned by MpCmdRun.exe -ScanType 3

[ STEP 1 — PHYSICAL ACCESS ]

$ Attacker gains brief physical access // theft, unattended device, Evil Maid, insider

$ Mounts recovery partition // no credentials required; partition is unencrypted

[ STEP 2 — WEAPON PLACEMENT ]

$ Copies malicious unattend.xml → recovery partition root

// FirstLogonCommands or RunSynchronous entries → spawns cmd.exe SYSTEM shell

$ Copies crafted Recovery/ directory alongside unattend.xml

[ STEP 3 — TRIGGER ]

$ Shift + Restart from lock screen // no credentials — accessible from lock screen

// selects "Troubleshoot → Advanced → Startup Settings" or WinRE auto-triggers

[ STEP 4 — WinRE EXECUTION ]

$ TPM unseals BitLocker volume key // machine is still within TPM PCR measurement window

$ WinRE boots → processes unattend.xml with SYSTEM privileges

! Administrator shell spawned // C: fully accessible; BitLocker reports "Protection Status: On"

[ STEP 5 — POST-EXPLOITATION ]

$ robocopy C:\Users\* Z:\exfil\ /E /R:0 // data exfiltration

$ reg save HKLM\SAM Z:\sam.hive // credential harvesting

$ copy implant.exe C:\Windows\System32\ // persistent implant

// manage-bde -status C: → "Protection Status: On" — encryption still reported active

Two Exploitation Paths

GreatXML has two distinct exploitation paths depending on whether the target machine has previously had a Defender Offline Scan run.

PATH 1 — CRITICAL

Automatic — No Login Required

Pre-condition: Defender Offline Scan has run at any prior point
  1. Attacker gains brief physical access
  2. Copies malicious unattend.xml + Recovery/ to recovery partition root
  3. Reboots via Shift + Restart from the lock screen (no credentials)
  4. WinRE processes unattend.xml, spawns SYSTEM shell; BitLocker volume is fully accessible
PATH 2 — HIGH

Attacker-Initiated Scan

Pre-condition: Attacker has local access to trigger Offline Scan
  1. Attacker logs in (or exploits pre-auth code execution)
  2. Runs MpCmdRun.exe -Scan -ScanType 3
  3. Machine reboots into WinRE offline scan state
  4. On next physical access, follows Path 1 exactly
🎯
Highest-Risk Endpoint Subset

Any machine where MpCmdRun.exe -ScanType 3 has ever been executed is immediately exploitable via Path 1 — no login required. Run this query against your SIEM first to identify the highest-priority asset subset before deploying any other mitigations.

MITRE ATT&CK Mapping

TechniqueIDPhaseProcedure
Direct Volume Access T1006 Defense Evasion BitLocker-encrypted volume read without key or credentials after WinRE bypass
Pre-OS Boot: System Firmware T1542.001 Persistence / Defense Evasion WinRE pre-OS environment manipulated via answer file to spawn SYSTEM shell
Subvert Trust Controls T1553 Defense Evasion WinRE's trusted unattend.xml processing abused to execute attacker-supplied commands
Impair Defenses: Disable or Modify Tools T1562.001 Defense Evasion BitLocker at-rest encryption effectively neutralised while continuing to report as active

Detection Queries — Elastic SIEM / KQL

All queries target Sysmon process events (windows.sysmon_operational) and Elastic Endpoint events (endpoint.events.process). Sysmon configuration must include process creation (EID 1), file creation (EID 11), and registry modification (EID 13) to ensure coverage. Deploy Queries 1 and 3 as persistent detection rules first — they are the highest-fidelity and lowest-FP starting points.

Q1 reagentc.exe Boot-Redirect Flags
CRITICAL FIDELITY
event.dataset: ("endpoint.events.process" OR "windows.sysmon_operational")
AND event.action: "start"
AND process.name: "reagentc.exe"
AND process.command_line: (*"/boottore"* OR *"/setreimage"* OR *"/enable"* OR *"/disable"*)
| sort @timestamp desc
reagentc.exe with /boottore forces WinRE on next boot — near-zero FP outside IT admin activity. Flag any execution from a non-SYSTEM, non-TrustedInstaller parent immediately. The /enable and /disable flags should only be run by TrustedInstaller during Windows Updates.
Q2 bcdedit.exe — WinRE / Recovery BCD Modifications
HIGH FIDELITY
event.dataset: ("endpoint.events.process" OR "windows.sysmon_operational")
AND event.action: "start"
AND process.name: "bcdedit.exe"
AND process.command_line: (
    *"winre"* OR *"recovery"*
    OR *"ramdisksdidevice"* OR *"ramdisksdipath"*
    OR *"{current}"*
)
| sort @timestamp desc
Detects BCD manipulation targeting WinRE boot entries. ramdisksdidevice and ramdisksdipath are the specific BCD elements modified in the GreatXML PoC to redirect the WinRE boot path. Legitimate bcdedit activity from svchost.exe or TrustedInstaller during updates does not target these elements.
Q3 unattend.xml Created Outside Deployment Paths
CRITICAL FIDELITY
event.dataset: "windows.sysmon_operational"
AND event.action: "creation"
AND winlog.event_id: 11
AND file.name: "unattend.xml"
AND NOT file.path: (
    *"C:\\Windows\\System32\\sysprep\\"*
    OR *"C:\\Windows\\Panther\\"*
    OR *"C:\\Windows\\Setup\\"*
)
| sort @timestamp desc
unattend.xml at a recovery partition root or \Recovery\ path is the weapon placement artifact. Legitimate unattend.xml files only appear under sysprep\, Panther\, or Setup\ during OS deployment. Any other location is anomalous. Suppress with parent.process.name: "setupprep.exe" or "wdsutil.exe" in MDT/WDS environments.
Q4 File Writes to \Recovery\ or ReAgent.xml
HIGH FIDELITY
event.dataset: "windows.sysmon_operational"
AND event.action: "creation"
AND winlog.event_id: 11
AND (
    file.path: (*"\\Recovery\\"* OR *"\\Recovery\\WindowsRE\\"*)
    OR file.name: ("ReAgent.xml" OR "winre.wim" OR "boot.sdi")
)
AND NOT process.name: ("TrustedInstaller.exe" OR "TiWorker.exe" OR "svchost.exe")
| sort @timestamp desc
ReAgent.xml is the WinRE configuration file — the only legitimate writers are TrustedInstaller and Windows Update (svchost.exe). Any other process modifying this file or writing to \Recovery\WindowsRE\ is highly suspicious. A modified ReAgent.xml with a write timestamp mismatched against the OS build date is a strong post-compromise indicator.
Q5 manage-bde.exe BitLocker Reconnaissance
MEDIUM FIDELITY
event.dataset: ("endpoint.events.process" OR "windows.sysmon_operational")
AND event.action: "start"
AND process.name: "manage-bde.exe"
AND process.command_line: (
    *"-status"* OR *"-protectors"*
    OR *"-on"* OR *"-off"* OR *"-unlock"*
)
| sort @timestamp desc
Attacker runs manage-bde -status to enumerate BitLocker configuration before deciding which exploitation path to use. Medium fidelity — IT admins also query BitLocker status. Correlate with other GreatXML indicators on the same host (Q1, Q3) to determine if this is reconnaissance vs routine IT activity.
Q6 Defender Offline Scan Initiation — Pre-Condition Identifier
HIGH FIDELITY
event.dataset: ("endpoint.events.process" OR "windows.sysmon_operational")
AND event.action: "start"
AND process.name: "MpCmdRun.exe"
AND process.command_line: (
    *"-Scan -ScanType 3"*
    OR *"OfflineScan"*
    OR *"-BootSectorScan"*
)
| sort @timestamp desc
This query identifies machines pre-conditioned for Path 1 exploitation — any machine where this ran is immediately exploitable with no login. Build a dashboard of these hosts and treat them as the highest-priority remediation subset. An attacker running this on a machine they already have access to is initiating Path 2.
Q7 Correlated: Offline Scan History + reagentc/bcdedit Activity
CRITICAL CONTEXT
// Step 1 — Identify machines where MpCmdRun offline scan ran in last 90 days
event.dataset: "endpoint.events.process"
AND process.name: "MpCmdRun.exe"
AND process.command_line: *"ScanType 3"*
| stats min(@timestamp) as first_offline_scan by host.name
| where first_offline_scan > now() - 90d

// Step 2 — Cross-reference with reagentc or bcdedit activity on those hosts
// Run separately; pivot on host.name results from Step 1
event.dataset: "endpoint.events.process"
AND process.name: ("reagentc.exe" OR "bcdedit.exe")
AND host.name: ("")
| sort @timestamp desc
Two-step pivot. The combination of prior Offline Scan (pre-condition) + reagentc or bcdedit activity on the same machine is the highest-confidence GreatXML indicator. Any host appearing in both queries should be treated as a confirmed incident and isolated immediately.

False Positive Analysis

Source
FP Risk
Suppression Filter
MDT / SCCM / WDS OS deployment — creates unattend.xml under legitimate paths
LOW
Q3 already excludes sysprep\, Panther\, Setup\. Add parent filter: parent.process.name: "setupprep.exe"
IT admins running reagentc.exe /enable post-Windows Update
LOW
Legitimate RE-enable has TrustedInstaller.exe as parent; add AND NOT parent.process.name: "TrustedInstaller.exe" to Q1
Backup agents (Veeam, Commvault) running diskpart.exe for VSS operations
MED
Suppress known backup process parents; baseline diskpart activity by process parent before deploying as alert
IT running Defender Offline Scan for malware removal (legitimate Path 2 pre-condition)
MED
Q6 is intended to be a risk register query, not an alert rule. Log it; use it to build the list of pre-conditioned machines
manage-bde.exe used by IT admins for routine status checks
HIGH
Do not alert on Q5 alone. Only flag when correlated with Q1 or Q3 activity on the same host within the same timeframe

Indicators of Compromise

GreatXML has no network-based IOCs — it is a local, physical-access technique. Detection relies entirely on file system artifacts and process execution events.

TypeValueConfidence
File unattend.xml at recovery partition root or \Recovery\OEM\ High
File Modified ReAgent.xml with write timestamp mismatched vs OS build date High
File New or unexpected files under \Recovery\WindowsRE\ High
Artifact C:\Windows\System32\Recovery\ReAgentOld.xml (backup created during tampering) Medium
Process reagentc.exe /boottore from non-SYSTEM, non-TrustedInstaller context High
Process bcdedit.exe with ramdisksdi* arguments in a user session High
Process MpCmdRun.exe -Scan -ScanType 3 (pre-condition marker — flags Path 1 eligibility) Medium

Mitigations

ControlActionEffectiveness
Apply Patch Tuesday Apply June 2026 Patch Tuesday for CVE-2026-45585 and CVE-2026-50507 (partial mitigation) Partial — addresses related issues; no GreatXML-specific patch exists yet
Disable WinRE Run reagentc.exe /disable on endpoints where WinRE is not required for recovery High — removes the attack surface entirely; verify recovery workflow before deploying broadly
BitLocker + PIN Migrate high-risk endpoints (executive, finance, legal, M&A) from TPM-only to TPM+PIN Medium — adds friction; not confirmed as full GreatXML mitigation; Microsoft guidance pending
Physical Security Screen lock policy enforcement, cable locks for laptops, restricted physical access zones for sensitive machines High for opportunistic theft; compensating control for Path 1
FIM on Recovery Partition File integrity monitoring on \Recovery\ and ReAgent.xml via SentinelOne custom rules or Elastic FIM High detection value; may not prevent in-situ attack but enables rapid identification
Audit Offline Scan History Run Q6 across all endpoints; build a priority list of machines where Offline Scan has run — these are Path 1 ready Risk prioritisation — not a mitigation but enables focused response
🔧
Priority Hardening — PowerShell

Run the following to disable WinRE on endpoints where recovery is not required. Confirm with your change management process before deploying at scale — disabling WinRE removes the recovery environment and may impact your OS recovery workflows.

PS Disable WinRE on Endpoint
HARDENING
# Disable WinRE — removes the attack surface for GreatXML
# Run as Administrator; verify your recovery workflow supports WinRE-off state
reagentc /disable

# Confirm WinRE is disabled
reagentc /info
# Expected output: "Windows RE status: Disabled"

# Optional: check BitLocker protector type (TPM-only = highest risk)
manage-bde -protectors -get C:
# If output shows "TPM" with no PIN, consider migrating to TPM + PIN for high-risk assets

Priority Actions

  1. Identify immediately-exploitable machines (Path 1): Run Q6 across your SIEM to find all endpoints where MpCmdRun.exe -ScanType 3 has been executed. These machines can be exploited by physical access with no login required.
  2. Deploy detection rules Q1 and Q3 immediately: reagentc.exe /boottore and unattend.xml at non-deployment paths are the highest-fidelity, lowest-FP indicators for this attack. These should be persistent alert rules, not hunt queries.
  3. Disable WinRE on high-risk endpoints: Executive laptops, finance, legal, and M&A machines should be prioritised. Use reagentc /disable after confirming recovery workflow impact.
  4. Do not communicate TPM-only as a sufficient control: Any stakeholder communication that presents BitLocker as protective against physical-access scenarios must be updated. TPM-only is explicitly ineffective here.
  5. Monitor for GreatXML patch release: Microsoft has not issued a GreatXML-specific patch. Track the MSRC advisory and apply immediately on release. Reference CVE-2026-45585 and CVE-2026-50507 for related updates.

Intelligence Gaps

References

Sai Prashanth Pulisetti SOC LEAD · DETECTION ENGINEER · CRTE / CRTO / CRTP