Контакты
Подписка
МЕНЮ
Контакты
Подписка

Представлен новый метод обхода защиты UAC в Windows 10

Представлен новый метод обхода защиты UAC в Windows 10

Представлен новый метод обхода защиты UAC в Windows 10


13.11.2018



Специалист компании Tenable Дэвид Уэллс (David Wells) описал новую технику обхода защитного механизма ОС Windows 10, известного как User Account Control (UAC, контроль учетных записей), предполагающую подмену пути к исполняемому файлу в доверенной папке.

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

 Однако Уэллс обнаружил новый способ, позволяющий обойти функционал и запустить недоверенный исполняемый файл без всяких уведомлений от UAC. Для автоматического повышения прав файл должен быть сконфигурирован определенным образом, подписан надлежащей цифровой подписью и запускаться из доверенной папки, такой как C:WindowsSystem32. Как выяснил исследователь, в ходе одной из проверок программа запуска Appinfo.dll (AIS) вызывает API RtlPrefixUnicodeString и подтверждает, что путь к исполняемому файлу начинается с C:WindowsSystem32.

 Уэллсу удалось создать папку с именем C:Windows (после Windows следует пробел) с помощью API CreateDirectory и добавления \? к имени директории (для обхода фильтров в Windows). Затем в новой папке он создал папку System32. Далее исследователь скопировал подписанный исполняемый файл winSAT.exe из настоящей папки C:WindowsSystem32 в созданную им папку.

 При исполнении C:Windows System32winSAT.exe Appinfo.dll передает файл API GetLongPathNameW, который преобразует его в вид C:WindowsSystem32winSAT.exe, удаляя лишний пробел. Система проверяет конвертированную строку, а затем проводит остальные проверки (включая конечный запрос на повышение прав) оригинального пути исполняемого файла (с лишним пробелом).

 С помощью данного метода эксперту удалось повысить привилегии фальшивой библиотеки WINMM.dll (импортированной winSAT.exe), добавленной в поддельную папку C:WindowsSystem32. PoC-код новой техники обхода UAC опубликован на GitHub. Более подробную информацию о новом методе можно найти здесь.

 

Securitylab