Нажал на кнопку – получил доступ. Как экранная клавиатура выдавала права системного администратора Windows

leer en español

Нажал на кнопку – получил доступ. Как экранная клавиатура выдавала права системного администратора Windows

Microsoft устранила критическую ошибку RegPwn, которая затрагивала все версии системы с 2012 года.

image

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

Компания MDSec рассказала о найденной ошибке повышения привилегий, получившей внутреннее название RegPwn. Специалисты активно использовали уязвимость в операциях Red Team с января 2025 года и держали находку внутри компании. Исправление появилось только в мартовском обновлении безопасности Windows. Проблема, предположительно, проходит под идентификатором CVE-2026-24291.

Ошибка затрагивала Windows 10, Windows 11, а также серверные версии системы: Windows Server 2012, Windows Server 2016, Windows Server 2019, Windows Server 2022 и Windows Server 2025.

Проблема связана с функциями специальных возможностей Windows, которые помогают людям с ограничениями здоровья работать с системой. В набор входят экранный диктор, экранная клавиатура и другие инструменты. Настройки таких функций хранятся в реестре системы.

Когда пользователь запускает, например, экранную клавиатуру, система создаёт раздел реестра с настройками функции и разрешает обычному пользователю изменять данные внутри раздела. Во время входа в систему Windows копирует параметры из пользовательского раздела реестра в системный раздел. Эту операцию выполняет процесс winlogon.

Сама функция специальных возможностей запускается от имени пользователя, но с повышенным уровнем целостности благодаря специальному флагу интерфейса доступа. На первый взгляд подобная схема выглядит безопасной. Однако проблема проявляется при переходе на защищённый рабочий стол Windows.

Защищённый рабочий стол используется, например, когда пользователь блокирует компьютер или запускает программу с правами администратора. В такой среде разрешено работать только доверенным процессам с системными правами. Обычные пользовательские процессы туда не попадают.

В момент создания защищённого рабочего стола запускаются два процесса atbroker.exe. Один работает от имени пользователя, второй – от имени системной учётной записи SYSTEM. Сначала пользовательский процесс снова копирует настройки специальных возможностей из пользовательского раздела реестра в системный раздел. Затем процесс с правами SYSTEM переносит значения ещё дальше – в область реестра, которую использует экранная клавиатура.

После этого запускается процесс osk.exe с правами SYSTEM. Экранная клавиатура снова читает настройки и записывает значения в системный раздел реестра, который остаётся доступным для записи со стороны обычного пользователя.

Такой механизм открывает возможность для атаки. Пользователь контролирует исходный раздел реестра и может подменить целевой раздел с помощью символической ссылки реестра. В результате процесс с правами SYSTEM записывает данные в произвольный раздел реестра.

Чтобы воспользоваться уязвимостью, злоумышленнику достаточно поймать короткий момент между запуском экранной клавиатуры и записью данных. Для синхронизации операции используется блокировка файла oskmenu.xml. Когда система обращается к файлу, атакующий подменяет системный раздел реестра символической ссылкой на выбранный ключ.

В демонстрации атаки специалисты перезаписывают параметр ImagePath службы msiserver, после чего запускают службу через объект MSI COM. Система выполняет указанный путь уже с правами SYSTEM, что даёт полный контроль над системой. Исправление для RegPwn вышло в мартовском обновлении безопасности Windows. После установки обновления описанная цепочка операций больше не позволяет записывать произвольные значения в системный реестр.