
Локальный эксплойт для повышения привилегий в драйвере MODAPI.sys MSI Dragon Center, использующий неаутентифицированные записи в MSR для обхода SMEP и получения прав SYSTEM.
привет, хакеры.
Это неаутентифицированная запись в MSR внутри MODAPI.sys — драйвера ядра, который устанавливает MSI Dragon Center 2.0.155.0. Драйвер предоставляет объект устройства с дескриптором безопасности, который позволяет любому локальному пользователю открыть его — без прав администратора и без UAC. Как только у вас есть дескриптор, для индекса MSR нет никакого белого списка, так что вы можете читать и записывать любой MSR, какой захотите.
Сторона чтения сама по себе уже ломает KASLR. Прочитайте IA32_LSTAR (0xC0000082), и драйвер бесплатно отдаёт вам ntoskrnl!KiSystemCall64. Сторона записи — вот настоящая проблема. IA32_LSTAR — это адрес, на который процессор переходит при syscall, и драйвер позволяет обычному пользователю перезаписать его. Направьте его на код, который вы контролируете, и следующий syscall выполнит ваш код на уровне CPL0. Единственное, что мешает, — это SMEP, поэтому эксплойт сначала читает IA32_LSTAR, чтобы найти ntoskrnl, разбирает образ с диска, находит пару гаджетов для отключения SMEP через mov cr4, rax, запускает небольшой шелл-код, который копирует токен SYSTEM в текущий процесс, и восстанавливает IA32_LSTAR на выходе, чтобы машина продолжала работать.
Я тестировал это на Windows 10 x64 22H2 (сборка 19045.6456) из-под обычной учётной записи пользователя. Здесь нет гонки и нет heap grooming — срабатывало каждый раз, когда я запускал. Драйвер поставляется вместе с Dragon Center на машинах MSI, так что он уже загружен на многих системах. Соберите его командой gcc -O2 -o poc.exe poc.c -lpsapi и запустите от имени обычного пользователя. О проблеме было сообщено в MSI 2026-06-21, и исправление было проверено.
11bd2c9f9e2397c9a16e0990e4ed2cf0679498fe0fd418a3dfdac60b5c160ee5 MODAPI.sys
