Resumen ejecutivo#
BlueHammer (CVE-2026-33825, CVSS 7.8) y RedSun (CVE-2026-41091, CVSS 7.8) son dos vulnerabilidades de escalada local de privilegios (LPE) en Microsoft Defender. Un usuario sin privilegios llega a SYSTEM. Los CVE son distintos y las rutas de código también, pero la idea es idéntica y merece entenderse una sola vez: engañar al motor de Defender —que remedia ficheros maliciosos con privilegios de SYSTEM— para que su escritura privilegiada aterrice en C:\Windows\System32 en lugar de en su directorio temporal. A partir de ahí, sobrescribir un binario del sistema y esperar a que Windows lo ejecute como SYSTEM.
La clase de bug: TOCTOU#
TOCTOU = Time-Of-Check to Time-Of-Use (CWE-367). Es una condición de carrera: un programa comprueba una condición sobre un recurso (¿esta ruta es segura? ¿apunta a mi carpeta temporal?) y más tarde actúa sobre ese recurso (escribe ahí) asumiendo que nada cambió en el intervalo. Si un atacante logra cambiar el recurso entre la comprobación y el uso, el programa actúa sobre algo distinto de lo que validó.
En un proceso normal la ventana entre check y use es de microsegundos y ganarla es difícil. El “arte” del exploit está en ensanchar y controlar esa ventana. Y Windows ofrece dos primitivas legítimas, bien documentadas, para hacerlo:
- Oplock (opportunistic lock), en su variante batch. Un mecanismo de caché de ficheros de SMB/NTFS que permite a un proceso pedir que se le avise —y que la operación se pause— cuando otro proceso toca un fichero. El atacante lo usa al revés de su propósito: como un freno programable para congelar a Defender exactamente en el instante crítico.
- Junction point de NTFS. Un tipo de enlace de directorio (reparse point) que redirige una ruta a otra. Un usuario sin privilegios puede crear junctions en directorios donde tiene permiso de escritura —como su propio
%TEMP%—.
Combínalas y tienes la receta conceptual: congelar a Defender con el oplock, cambiar bajo sus pies el directorio (que era real) por un junction hacia System32, soltar el freno. Defender reanuda, “sigue” el junction y escribe donde no debía —con sus privilegios, no los tuyos—.
sequenceDiagram
participant U as Usuario (sin privilegios)
participant D as Defender (SYSTEM)
participant FS as Sistema de ficheros
U->>FS: coloca fichero "malicioso" (dispara detección)
D->>FS: CHECK — valida ruta de remediación (dir temporal del usuario)
U->>D: batch oplock — congela la operación en el punto crítico
Note over U,FS: ventana abierta y controlada
U->>FS: reemplaza el dir temporal por un JUNCTION → C:\Windows\System32
U->>D: libera el oplock
D->>FS: USE — escribe con privilegios SYSTEM... siguiendo el junction
Note over FS: escritura arbitraria en System32 = escalada a SYSTEMDónde difieren BlueHammer y RedSun#
Misma primitiva (oplock + junction), distinta ruta de código dentro de Defender — y eso importa, porque explica por qué parchear uno no mató al otro:
BlueHammer (CVE-2026-33825) | RedSun (CVE-2026-41091) | |
|---|---|---|
| Componente abusado | Motor de remediación de ficheros | Mecanismo de rollback de cloud files (Windows Cloud Files API) |
| Naturaleza (NVD) | Race condition / TOCTOU en la escritura de remediación | Link-following (seguimiento de enlace) |
| Gatillo | Fichero que dispara detección + remediación | Fichero detectado, luego sustituido por un placeholder de cloud file; el abuso ocurre en el rollback |
| Resultado | Escritura privilegiada en System32 → SYSTEM; acceso a SAM | Escritura privilegiada en System32 → SYSTEM |
| Divulgación / parche | PoC ~7-abr-2026 → parche Patch Tuesday abril | PoC ~abril → parche OOB 21-may-2026 |
RedSun es la prueba de que el actor no dependía de un bug puntual: cuando la ruta de remediación se endureció, se movió a la ruta de rollback de cloud files para alcanzar el mismo primitivo de escritura. Es reencontrar la clase de bug, no un CVE nuevo por suerte.
Impacto: de escritura arbitraria a SAM#
Escritura arbitraria como SYSTEM es game over local, pero conviene ver el eslabón concreto que reportan las fuentes: el acceso de lectura al hive SAM (Security Account Manager), donde viven los hashes de credenciales locales. Con SYSTEM se puede copiar SAM (y SYSTEM/SECURITY), extraer hashes offline y pivotar. Por eso esto no es “solo LPE”: es LPE que habilita robo de credenciales (MITRE T1003.002).
Cómo se vio en la práctica (Huntress)#
En la intrusión de mediados de abril, BlueHammer/RedSun fueron el paso de escalada dentro de una cadena más larga —el acceso inicial fue una VPN FortiGate comprometida, no el zero-day—:
VPN FortiGate comprometida
→ staging: FunnyApp.exe (Pictures\), RedSun.exe, z.exe (Downloads\ks\)
→ recon: whoami /priv · cmdkey /list · net group
→ ESCALADA: BlueHammer / RedSun → SYSTEM → lectura de SAM
→ evasión: UnDefend → C2: agent.exe (BeigeBurrow) → ransomware
IoCs relevantes de esta pieza (Huntress; los nombres de binario son triviales de cambiar, úsalos como pista, no como muralla):
%USERPROFILE%\Pictures\FunnyApp.exe (variante BlueHammer)
%USERPROFILE%\Downloads\RedSun.exe
%USERPROFILE%\Downloads\ks\z.exe
Exploit:Win32/DfndrPEBluHmr.BZ (detección de Defender, cuando no está cegado por UnDefend)
Ingeniería de detección#
Ordenadas de más resiliente a más frágil. La regla que de verdad quieres es la primera.
1. Comportamental — shell hijo de MsMpEng.exe (alta confianza)#
MsMpEng.exe (el servicio de Defender) no lanza shells interactivos. Un cmd.exe/powershell.exe como hijo directo es un artefacto potente de explotación exitosa de esta familia, y no depende de ningún IoC: sobrevive a que el actor renombre binarios.
title: Shell sospechoso lanzado por Microsoft Defender (MsMpEng)
id: ne-bh-001-defender-shell-spawn
status: experimental
description: >
cmd/powershell/wscript como hijo directo de MsMpEng.exe. Comportamiento
altamente anómalo; artefacto de explotación de BlueHammer/RedSun/RoguePlanet.
Resiliente a variantes (no depende de IoCs).
references:
- https://www.picussecurity.com/resource/blog/bluehammer-redsun-windows-defender-cve-2026-33825-zero-day-vulnerability-explained
author: Serie Nightmare Eclipse — detección defensiva
date: 2026-07-02
tags:
- attack.privilege_escalation
- attack.t1068
- attack.t1059
logsource:
product: windows
service: sysmon
detection:
selection:
EventID: 1
ParentImage|endswith: '\MsMpEng.exe'
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\mshta.exe'
condition: selection
falsepositives:
- Muy bajo. Validar contra baseline del entorno.
level: critical
Equivalente en KQL (Defender XDR / Sentinel):
DeviceProcessEvents
| where Timestamp > ago(24h)
| where InitiatingProcessFileName =~ "MsMpEng.exe"
| where FileName in~ ("cmd.exe","powershell.exe","pwsh.exe",
"wscript.exe","cscript.exe","mshta.exe")
| project Timestamp, DeviceName, FileName, ProcessCommandLine,
AccountName, InitiatingProcessFileName
| order by Timestamp desc
2. Comportamental — abuso de junction hacia System32 (media-alta)#
La primitiva deja rastro: creación de reparse points/junctions que apuntan a System32 desde procesos de usuario, correlacionada con actividad de Defender. Sysmon no registra junctions de forma directa, pero sí la creación del reparse point vía EventID 11/FileCreate sobre rutas sensibles y EventID 17/18 (pipes) si el PoC usa IPC. Prioriza la señal de escritura inesperada de un binario del sistema:
DeviceFileEvents
| where Timestamp > ago(24h)
| where FolderPath startswith @"C:\Windows\System32\"
| where InitiatingProcessFileName =~ "MsMpEng.exe"
| where ActionType in ("FileCreated","FileModified")
// Defender no debería crear/reescribir binarios en System32:
| where FileName endswith ".exe" or FileName endswith ".dll"
| project Timestamp, DeviceName, FolderPath, FileName,
InitiatingProcessFileName, InitiatingProcessAccountName
3. IoC-driven — staging de binarios (baja, complementaria)#
Frágil (renombrable), pero barata y útil para correlacionar:
title: Nightmare Eclipse — staging de binario en directorio de usuario
id: ne-bh-002-staging
status: experimental
description: >
Nombres de binario documentados por Huntress para BlueHammer/RedSun.
IoC-driven; evadible por renombrado. Usar solo como correlación.
references:
- https://www.huntress.com/blog/nightmare-eclipse-intrusion
author: Serie Nightmare Eclipse — detección defensiva
date: 2026-07-02
tags:
- attack.privilege_escalation
- attack.t1068
logsource:
product: windows
service: sysmon
detection:
selection:
EventID: 11
TargetFilename|endswith:
- '\Pictures\FunnyApp.exe'
- '\Downloads\RedSun.exe'
- '\Downloads\ks\z.exe'
condition: selection
falsepositives:
- Muy bajo por lo específico de los nombres; nulo valor ante variantes.
level: medium
Mitigación#
| Acción | Detalle | Cubre |
|---|---|---|
| Parchear plataforma Defender | 4.18.26040.7 o superior | BlueHammer, RedSun (y UnDefend) |
| Patch Tuesday abril 2026 | Actualización acumulativa | BlueHammer |
| OOB 21-may-2026 | Actualización de plataforma Defender | RedSun, UnDefend |
| Tamper Protection | Dificulta manipular Defender | Endurecimiento general |
# ¿Estoy cubierto?
(Get-MpComputerStatus).AMProductVersion # -> 4.18.26040.7 o superior
Get-MpComputerStatus | Select-Object AMEngineVersion, AMProductVersion, `
AntivirusSignatureLastUpdated, IsTamperProtected
DfndrPEBluHmr.BZ no va a saltar aunque BlueHammer se ejecute. Por eso la detección #1 (shell hijo de MsMpEng.exe, que no depende de firmas) es la que importa, y por eso conviene monitorizar fallos de actualización de Defender como señal de UnDefend — el tema del próximo post.MITRE ATT&CK#
| Táctica | Técnica |
|---|---|
| Privilege Escalation | T1068 — Exploitation for Privilege Escalation |
| Defense Evasion | T1211 — Exploitation for Defense Evasion (abuso del propio Defender) |
| Credential Access | T1003.002 — OS Credential Dumping: SAM |
| Execution | T1059 — Command and Scripting Interpreter (shell resultante) |
Referencias#
- Picus — BlueHammer & RedSun (CVE-2026-33825) Explained: https://www.picussecurity.com/resource/blog/bluehammer-redsun-windows-defender-cve-2026-33825-zero-day-vulnerability-explained
- Help Net Security — CVE-2026-41091, CVE-2026-45498 exploited: https://www.helpnetsecurity.com/2026/05/21/microsoft-defender-vulnerabilities-cve-2026-41091-cve-2026-45498/
- SecurityWeek — Microsoft Patches UnDefend and RedSun Defender Zero-Days: https://www.securityweek.com/microsoft-patches-exploited-undefend-and-redsun-defender-zero-days/
- Huntress — Nightmare-Eclipse Tooling Seen in Real-World Intrusion: https://www.huntress.com/blog/nightmare-eclipse-intrusion
- NVD — CVE-2026-33825: https://nvd.nist.gov/vuln/detail/CVE-2026-33825 · CVE-2026-41091: https://nvd.nist.gov/vuln/detail/CVE-2026-41091
- MITRE CWE-367 (TOCTOU): https://cwe.mitre.org/data/definitions/367.html