Google обнаружил неисправленную уязвимость в системе безопасности Windows 8.1

Значок времени чтения 3 минута. читать


Читатели помогают поддержать MSpoweruser. Мы можем получить комиссию, если вы совершите покупку по нашим ссылкам. Значок подсказки

Прочтите нашу страницу раскрытия информации, чтобы узнать, как вы можете помочь MSPoweruser поддержать редакционную команду. Читать далее

Меню «Пуск» в Windows 8.1 Новое

Исследователь Google обнаружил неисправленную уязвимость в системе безопасности Windows 8.1. Исследователь Google разместил эту ошибку на странице Google Security Research, и для ее раскрытия требуется 90-дневный срок. Если в течение 90 дней не будет выпущено широко доступное исправление, отчет об ошибке автоматически станет общедоступным. Информации о том, признали ли Microsoft ошибку или работают над ней, нет. Но я считаю безответственным шагом со стороны Google публиковать уязвимости в таких продуктах, как Windows 8, которыми ежедневно пользуются миллионы людей.

Следующая информация была размещена об ошибке,

В обновлении Windows 8.1 системный вызов NtApphelpCacheControl (код фактически находится в ahcache.sys) позволяет кэшировать данные о совместимости приложений для быстрого повторного использования при создании новых процессов. Обычный пользователь может запрашивать кэш, но не может добавлять новые кэшированные записи, поскольку эта операция разрешена только администраторам. Это проверяется в функции AhcVerifyAdminContext.

Эта функция имеет уязвимость, из-за которой она неправильно проверяет токен олицетворения вызывающего объекта, чтобы определить, является ли пользователь администратором. Он считывает маркер олицетворения вызывающего объекта с помощью PsReferenceImpersonationToken, а затем сравнивает SID пользователя в маркере с SID LocalSystem. Он не проверяет уровень олицетворения токена, поэтому можно получить токен идентификации в вашем потоке из локального системного процесса и обойти эту проверку. Для этой цели PoC злоупотребляет службой BITS и COM, чтобы получить токен олицетворения, но, вероятно, есть и другие способы.

Это как раз тот случай, когда нужно найти способ использовать уязвимость. В PoC делается запись в кэше для исполняемого файла с автоматическим повышением прав UAC (скажем, ComputerDefaults.exe) и настраивается кэш так, чтобы он указывал на запись совместимости приложений для regsvr32, что заставляет прокладку RedirectExe перезагружать regsvr32.exe. Однако можно было бы использовать любой исполняемый файл, хитрость заключалась бы в том, чтобы найти подходящую уже существующую конфигурацию совместимости приложений для злоупотребления.

Неясно, уязвима ли Windows 7, поскольку в пути кода для обновления есть проверка привилегий TCB (хотя похоже, что в зависимости от флагов это можно обойти). Не было предпринято никаких усилий, чтобы проверить это в Windows 7. ПРИМЕЧАНИЕ. Это не ошибка в UAC, это просто использование автоматического повышения прав UAC в демонстрационных целях.

PoC был протестирован в обновлении Windows 8.1, как в 32-разрядной, так и в 64-разрядной версиях. Я бы порекомендовал работать на 32-битной версии, чтобы быть уверенным. Для проверки выполните следующие действия:

1) Поместите AppCompatCache.exe и Testdll.dll на диск
2) Убедитесь, что UAC включен, текущий пользователь является администратором с разделенным токеном, а параметр UAC установлен по умолчанию (нет запроса для определенных исполняемых файлов).
3) Запустите AppCompatCache из командной строки с помощью командной строки «AppCompatCache.exe c:windowssystem32ComputerDefaults.exe testdll.dll».
4) В случае успеха калькулятор должен работать от имени администратора. Если это не сработает в первый раз (и вы получите программу ComputerDefaults), повторно запустите эксплойт из 3, иногда при первом запуске возникает проблема с кэшированием/временем.

Источник: Google с помощью: Neowin

Подробнее о темах: скачать, Microsoft, безопасность, обновление, окна, Окна 8.1