BlueHammer CVE-2026-33825 — Microsoft Defender LPE (BlueHammer / RedSun)

A TOCTOU race in Defender's threat-remediation engine, abused with oplocks + NTFS junctions to write into System32 as SYSTEM and reach the SAM database. Now used by ransomware crews for privilege escalation and credential access.
Threat
CVE-2026-33825 · Microsoft Defender
Severity
EXPLOITED ITW · Ransomware
Type
Local Priv-Esc → Credential Access
Access
Local (authorized user)
Version
v0.2 · 2026-06-30
Author
HuntPack
Confidence
High (vendor + IR corroborated)
01

Executive Summary

CVE-2026-33825 ("BlueHammer") is a local privilege-escalation flaw (CVSS 7.8) in Microsoft Defender Antivirus. It is a time-of-check-to-time-of-use (TOCTOU) race in Defender's threat-remediation engine: an attacker plants a file Defender will quarantine, uses a batch opportunistic lock (oplock) to pause Defender mid-operation, then swaps in an NTFS junction that redirects Defender's privileged write from a temp directory into C:\Windows\System32. When the oplock releases, Defender (running as SYSTEM) follows the junction and writes to the protected location — yielding SYSTEM code execution and an arbitrary read handle to the SAM database (local password hashes). A sibling technique, RedSun, abuses Defender's cloud file-rollback mechanism via the Windows Cloud Files API to achieve the same System32 overwrite.

PoC tooling ("Nightmare-Eclipse") leaked in early April 2026; Microsoft patched in the April 2026 Patch Tuesday; CISA added the CVE to the KEV catalog on April 22, 2026; and on June 30, 2026 CISA confirmed it is now being exploited by ransomware gangs as a privilege-escalation and credential-access step. Affected: Windows 10/11 and Server 2016–2025 running Defender builds prior to the April 2026 update.

Highest-value defensive angle: the exploit's signature is the security product itself behaving abnormally — MsMpEng.exe writing an executable into System32, junction/reparse creation pointing at System32, and post-escalation SAM-hive access. None of these are benign in a healthy environment, so behavioral hunts are high-fidelity even without atomic IOCs. The fastest win, however, is verifying the April 2026 Defender platform update is actually deployed fleet-wide.

Defender priority: Confirm Defender platform/engine is patched (≥ April 2026) on every endpoint, then hunt Q1 (MsMpEng.exe → PE into System32) and Q3 (SAM-hive access). Treat any hit as an active ransomware-precursor escalation — isolate and assume credential theft.

02

Source Review & Web Hunter Notes

TierSourceKey FindingCarry Forward
1 · GovCISA KEV + alert (2026-06-30)CVE-2026-33825 confirmed exploited by ransomware gangs; KEV since 2026-04-22.Yes
1 · VendorMicrosoft MSRC (April 2026 update)Insufficient access-control granularity in Defender → local EoP; patched April 2026 Patch Tuesday.Yes
2 · ResearchPicus Security — BlueHammer & RedSun explainedTOCTOU + oplock + NTFS junction → System32 write as SYSTEM; RedSun via Cloud Files API rollback.Yes
2 · IRHuntress — Nightmare-Eclipse tooling in real-world intrusionPoC tooling observed in live intrusion; corroborates in-the-wild use.Yes
2 · PressBleepingComputer / SecurityWeekSAM arbitrary read handle → local hashes → SYSTEM; multiple ransomware groups adopted it.Partial

Intel note: No atomic file hashes or C2 were published for the Nightmare-Eclipse tooling at access time. Coverage here is behavior-led against the exploit primitive (Defender → System32 write, junction-to-System32, SAM access); atomic-IOC slots in §10 are placeholders.

03

Hunt Brief & Attack Chain

Hunt hypotheses (fidelity-ordered)

  1. H1 (high): MsMpEng.exe (Defender) writes a PE/executable into System32 — the junction-redirected privileged write at the heart of BlueHammer/RedSun.
  2. H2 (high): A non-system process creates an NTFS junction / reparse point targeting System32 (or uses mklink/fsutil reparsepoint against a system path).
  3. H3 (high): A process accesses or copies the SAM/SYSTEM registry hives (reg save HKLM\SAM, esentutl on SAM, direct System32\config\SAM reference) — post-escalation credential access.
  4. H4 (medium): A SYSTEM-integrity process launches from a user-writable directory (Users/Temp/ProgramData) shortly after Defender remediation activity — post-LPE payload.
  5. H5 (medium, IOC): Known Nightmare-Eclipse tooling executes (by hash, once published).
  6. H6 (config): Endpoints reporting Defender platform/engine builds older than the April 2026 update — exposure surface.

Attack chain

StepActionTelemetryHunt Angle
1 · FootholdAttacker has local (non-admin) code executionProcessRollup2Upstream — initial access pack
2 · SetupPlant detected file; arm batch oplock; create junction to System32ProcessRollup2 (mklink/fsutil)Q2
3 · TriggerDefender remediation follows junction; writes into System32 as SYSTEMPeFileWritten / NewExecutableWritten (ctx MsMpEng.exe)Q1
4 · EscalationSYSTEM code execution; arbitrary read handle to SAMProcessRollup2, IntegrityLevelQ4
5 · Credential AccessDump SAM/SYSTEM hives → local hashesProcessRollup2 (cmd-line)Q3
6 · ImpactRansomware actor pivots / deploys with elevated accessVaries (lateral, encryption)Downstream ransomware pack
04

Consolidated IOC Table

TypeValueConfidenceActionContext
BehaviorMsMpEng.exe writes a PE into C:\Windows\System32highhuntJunction-redirected privileged write (Picus)
BehaviorNTFS junction / reparse point targeting System32highhuntCore exploit primitive (oplock + junction)
BehaviorSAM/SYSTEM hive access (reg save HKLM\SAM, esentutl, System32\config\SAM)highhuntPost-escalation credential access
ToolingNightmare-Eclipse (PoC), RedSun variantmediumhuntNamed in leak + Huntress IR
ConfigDefender platform/engine < April 2026 updatehighenrichExposure surface — patch gate
SHA256REPLACE_WITH_NIGHTMARE_ECLIPSE_SHA256n/adetectPlaceholder — populate when published

No atomic hashes/IPs were published in primary sources at access time (2026-06-30). The SHA256 row is an explicit placeholder — do not deploy as-is.

05

Affected Surface & Telemetry Matrix

SurfaceRequired TelemetryPriorityGap Risk
Windows 10/11 endpoints (Defender AV)PeFileWritten, ProcessRollup2CriticalLow — native Falcon
Windows Server 2016–2025 (Defender AV)PeFileWritten, ProcessRollup2CriticalLow
Reparse/junction creationProcessRollup2 (mklink/fsutil), file eventsHighMedium — junction telemetry can be indirect
Defender platform/engine versionSpotlight / asset inventory / Defender healthHighMedium — version data outside core EDR stream
06

ATT&CK Mapping

TacticTechniqueObserved BehaviorQuery / Control
Privilege EscalationT1068 Exploitation for Priv EscTOCTOU in Defender remediation → SYSTEMQ1, Patch
Defense Evasion / PrivEscT1574.005 / Symlink & junction abuseNTFS junction redirects Defender write to System32Q2
Defense EvasionT1211 Exploitation for Defense EvasionAbuse of the AV's own privileged operationsQ1
Credential AccessT1003.002 Security Account ManagerArbitrary read handle to SAM → local hashesQ3
ExecutionT1059 Command/Scripting (post-LPE)SYSTEM process from user-writable pathQ4
ImpactT1486 Data Encrypted for ImpactRansomware deployment with elevated accessDownstream
07

Native Audit-Log Hunts (non-CQL)

Defender / patch posture (do this first)

  • Get-MpComputerStatus — confirm AMEngineVersion / AMProductVersion reflect the April 2026 (or later) update on every host. Anything older is exposed.
  • Review Microsoft Update / WSUS / Intune compliance for the April 2026 Patch Tuesday rollout coverage.

Windows event logs

  • Sysmon Event ID 11 (FileCreate) for executable writes into C:\Windows\System32 with image MsMpEng.exe — corroborates Q1 where Sysmon is deployed.
  • Security 4656/4663 — handle requests / access to \Device\...\config\SAM by non-system processes.
  • Defender Operational log (Microsoft-Windows-Windows Defender/Operational) — remediation events immediately preceding anomalous System32 changes.
  • Hunt for reparse-point creation (Sysmon EID 11/2 or USN journal) where the target resolves into System32.
08

CrowdStrike LogScale CQL Hunt Queries

Pick your tenant's cloud first — every "Open in Falcon" button below uses this selection.
Q1 · MsMpEng.exe writes a PE into System32
CONF HIGHFP LOWCOST LOW

Looks for: the Defender engine itself writing an executable into System32 — the junction-redirected privileged write. Defender legitimately quarantines into ProgramData, not System32, so this is high-fidelity.

// HUNT: MsMpEng.exe writes a PE into System32 (BlueHammer junction redirect)
// CONF: high  FP: low  COST: low | REQUIRES: PeFileWritten
#event_simpleName=/PeFileWritten|NewExecutableWritten/
| ContextBaseFileName=/^MsMpEng\.exe$/i
| TargetFileName=/System32/i
| table([ComputerName, ContextBaseFileName, TargetFileName, SHA256HashData], limit=200)
Q2 · Junction / reparse creation targeting a system path
CONF HIGHFP MEDCOST LOW

Looks for: creation of NTFS junctions / symlinks / reparse points — the exploit's redirection primitive. FP: some installers and dev tooling create junctions; scope to non-admin parents and correlate with Q1 in the same time window.

// HUNT: junction/symlink/reparse creation (oplock+junction redirect primitive)
// CONF: high  FP: med  COST: low | REQUIRES: ProcessRollup2
// TUNING: exclude known installer/build accounts; prioritize System32 targets
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| CommandLine=/mklink|New-Item.*Junction|CreateSymbolicLink|fsutil reparsepoint/i
| table([ComputerName, UserName, ParentBaseFileName, FileName, CommandLine], limit=200)
Q3 · SAM / SYSTEM hive access (credential dump)
CONF HIGHFP LOWCOST LOW

Looks for: hive-dump command lines hitting the SAM/SYSTEM registry — the credential-access payoff of the LPE. Near-zero benign use on production endpoints.

// HUNT: SAM/SYSTEM hive dump (post-LPE credential access)
// CONF: high  FP: low  COST: low | REQUIRES: ProcessRollup2
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| CommandLine=/reg.*save.*HKLM\\SAM|reg.*save.*\\sam|esentutl.*SAM|System32\\config\\SAM/i
| table([ComputerName, UserName, FileName, CommandLine], limit=200)
Q4 · SYSTEM process launched from a user-writable path
CONF MEDFP MEDCOST LOW

Looks for: a SYSTEM-integrity process executing from Users/Temp/ProgramData — a classic post-LPE tell. FP: some software updaters drop into ProgramData and run as SYSTEM; allowlist known updaters and correlate with Q1/Q2.

// HUNT: SYSTEM-integrity process from a user-writable directory (post-LPE)
// CONF: med  FP: med  COST: low | REQUIRES: ProcessRollup2
// TUNING: exclude approved updaters (e.g., known installer ImageFileNames)
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| IntegrityLevel=/SYSTEM|S-1-16-16384/i
| ImageFileName=/\\Users\\|\\Temp\\|\\ProgramData\\/i
| table([ComputerName, UserName, ImageFileName, FileName, CommandLine, IntegrityLevel], limit=200)
Q5 · Known Nightmare-Eclipse tooling by hash
CONF HIGHFP LOWCOST LOW

Looks for: a hash pivot for the Nightmare-Eclipse PoC / RedSun tooling. Populate the hash before deploying — it is a placeholder until vendor IOCs publish.

// HUNT: known BlueHammer/Nightmare-Eclipse tooling by hash (fill hash before use)
// CONF: high  FP: low  COST: low | REQUIRES: ProcessRollup2
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| SHA256HashData=/REPLACE_WITH_NIGHTMARE_ECLIPSE_SHA256/i
| table([ComputerName, UserName, FileName, SHA256HashData, CommandLine], limit=200)
09

CrowdStrike Custom IOA Recommendations

IOA NamePatternExclusionsAction
Defender-Writes-System32Image MsMpEng.exe writing a PE under System32None expected — Defender doesn't quarantine into System32Block
SAM-Hive-DumpCommand line saving/copying HKLM\SAM or System32\config\SAMSanctioned IR/forensics tooling (by host/account)Detect → Block
Junction-To-System32Non-admin process creating a reparse point resolving into System32Known installers/build agentsDetect

Promote Defender-Writes-System32 first — it is essentially FP-free and maps directly to the exploit primitive.

10

Machine-Readable IOC Appendix

One-click blocks. The behavioral, audit, and patch-gate blocks are deployable today; the atomic hash row is a placeholder until vendors publish.

Falcon IOC Management CSVbulk import
type,value,action,severity,expiration,description,tags
sha256,REPLACE_WITH_NIGHTMARE_ECLIPSE_SHA256,prevent,critical,2026-12-30,BlueHammer/Nightmare-Eclipse tool,campaign:CVE-2026-33825
Behavioral Signatureshunt logic
MsMpEng.exe -> writes PE into C:\Windows\System32
Non-admin proc -> mklink / fsutil reparsepoint / CreateSymbolicLink -> System32
proc -> reg save HKLM\SAM  |  esentutl ...SAM  |  read System32\config\SAM
SYSTEM-integrity proc launched from \Users\ \Temp\ \ProgramData\
Named Toolingreference
CVE-2026-33825 "BlueHammer" - TOCTOU in Defender remediation; oplock + NTFS
  junction redirect write into System32 as SYSTEM; arbitrary read handle to SAM.
RedSun - sibling technique abusing Defender cloud file-rollback (Cloud Files API).
Nightmare-Eclipse - leaked PoC tooling (early April 2026); seen in live intrusion.
Patch: April 2026 Patch Tuesday. KEV: 2026-04-22. Ransomware use: 2026-06-30.
Defender Patch GatePowerShell
# Confirm Defender platform/engine is the April-2026 update or newer:
Get-MpComputerStatus | Select-Object AMProductVersion, AMEngineVersion, `
  AMServiceVersion, NISEngineVersion, AntivirusSignatureLastUpdated
# Flag any host whose AMProductVersion predates the April 2026 platform update.
11

Detection Validation Gates

GateCheckPass Criteria
Telemetry readyPeFileWritten + ProcessRollup2 flowing from Windows endpointsRecent events for representative hosts
Benign baselineRun Q2/Q4 over 7–14 daysCatalog legitimate junction creators and SYSTEM updaters before alerting
Positive testLab: reg save HKLM\SAM C:\Temp\sam.hivQ3 fires
PromotionQ1/Q3 to Custom IOA (Block); Q2/Q4 to DetectZero FP across baseline window before Block
12

Hardening — Tiered

Immediate (this week)
  • Deploy the April 2026 Defender platform/engine update fleet-wide and verify with Get-MpComputerStatus. This closes the vulnerability outright. (M1051 Update Software)
  • Confirm Defender is not pinned to an old platform version by policy; allow automatic platform updates. (M1051)
  • Deploy the §8 behavioral hunts (Q1, Q3) as scheduled searches today. (M1040 Behavior Prevention)
Near term (1–4 weeks)
  • Promote Q1 (Defender→System32 write) and Q3 (SAM dump) to Custom IOAs in Block mode. (M1040)
  • Enable / verify LSASS and SAM protection postures and restrict local-admin reuse to limit hash-replay value. (M1027 Password Policies, M1043 Credential Access Protection)
  • Restrict the ability to create symbolic links / mount points to administrators only (review SeCreateSymbolicLinkPrivilege assignment). (M1018 User Account Management)
Strategic (1–3 months)
  • Move to LAPS for unique local-admin passwords so a dumped SAM hash can't be replayed across the fleet. (M1026 Privileged Account Management, M1027)
  • Application control (WDAC) to constrain what can run as SYSTEM from user-writable paths. (M1038 Execution Prevention)
  • Tamper protection + EDR-on-EDR monitoring so abuse of the security stack itself raises alerts. (M1040)

⚠ Verify in tenant: confirm the exact April 2026 Defender platform build number against current MSRC guidance before treating a host as patched.

13

Deployable Playbooks

1 · Verify Defender platform update (PowerShell, fleet)

# Report Defender versions; flag hosts that predate the April 2026 platform update.
$s = Get-MpComputerStatus
[pscustomobject]@{
  Host             = $env:COMPUTERNAME
  AMProductVersion = $s.AMProductVersion
  AMEngineVersion  = $s.AMEngineVersion
  SignaturesUpdated= $s.AntivirusSignatureLastUpdated
} | Format-List
# Push via your RMM and alert on any AMProductVersion older than the April 2026 build.

2 · Restrict symlink/junction creation to admins (secedit / GPO)

# User Rights Assignment: "Create symbolic links" (SeCreateSymbolicLinkPrivilege)
# GPO path: Computer Config > Policies > Windows Settings > Security Settings >
#           Local Policies > User Rights Assignment > Create symbolic links
# Set to: Administrators only (remove any broad/user groups).
# Verify on a host:
whoami /priv | findstr SeCreateSymbolicLinkPrivilege

3 · Falcon CQL spot-check after patch

# Should return ZERO once patched + IOAs in place:
#event_simpleName=/PeFileWritten/
| ContextBaseFileName=/^MsMpEng\.exe$/i
| TargetFileName=/System32/i
| table([ComputerName, TargetFileName])
14

Containment Runbook

PhaseActionsOwnerEvidence
IsolateNetwork-contain hosts with Q1/Q3 hits in Falcon; treat as active ransomware-precursor escalationSOCContainment ID, process timeline
EradicateRemove attacker-written System32 binaries + tooling; restore overwritten system files from known-good; deploy April 2026 Defender updateIT OpsFile hashes, before/after System32 listing
RotateRotate local-admin passwords (any host with a dumped SAM is compromised); rotate domain creds used on those hosts; move to LAPSIdentity teamRotation tickets
RecoverRebuild if System32 integrity is in doubt; re-image high-value hosts; confirm §8 queries cleanIT OpsClean-scan results
LessonsVerify fleet patch coverage; deploy IOAs; review symlink-privilege assignmentsSecurity leadPost-incident report
15

Detection Coverage Map

TechniqueBehaviorCQLIOACoverage
T1068Defender→System32 privileged writeQ1YesGood
T1574.005Junction/reparse redirectQ2YesPartial — junction telemetry can be indirect
T1003.002SAM hive dumpQ3YesGood
T1059 (post-LPE)SYSTEM proc from user-writable pathQ4Partial — FP tuning needed
ToolingNightmare-Eclipse by hashQ5GAP — hash not yet published
T1486Ransomware impact (downstream)GAP — separate ransomware pack

Strongest coverage is the exploit primitive and its payoff (Q1, Q3 — high CONF, low FP, IOA-ready). Gaps: atomic tooling hash (pending publication) and downstream ransomware impact (own pack). Validation: baseline Q2/Q4 for benign junction creators / SYSTEM updaters before promoting to Block.

16

Hunt Summary Ticket

TITLE:      BlueHammer CVE-2026-33825 -> Defender LPE / SAM access (RedSun)
SEVERITY:   Critical (CVSS 7.8, exploited by ransomware gangs, CISA KEV)
SCOPE:      All Windows endpoints + servers running Defender AV
HYPOTHESIS: TOCTOU oplock+junction -> Defender writes System32 as SYSTEM -> SAM dump
QUERIES:    Q1 MsMpEng->System32 | Q2 junction | Q3 SAM dump | Q4 SYSTEM-from-userdir | Q5 hash
DO FIRST:   Verify April-2026 Defender update fleet-wide (Get-MpComputerStatus);
            run Q1 + Q3
FINDINGS:   <fill in>
GAPS:       Tooling hash (pending); downstream ransomware impact (separate pack)
ACTIONS:    Patch Defender; promote Q1/Q3 IOAs; rotate local-admin creds; move to LAPS
OWNER:      <assign>
VERSION:    v0.2 · 2026-06-30
17

Changelog

v0.22026-07-24CQL correctness pass. All table() calls now carry an explicit row limit: the default is 200 and truncation is silent, so a capped result was indistinguishable from a complete one. Atomic-IOC sweeps (filters over 5+ hashes or C2 IPs) use limit=max so a wide infection is never silently under-scoped; behavioural hunts use limit=200, where exceeding the cap indicates the query needs tuning. Where present, event names that do not exist in the Falcon data model were corrected (e.g. ServiceInstalled is a Sysmon concept, not a Falcon event; ElfFileWritten is ELFFileWritten) — such queries could never return a row. No detection logic, fields, or IOCs changed.
v0.12026-06-30Initial pack — 5 CQL hunts (exploit primitive + SAM access + post-LPE), IOA recs, Defender patch-gate, tiered hardening (patch + LAPS), containment. Atomic tooling hash is a placeholder pending publication.
18

References

TierSourceUsed ForAccess Date
1 · GovCISA KEV CatalogKEV listing, ransomware-exploitation confirmation2026-06-30
2 · PressBleepingComputer — BlueHammer now exploited by ransomware gangsTimeline, SAM access, ransomware adoption2026-06-30
2 · ResearchPicus Security — BlueHammer & RedSun explainedTOCTOU + oplock + junction mechanics; RedSun; affected versions2026-06-30
2 · IRHuntress — Nightmare-Eclipse tooling in real-world intrusionIn-the-wild tooling corroboration2026-06-30
2 · PressSecurityWeek — Defender vuln exploited as zero-dayExploitation status, patch timing2026-06-30