Resumen ejecutivo#
El 13 de mayo, un día después del Patch Tuesday de mayo, el actor soltó tres LPEs de golpe (junto con YellowKey). Dos de ellas son las “Plasma”, y ambas terminan en SYSTEM:
- GreenPlasma (
CVE-2026-45586) — abusa del framework de entrada de texto CTFMON, un servicio que corre como SYSTEM. - MiniPlasma (
CVE-2020-17103) — reutiliza, sin cambios, un CVE de 2020 contra el driver de Cloud Files. No es un error de tipeo: es el titular de este post.
Ambas se parchearon en el Patch Tuesday de junio 2026. Su valor hoy no es la urgencia (están parcheadas) sino la lección: una es un recordatorio de que los procesos SYSTEM que confían en objetos manipulables son superficie de escalada; la otra, de que un parche que no se verifica es un parche que quizá nunca existió.
(Actualización, 7-jul-2026: nada urgente aquí, y es una buena noticia dentro de la campaña. Ambas siguen sin explotación in-the-wild reportada —a diferencia de BlueHammer/RedSun, se quedaron en PoC—. Salieron dentro de un Patch Tuesday de junio enorme (~200 CVE corregidos, 6 zero-days en total), lo que subraya la importancia de haberlo aplicado completo. Microsoft caracteriza oficialmente GreenPlasma como un bug de “link-following” en el Collaborative Translation Framework (CTFMON), coherente con el mecanismo descrito arriba. La regresión de CVE-2020-17103 (MiniPlasma) quedó confirmada por varios análisis independientes: el PoC de 2020 seguía elevando a SYSTEM en Windows 11 con las actualizaciones de mayo 2026, hasta el parche de junio.)
MiniPlasma: la resurrección de CVE-2020-17103#
Empecemos por la buena historia. CVE-2020-17103 es un bug de elevación de privilegios en cldflt.sys —el Cloud Files Mini Filter Driver—, descubierto por Project Zero y “parcheado” por Microsoft en noviembre de 2020. Seis años después, el PoC de MiniPlasma lo dispara igual.
¿Por qué? Según el análisis de GuardSix, “el PoC original de Project Zero sigue funcionando sin cambios, lo que significa que el fix o nunca se aplicó correctamente o fue silenciosamente revertido en algún momento.” Es decir: una regresión o un parche incompleto que dejó el agujero abierto durante años.
Seis años es tiempo de sobra para que todos crean que algo terminó. “Parcheado” es una de esas palabras que cierran el caso y apagan la atención — se marca, se archiva, se deja de mirar. Pero marcar no es arreglar, igual que nombrar no es entender. El bug no volvió: nunca se fue; solo se fue la gente que lo vigilaba. Es el patrón de siempre — cambia el año, cambia el número de build, la firma se conserva. Un fix sin una prueba que lo vigile no es un estado, es una creencia, y las creencias que nadie vuelve a auditar son exactamente las que un día crujen bajo el peso que se les puso encima.
Mecanismo (nivel conceptual). El driver realiza operaciones de registro usando su contexto SYSTEM privilegiado sin restringir al llamante. Ganando una condición de carrera (alternando tokens de impersonación mientras se invoca CfAbortOperation()), el atacante engaña al driver para que escriba en HKEY_USERS\.DEFAULT —un hive de SYSTEM que el usuario no puede tocar normalmente—. Eso se convierte en envenenamiento de variables de entorno (redirigir %windir%), que a su vez hace que Windows Error Reporting ejecute un wermgr.exe malicioso como SYSTEM. Resultado: shell SYSTEM interactivo en el escritorio del usuario, sin credenciales y sin prompt de UAC.
wermgr.exe suplantado—, aunque el camino para llegar allí sea distinto (registro/env vars vs. junction). WER es un primitive recurrente de ejecución como SYSTEM en toda esta campaña. Si vigilas wermgr.exe fuera de System32, cubres varias piezas a la vez.GreenPlasma: abusar de la confianza de CTFMON#
Componente: ctfmon.exe, el servicio de entrada de texto de Windows, que corre como SYSTEM. Clase de vulnerabilidad: escalada vía manipulación de symlinks del Object Manager + bypass de DACL de registro.
Mecanismo (nivel conceptual). El exploit crea un enlace simbólico del Object Manager apuntando a CTF.AsmListCache.FMPWinlogon. Cuando el proceso privilegiado ctfmon abre esa sección con nombre, accede sin saberlo a un objeto controlado por el atacante. En paralelo, usa un symlink de registro para saltarse los controles de acceso sobre el hive de Policies —engañando al kernel para que resetee permisos sobre claves sensibles redirigiendo las escrituras por la ruta, menos protegida, de la política de CloudFiles—.
Lo que el código real confirma (analizado en laboratorio)#
El PoC público es deliberadamente parcial —el autor quitó el código del shell SYSTEM completo y lo dejó como reto de CTF—; lo que corre demuestra la primitiva: crear un objeto de sección arbitrario en un directorio de objetos escribible por SYSTEM. Analizado en un entorno aislado, deja artefactos de registro y de espacio de nombres muy concretos:
- El symlink de registro va por CloudFiles. Resetea la DACL de
HKCU\Software\Policies\Microsoft\CloudFiles(con una DACL protegida) y recrea…\CloudFiles\BlockedAppscomo enlace simbólico de registro (REG_OPTION_CREATE_LINK | REG_OPTION_VOLATILE), escribiendo el valorSymbolicLinkValue(tipoREG_LINK) que apunta a la clave de política del sistema. A través de ese enlace escribeDisableLockWorkstation = 1en…\CurrentVersion\Policies\System. - El hijack de namespace usa el nombre de CTF. Crea un enlace simbólico del Object Manager en
\Sessions\<id>\BaseNamedObjects\CTF.AsmListCache.FMPWinlogon<id>apuntando a un objeto controlado (por defecto\BaseNamedObjects\CTFMON_DEAD). Cuandoctfmon/Winlogon (SYSTEM) crea o abre esa sección con nombre, el enlace la redirige. - La shell sale por
runas. El PoC materializa la consola conShellExecuteExverborunassobreconhost.exe(elevación por UAC — coherente con el prompt que menciona GuardSix).
Ninguno de estos pasos es habitual en un proceso de usuario, y son la base de la detección de abajo.
Detección#
Ambas están parcheadas, así que esto es hunting retrospectivo y cobertura de la clase de vulnerabilidad, no respuesta urgente:
wermgr.exe fuera de ruta (cubre MiniPlasma y RoguePlanet)#
DeviceProcessEvents
| where Timestamp > ago(30d)
| where FileName =~ "wermgr.exe"
| where not(FolderPath has_any (@"\Windows\System32\", @"\Windows\SysWOW64\"))
| project Timestamp, DeviceName, FolderPath, ProcessCommandLine,
InitiatingProcessFileName, AccountName
Anomalías de %windir% / variables de entorno (MiniPlasma)#
Vigila procesos SYSTEM lanzados con un %windir% que no apunta a C:\Windows, o modificaciones inesperadas de variables de entorno en HKEY_USERS\.DEFAULT\Environment. Es el corazón del truco de envenenamiento de env vars.
Symlinks de registro y escritura de Policies (GreenPlasma)#
La telemetría de registro (Sysmon EventID 12-14) sí captura la parte más resiliente del PoC: la creación de una clave con REG_OPTION_CREATE_LINK (o la aparición del valor SymbolicLinkValue/REG_LINK) y la escritura de DisableLockWorkstation bajo Policies\System desde un proceso de usuario. Ambas son operaciones raras y anómalas:
title: GreenPlasma — symlink de registro / escritura de Policies (CTFMON PrivEsc)
id: ne-gp-001-registry-symlink-policies
status: experimental
description: >
Creación de un enlace simbólico de registro (SymbolicLinkValue/REG_LINK) o
escritura de DisableLockWorkstation bajo Policies\System por un proceso de
usuario. Artefacto de GreenPlasma (CVE-2026-45586). El objeto CTF.AsmListCache
del Object Manager es complementario (difícil de instrumentar).
references:
- https://guardsix.com/blog/inside-the-latest-chaotic-eclipse-releases-mini-plasma-greenplasma-and-yellowkey
author: Serie Nightmare Eclipse — detección defensiva
date: 2026-07-08
tags:
- attack.privilege_escalation
- attack.t1548
- attack.t1112
logsource:
product: windows
category: registry_event
detection:
reg_symlink:
EventType: SetValue
TargetObject|endswith: '\SymbolicLinkValue'
disable_lock:
TargetObject|endswith: '\CurrentVersion\Policies\System\DisableLockWorkstation'
condition: reg_symlink or disable_lock
falsepositives:
- Muy bajo. Los symlinks de registro son inusuales fuera de casos concretos.
level: high
Los nombres del Object Manager (CTF.AsmListCache.FMPWinlogon, CTFMON_DEAD) son IoC frágiles y complementarios; el espacio de nombres es más difícil de instrumentar que el registro. Señal adicional de bajo coste: conhost.exe lanzado con el verbo runas (elevación UAC).
Mitigación#
| Amenaza | Control |
|---|---|
| GreenPlasma, MiniPlasma | Parche Patch Tuesday junio 2026 (fix real de ambas) |
| MiniPlasma | Verificar que el host recibió el parche de junio, dado el historial de regresión de este CVE |
| Clase de vulnerabilidad | Vigilar wermgr.exe fuera de System32 y anomalías de %windir% como cobertura transversal |
Cierre de la serie#
Seis posts, ocho exploits, un actor. Si algo se lleva el lado azul de Nightmare Eclipse, es esto:
- Caza clases de bug, no CVE. Cinco de las ocho piezas son el mismo primitive (TOCTOU + oplock + junction, con WER como salida a SYSTEM). Una detección comportamental sólida —shell hijo de
MsMpEng.exe,wermgr.exefuera de ruta— cubre lo que cinco firmas de CVE no. - El estado autorreportado miente. UnDefend y las piezas de BitLocker demuestran que “protección activada” y “protegido” son cosas distintas.
- Un parche sin verificar no es un parche. MiniPlasma estuvo seis años zombie.
- El control nativo también es superficie. El propio Defender fue el vehículo de la escalada. Defensa en profundidad no es un lujo.
Vuelve al índice de la serie para el mapa completo y los IoCs consolidados.
MITRE ATT&CK#
| Táctica | Técnica |
|---|---|
| Privilege Escalation | T1068 — Exploitation for Privilege Escalation |
| Privilege Escalation | T1574.007 — Path Interception by PATH Environment Variable (MiniPlasma) |
| Defense Evasion | T1036 — Masquerading (wermgr.exe) |
| Privilege Escalation | T1548 — Abuse Elevation Control Mechanism (GreenPlasma / DACL bypass, runas) |
| Defense Evasion | T1112 — Modify Registry (symlink de registro + DisableLockWorkstation) |
Referencias#
- GuardSix — Inside the Latest Chaotic-Eclipse Releases: MiniPlasma, GreenPlasma, YellowKey: https://guardsix.com/blog/inside-the-latest-chaotic-eclipse-releases-mini-plasma-greenplasma-and-yellowkey
- LevelBlue / SpiderLabs — From WinRE to SYSTEM: the YellowKey and MiniPlasma attack chain: https://www.levelblue.com/blogs/spiderlabs-blog/from-winre-to-system-hunting-the-yellowkey-and-miniplasma-attack-chain
- BleepingComputer — Microsoft patches YellowKey, GreenPlasma, MiniPlasma zero-days: https://www.bleepingcomputer.com/news/microsoft/microsoft-patches-yellowkey-greenplasma-miniplasma-zero-days/
- Project Zero / NVD — CVE-2020-17103: https://nvd.nist.gov/vuln/detail/CVE-2020-17103
- NVD — CVE-2026-45586: https://nvd.nist.gov/vuln/detail/CVE-2026-45586
- (act. 7-jul) ThreatLocker — MiniPlasma: Privilege escalation 0-day affects fully patched systems: https://www.threatlocker.com/blog/miniplasma-windows-privilege-escalation-zero-day-affects-fully-patched-systems
- (act. 7-jul) BleepingComputer — Microsoft Patches 200 Flaws and 6 Zero-Days in June 2026: https://www.gblock.app/articles/microsoft-june-2026-patch-tuesday-zero-days