惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
L
LINUX DO - 热门话题
D
DataBreaches.Net
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Proofpoint News Feed
The Register - Security
The Register - Security
N
Netflix TechBlog - Medium
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 司徒正美
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
Y
Y Combinator Blog
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
Vercel News
Vercel News
M
MIT News - Artificial intelligence
The Cloudflare Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Threatpost
I
Intezer
Recent Announcements
Recent Announcements
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
News and Events Feed by Topic
L
Lohrmann on Cybersecurity
小众软件
小众软件
雷峰网
雷峰网
L
LINUX DO - 最新话题
Application and Cybersecurity Blog
Application and Cybersecurity Blog
aimingoo的专栏
aimingoo的专栏
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 叶小钗
P
Privacy & Cybersecurity Law Blog
博客园 - Franky
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
T
The Exploit Database - CXSecurity.com
G
Google Developers Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
P
Privacy International News Feed
V
Vulnerabilities – Threatpost
Scott Helme
Scott Helme
Last Week in AI
Last Week in AI

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Nightmare Eclipse: один против Microsoft
sea-team · 2026-06-17 · via Все публикации подряд на Хабре

Средний

10 мин

339

Хабр, привет!

На связи Владимир Шнейдмюллер, аналитик-исследователь угроз кибербезопасности R-Vision.

Вокруг Nightmare Eclipse за последние недели успело сложиться почти всё, что обычно сопровождает громкие публичные zero-day: резкие заявления автора, споры о такой практике раскрытия, быстрые проверки PoC сообществом, первые форки и закономерный вопрос - что из этого можно увидеть в телеметрии, а что останется почти полностью за пределами SIEM?

Мы разобрали несколько опубликованных PoC и в этой статье начнем с первых трёх: YellowKey, GreenPlasma и MiniPlasma. Они существенно различаются как по векторам атак, так и по возможностям обнаружения. YellowKey интересен как обход BitLocker через WinRE, но почти не оставляет удобных событий в ОС. GreenPlasma демонстрирует низкоуровневый примитив на стыке CTF/Winlogon и Windows Object Manager. MiniPlasma, наоборот, уже дает практический сценарий локального повышения привилегий, где можно строить вполне рабочие детекты по реестру, файловой системе и запуску процессов.

Ниже не будет пошаговой инструкции по эксплуатации. Нас интересуют механика, артефакты и точки наблюдения, которые полезны SOC и threat hunting-командам.

Что произошло и почему это важно

Nightmare Eclipse, в некоторых публикациях — Chaotic Eclipse, стал заметен после серии публичных релизов PoC для Windows. Внешние публикации описывают эту историю как конфликт исследователя с Microsoft и отказ от стандартной практики согласованного раскрытия уязвимостей. В результате технические детали и PoC оказывались в публичном доступе до появления официальных исправлений или до того, как защитники успевали подготовить качественные детекты.

В этой части разберём три PoC:

PoC

Класс

Практический результат

Детектируемость

YellowKey

BitLocker bypass / WinRE

Доступ к уже разблокированному BitLocker-тому из WinRE

Низкая на уровне ОС

GreenPlasma

LPE-примитив / Object Manager

Создание section object через CTF/Winlogon-механику

Средняя, по косвенным артефактам

MiniPlasma

LPE / Cloud Files + registry link abuse

Запуск подконтрольного wermgr.exe от SYSTEM

Высокая

YellowKey: BitLocker bypass

YellowKey заявлен как обход BitLocker через Windows Recovery Environment. Для него зарегистрирован CVE-2026-45585, хотя сама регистрация, судя по публичным материалам, была сделана не автором PoC.

Сценарий сводится к тому, что атакующий получает интерактивный cmd.exe в WinRE с доступом к системному тому, который уже был разблокирован BitLocker.

Проблема не в самой криптографии BitLocker. PoC использует то, как WinRE при старте обрабатывает служебные журналы Transactional NTFS/FsTx. В среде восстановления есть утилита FsTx Auto Recovery Utility (autofstx.exe): она ищет такие журналы и пытается автоматически их восстановить. Если заранее положить подготовленные данные в System Volume Information\FsTx, WinRE может пойти не по штатному сценарию восстановления.

Если совсем коротко, цепочка выглядит так:

  1. Атакующий готовит System Volume Information\FsTxна носителе или разделе, который будет виден при входе в WinRE.

  2. Устройство загружается в Windows Recovery Environment.

  3. autofstx.exe обрабатывает найденные FsTx-журналы.

  4. Вместо обычного сценария восстановления появляется cmd.exe.

  5. На конфигурации только с TPM системный том к этому моменту уже может быть разблокирован, поэтому shell получает доступ к данным.

То есть диск не расшифровывается подбором ключа и BitLocker не ломается как алгоритм. Атака использует состояние, в котором Windows уже открыла защищенный том для recovery-сценария, но вместо ограниченного интерфейса восстановления пользователь получает командную строку.

Что можно увидеть

Эксплуатация происходит до нормальной загрузки Windows и внутри WinRE. Поэтому классическая хостовая телеметрия почти бесполезна.

Потенциальные косвенные признаки:

Источник

Событие

Windows Security

Подключение USB-накопителя перед перезагрузкой, если событие успело попасть в журнал       

EDR

Последовательность: подключение USB -> перезагрузка -> последующая активность с диском

Но это именно косвенные признаки. Они не доказывают эксплуатацию YellowKey. Пользователь мог подключить флешку и штатно уйти в восстановление системы.

YellowKey плохо ложится в классический SIEM-детект. Основные меры здесь ближе к харденингу и контролю физического доступа: TPM+PIN для BitLocker, контроль WinRE/autofstx.exe по рекомендациям Microsoft, запрет загрузки с внешних устройств, пароль на BIOS/UEFI и мониторинг recovery boot на уровне EDR/MDM, где это возможно.

GreenPlasma: CTF/Winlogon и опасный примитив

GreenPlasma - это демонстрация примитива. Автор прямо указывает, что из опубликованного кода убран финальный этап, который превращает технику в полноценный SYSTEM shell

VirusTotal на собранный GreenPlasma.exe: часть движков уже классифицирует образец как LPE/CTFMON-related exploit.

VirusTotal на собранный GreenPlasma.exe: часть движков уже классифицирует образец как LPE/CTFMON-related exploit.

Главная идея GreenPlasma - пользовательский процесс заранее создает объект в пространстве имен Windows Object Manager по пути, который ожидают использовать CTF/Winlogon-компоненты. После этого PoC провоцирует обращение со стороны системной части Windows и получает section object, то есть объект разделяемой памяти.

Цепочка такая:

  1. PoC узнает номер текущей интерактивной сессии.

  2. В этой сессии он заранее занимает CTF-имя, которое связано с Winlogon/secure desktop.

  3. Затем запускает UAC-сценарий через conhost.exe с runas, чтобы Windows задействовала CTF-компоненты.

  4. Когда CTF/Winlogon обращается к ожидаемому имени, он попадает на подготовленный PoC объект.

  5. PoC получает handle на section object. А это уже примитив для дальнейшей эксплуатации.

В нашей лаборатории был подтвержден объект вида:

\Sessions\<SessionId>\BaseNamedObjects\CTF.AsmListCache.FMPWinlogon<SessionId>

Также фигурирует путь:

\BaseNamedObjects\CTFMON_DEAD

Консольный вид PoC

Консольный вид PoC

Windows Object Explorer: symbolic link CTF.AsmListCache.FMPWinlogon3 и соседний section object в пространстве интерактивной сессии.

Windows Object Explorer: symbolic link CTF.AsmListCache.FMPWinlogon3 и соседний section object в пространстве интерактивной сессии.

Обычный пользователь не должен иметь возможности заранее подменять или занимать имена объектов, с которыми потом работает более доверенный компонент. Если привилегированный процесс открывает объект по предсказуемому пути, а этот путь частично контролируется пользователем, появляется примитив для дальнейшей эксплуатации.

Механика

PoC сначала определяет текущий SessionId. CTF/Winlogon-объекты находятся не в глобальном пространстве, а внутри пространства конкретной интерактивной сессии:

\Sessions\<SessionId>\BaseNamedObjects\...

Затем через NtCreateSymbolicLinkObject PoC заранее занимает имя:

\Sessions\<SessionId>\BaseNamedObjects\CTF.AsmListCache.FMPWinlogon<SessionId>

и указывает, куда это имя должно вести. Если аргумент не передан, цель по умолчанию - \BaseNamedObjects\CTFMON_DEAD.

После этого PoC запускает conhost.exe через ShellExecuteEx с параметром runas. Нужен не сам conhost.exe, а эффект от запуска: Windows показывает UAC/secure desktop, а вместе с ним включается CTF-инфраструктура, связанная с вводом текста и Winlogon. В этот момент системные компоненты начинают работать с CTF-объектами текущей сессии.

Дальше PoC просто ждёт, когда по подготовленному имени появится section object. Для этого он в цикле вызывает NtOpenSection. Успешное открытие означает, что Windows создала или открыла объект разделяемой памяти по имени, которое заранее подготовил пользовательский процесс.

Разделяемая память может использоваться для передачи структур, параметров или состояния между процессами. Если один из потребителей работает в более привилегированном контексте и доверяет данным из такого объекта, появляется путь к LPE.

Section Properties: handle к section object удерживает ctfmon.exe, что подтверждает взаимодействие PoC с CTF-компонентом

Section Properties: handle к section object удерживает ctfmon.exe, что подтверждает взаимодействие PoC с CTF-компонентом

Реестровый хвост GreenPlasma

Отдельная часть PoC связана с Cloud Files и registry symbolic link abuse. В ходе выполнения затрагивается ветка:

HKCU\Software\Policies\Microsoft\CloudFiles\BlockedApps

В коде используется cldapi.dll и вызов CfAbortOperation, после чего PoC создает registry link. В лабораторной телеметрии появлялось значение SymbolicLinkValue, указывающее на:

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System

Sysmon 13: запись в CloudFiles\BlockedApps от процесса PoC

Sysmon 13: запись в CloudFiles\BlockedApps от процесса PoC

Также устанавливалось значение:

DisableLockWorkstation = 1

Sysmon 13: запись DisableLockWorkstation = 1 в пользовательской ветке Policies\System.

Sysmon 13: запись DisableLockWorkstation = 1 в пользовательской ветке Policies\System.

С точки зрения детекта это уже намного полезнее, чем чистые Object Manager-артефакты. Большинство SIEM и EDR не видят создание NtCreateSymbolicLinkObject напрямую, зато можно опираться на Sysmon Event ID 13.

На что смотреть

Полезные артефакты GreenPlasma:

Артефакт

Что это

\​Sessions\​<N>\​BaseNamedObjects\​ CTF.AsmListCache.FMPWinlogon<N>

Имя в Object Manager, которое PoC заранее занимает в интерактивной сессии

\​BaseNamedObjects\​CTFMON_DEAD

Цель symbolic link по умолчанию в опубликованном PoC

HKCU\​Software\​Policies\​Microsoft\​ CloudFiles\​BlockedApps

Ветка Cloud Files policy, которую PoC использует для registry link abuse

HKCU\​Software\​Policies\​Microsoft\​ CloudFiles\​BlockedApps\​SymbolicLinkValue

Значение, по которому видно попытку создать registry symbolic link

HKCU\​Software\​Microsoft\​ Windows\​CurrentVersion\​ Policies\​System\​DisableLockWorkstation

Значение, которое появляется после перенаправления через registry link

GreenPlasma.exe

Сам PoC или переименованный исполняемый файл с той же логикой

conhost.exe с ShellExecuteEx/​runas

Процесс, которым PoC провоцирует UAC/secure desktop и CTF-активность

ctfmon.exe

Пользовательский CTF-компонент, который может держать handle к section object

LogonUI.exe

Компонент secure desktop/Winlogon, вокруг которого возникает CTF-сценарий

Пример VRL-фильтра:

.device_vendor == "microsoft" &&
 .device_product == "windows" &&
 .device_event_id == "13" &&
 ends_with(dst_object_path_full, "\\software\\policies\\microsoft\\cloudfiles\\blockedapps\\symboliclinkvalue")

Ложные срабатывания возможны вокруг Cloud Files, OneDrive, Office, FileCoAuth и MDM/Intune-политик. Поэтому CloudFiles\BlockedApps сам по себе лучше не считать инцидентом.

Вывод               

GreenPlasma  показывает как пользовательский процесс может заранее подготовить имя объекта, с которым потом работает CTF/Winlogon-механика.

Для детекта это неудобный сценарий. Обычный SIEM чаще всего не видит вызовы вроде NtCreateSymbolicLinkObject и NtOpenSection. Поэтому практичнее смотреть на то, что остаётся в доступной телеметрии: изменения CloudFiles\BlockedApps, появление SymbolicLinkValue и необычную активность вокруг UAC/secure desktop. Если EDR умеет показывать операции с Object Manager, тогда уже можно пойти глубже и проверять CTF-пути напрямую.

MiniPlasma: когда примитив превращается в SYSTEM shell

MiniPlasma - самый практичный PoC из этой тройки. Он берет идею Cloud Files, знакомую по GreenPlasma и старому исследованию James Forshaw из Google Project Zero, и доводит её до понятного результата,  где штатная задача Windows Error Reporting запускает подконтрольный файл от NT AUTHORITY\SYSTEM.

VirusTotal на собранном MiniPlasma PoC: детекты уже явно указывают на MiniPlasma/Inpat-подобную LPE-цепочку

VirusTotal на собранном MiniPlasma PoC: детекты уже явно указывают на MiniPlasma/Inpat-подобную LPE-цепочку

Идея эксплуатации довольно элегантная. В нормальном сценарии задача Windows Error Reporting QueueReporting запускает:

C:\Windows\System32\wermgr.exe -upload

MiniPlasma добивается того, что для системного контекста переменная %windir% начинает указывать не на C:\Windows, а на каталог PoC. После этого путь превращается в:

<каталог PoC>\System32\wermgr.exe -upload

То есть PoC создаёт собственный каталог System32 рядом с собой, копирует туда свой исполняемый файл под именем wermgr.exe, а затем заставляет штатный механизм WER запустить именно его.

Цепочка MiniPlasma выглядит так:

  1. PoC использует Cloud Files/registry link abuse, чтобы добраться до .DEFAULT\Volatile Environment.

  2. В .DEFAULT меняется значение windir: вместо C:\Windows оно указывает на каталог PoC.

  3. Рядом с PoC создается поддельный System32\wermgr.exe.

  4. Запускается штатная задача Windows Error Reporting QueueReporting.

  5. WER берет путь через %windir% и запускает поддельный wermgr.exe от SYSTEM.

Механика

PoC запускает несколько стадий, чтобы разнести race condition и последующие действия по разным процессам. В одной стадии используется cldapi.dll и CfAbortOperation, параллельно поток постоянно ставит и снимает anonymous impersonation token.

Здесь PoC цепляется за логику Cloud Files, которая проверяет политики заблокированных приложений. Когда Windows работает с cloud placeholder-файлами, то есть локальными заглушками файлов из облачного хранилища, она обращается к CloudFiles\BlockedApps, чтобы понять, нужно ли блокировать доступ конкретному процессу. За счет гонки с impersonation token и registry symbolic link PoC добивается того, что эта логика начинает работать с перенаправленным путем в .DEFAULT, а не с обычной пользовательской веткой.

Sysmon 13: подготовительная запись в CloudFiles\BlockedApps, с которой начинается видимая часть MiniPlasma-цепочки

Sysmon 13: подготовительная запись в CloudFiles\BlockedApps, с которой начинается видимая часть MiniPlasma-цепочки

Дальше создается registry symbolic link:

\Registry\User\.DEFAULT\Software\Policies\Microsoft\CloudFiles\BlockedApps
    -> \Registry\User\.DEFAULT\Volatile Environment

После этого PoC записывает:

HKU\.DEFAULT\Volatile Environment\windir = <каталог PoC>

Sysmon 13: HKU\.DEFAULT\Volatile Environment\windir указывает на каталог PoC

Sysmon 13: HKU\.DEFAULT\Volatile Environment\windir указывает на каталог PoC

Затем создаёт файл:

<каталог PoC>\System32\wermgr.exe

И запускает штатную задачу:

\Microsoft\Windows\Windows Error Reporting\QueueReporting

Родителем процесса в телеметрии будет svchost.exe службы Schedule, а пользователь - NT AUTHORITY\SYSTEM.

Sysmon 1: wermgr.exe -upload запущен от NTAUTHORITY\SYSTEM из каталога PoC, родитель - svchost.exe службы Schedul

Sysmon 1: wermgr.exe -upload запущен от NTAUTHORITY\SYSTEM из каталога PoC, родитель - svchost.exe службы Schedul

На что смотреть

MiniPlasma оставляет очень интересную цепочку:

  1. Изменениe CloudFiles\BlockedApps.

  2. Запись HKU\.DEFAULT\Volatile Environment\windir в нетипичное значение.

  3. Создание поддельного System32\wermgr.exe вне C:\Windows.

  4. Запуск wermgr.exe от SYSTEM не из настоящего системного каталога.

  5. Родительский процесс svchost.exe со службой Schedule.

  6. Командная строка wermgr.exe -upload.

Основной сигнал - запуск wermgr.exe от SYSTEM из пути, который не начинается с C:\Windows\System32\ или C:\Windows\SysWOW64\.

Пример условия для детекта:

.device_event_id == "1" &&
 dst_process_name == "wermgr.exe" &&
 src_process_parent_name == "svchost.exe" &&
 contains(src_process_parent_cmdline, "-s schedule") &&
 !rv_contains_any(dst_process_path_full, [":\\windows\\system32\\", ":\\windows\\syswow64\\"])

Полезные события:

Event ID

Что смотреть

Sysmon 1

Запуск wermgr.exe от SYSTEM из нестандартного пути

Sysmon 11

Создание <каталог PoC>\​System32\​wermgr.exe

Sysmon 13

Запись HKU\​.DEFAULT\​Volatile Environment\​windir

Security 4688

Процессная цепочка svchost.exe -> wermgr.exe

Task Scheduler Operational

Запуск \​Microsoft\​Windows\​Windows Error Reporting\​QueueReporting

Вывод

Cloud Files и BlockedApps могут встречаться в легитимной активности OneDrive, Office или MDM. Но запуск wermgr.exe от SYSTEM из пользовательского каталога - это уже не нормальное поведение.

Практические выводы

Первые три PoC Nightmare Eclipse показывают три разных уровня удобства для защитника.

YellowKey опасен, потому что работает вокруг WinRE и BitLocker, но почти не оставляет удобной телеметрии в загруженной Windows. Здесь важнее харденинг, физическая безопасность и контроль сценариев восстановления.

GreenPlasma показывает низкоуровневый примитив, который может быть развит в LPE. Его сложно ловить напрямую без хорошей EDR-телеметрии по Object Manager, но можно искать сопутствующие изменения Cloud Files, registry symbolic link abuse и необычные CTF/Winlogon-артефакты.

MiniPlasma уже является практичной цепочкой повышения привилегий. Он меняет .DEFAULT\Volatile Environment\windir, создает поддельный System32\wermgr.exe и запускает его через штатную задачу Windows Error Reporting от SYSTEM.

Источники