Содержание статьи

Контроль учетных записей Windows (UAC) задуман как барьер между обычной работой пользователя и операциями с повышенными правами, однако на практике этот механизм часто ослабляется настройками, устаревшими компонентами и человеческим фактором. В корпоративных средах UAC нередко переводят в уведомительный режим или полностью отключают для «удобства», что резко расширяет поверхность атак и упрощает несанкционированное получение административных прав.
Большая часть обходов строится не на экзотических уязвимостях, а на типовых ошибках конфигурации: некорректные права на службы и задачи планировщика, доверие к подписанным системным бинарным файлам, а также использование режимов совместимости для старых приложений. Эти сценарии регулярно встречаются при аудите рабочих станций и серверов, где система обновляется, но политика безопасности остается неизменной годами.
Отдельного внимания заслуживает влияние пользователя. Даже при корректных настройках UAC обход возможен через манипуляцию доверием: маскировку запросов повышения прав под легитимные действия, запуск знакомых утилит или обновлений. Поэтому рекомендации по защите должны включать не только технические меры, но и контроль привычек – ограничение локальных администраторов, проверку автозапуска, анализ журналов событий и обучение персонала распознаванию подозрительных запросов.
Эксплуатация ошибок конфигурации UAC в локальных политиках безопасности

Еще одна уязвимость возникает при отключении Admin Approval Mode для учетной записи администратора. В этом случае процессы наследуют права администратора напрямую, обходя стандартные механизмы фильтрации UAC. Проверка локальной политики через secpol.msc → Локальные политики → Параметры безопасности выявляет такие настройки и позволяет восстановить строгий режим контроля.
Для снижения риска рекомендуется принудительно включать уведомления для всех администраторов, ограничивать локальные группы администраторов, регулярно анализировать права доступа к системным каталогам и ключам реестра. Дополнительно стоит контролировать выполнение задач планировщика и подписанных бинарных файлов, чтобы исключить эксплуатацию конфигурационных ошибок UAC.
Использование доверенных подписанных бинарных файлов для повышения привилегий
Механизм UAC доверяет определенным подписанным системным бинарным файлам, что открывает возможности для обхода контроля через легитимные исполняемые файлы. Атаки строятся на запуске таких файлов с параметрами, позволяющими выполнить код с повышенными правами.
Основные методы эксплуатации включают:
- Использование встроенных утилит Windows, таких как fodhelper.exe, eventvwr.exe, cmstp.exe, которые запускаются с административными правами без подтверждения UAC при взаимодействии с реестром или командной строкой.
- Подмена DLL в каталогах, где доверенные бинарные файлы ищут зависимости. Загрузка специально подготовленных библиотек позволяет выполнить код с привилегиями администратора.
- Манипуляция аргументами запуска, позволяющая направлять легитимный исполняемый файл на выполнение стороннего скрипта или команды с повышенными правами.
Для снижения риска следует:
- Ограничивать права записи в системные директории и ключи реестра.
- Мониторить изменения в каталогах, используемых доверенными бинарными файлами для загрузки библиотек.
- Включать политики контроля запуска приложений, запрещающие произвольное использование доверенных системных исполняемых файлов.
Запуск задач планировщика с правами администратора без интерактивного подтверждения
Планировщик заданий Windows способен выполнять процессы с административными правами вне пользовательской сессии, что делает его привлекательной точкой обхода UAC при ошибках конфигурации. Наиболее распространенная проблема – наличие задач, настроенных на выполнение от имени SYSTEM или локального администратора, при этом доступ к их изменению или запуску открыт обычным пользователям.
Риски усиливаются при следующих условиях:
- Разрешение ручного запуска задач с повышенными правами без проверки контекста пользователя.
- Неправильные ACL на файлы, исполняемые задачами, позволяющие подмену бинарного файла или скрипта.
- Использование триггеров, реагирующих на вход пользователя или событие системы, без дополнительной проверки источника.
Для снижения вероятности обхода контроля учетных записей рекомендуется:
- Проверять права доступа к задачам в системных и пользовательских ветках планировщика.
- Ограничивать изменение и запуск задач только доверенным администраторам.
- Контролировать целостность файлов, указанных в действиях задач, и запрещать запись в соответствующие каталоги.
Регулярный аудит задач планировщика позволяет выявить скрытые пути повышения привилегий, которые не сопровождаются запросами UAC и остаются незаметными при поверхностной проверке системы.
Злоупотребление службами Windows с неправильно заданными правами доступа

Типичные уязвимости включают:
- Запись в исполняемые файлы службы или каталоги, где находятся библиотеки, используемые службой.
- Изменение параметров запуска, таких как аргументы командной строки или учетная запись для запуска службы.
- Добавление новых бинарных файлов в каталог службы, позволяющее подменить легитимный процесс вредоносным.
Для предотвращения эксплуатации необходимо:
- Ограничить права записи и изменения конфигурации только для доверенных администраторов.
- Контролировать целостность файлов службы с помощью хэширования или встроенных средств Windows, таких как Windows Resource Protection.
- Регулярно проверять разрешения в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services и системные каталоги, используемые службами.
Аудит служб позволяет выявить процессы, которые могут быть использованы для обхода UAC, и своевременно корректировать права доступа для минимизации риска несанкционированного повышения привилегий.
Обход запросов UAC через устаревшие компоненты и совместимость приложений
Некоторые устаревшие компоненты Windows и режимы совместимости для старых приложений могут игнорировать настройки UAC, позволяя запускать процессы с повышенными привилегиями без подтверждения. Атаки строятся на использовании этих механизмов для выполнения скриптов или бинарных файлов, обходя стандартные фильтры безопасности.
Основные уязвимые сценарии и рекомендации можно структурировать следующим образом:
| Компонент / режим | Механизм обхода | Рекомендации по защите |
|---|---|---|
| Compatibility Administrator (Shim Database) | Применение шимов для старых приложений, которые отключают запросы UAC | Отключать пользовательские шимы, проверять наличие сторонних баз совместимости |
| Legacy Windows Components (например, rundll32.exe) | Запуск DLL с административными правами через устаревшие утилиты | Ограничить права на системные директории, контролировать вызовы этих утилит через аудит |
| Приложения в режиме совместимости | Принудительное повышение прав без подтверждения UAC | Использовать только официальные версии приложений, отключать режим совместимости для программ с повышенными привилегиями |
Регулярный аудит компонентов совместимости и устаревших бинарных файлов позволяет выявить потенциальные точки обхода UAC и предотвращает запуск вредоносного кода через легитимные, но уязвимые механизмы Windows.
Социальная инженерия как способ получения согласия пользователя на повышение прав
Даже при корректно настроенном UAC итоговое решение о повышении прав часто остается за пользователем. Злоупотребление этим фактором строится на подмене контекста запроса: вредоносные действия маскируются под легитимные операции – установку драйвера, обновление корпоративного ПО или устранение «системной ошибки», визуально не отличимой от стандартных уведомлений Windows.
На практике используются поддельные установщики, скрипты и ярлыки, оформленные с применением знакомых иконок, названий системных компонентов и сообщений, имитирующих официальные диалоги. Пользователь, обладающий локальными административными правами, подтверждает запрос UAC, после чего код выполняется с расширенными привилегиями без технического обхода защитных механизмов.
Снижение риска требует организационных и технических мер: минимизации числа пользователей с административными правами, запрета установки ПО вне доверенных источников, использования подписанных установочных пакетов и журналирования всех запросов UAC. Дополнительно рекомендуется обучение персонала распознаванию нетипичных запросов на повышение прав и регулярная проверка рабочих станций на наличие несанкционированных установщиков и скриптов.
Вопрос-ответ:
Каким образом настройки локальной политики могут позволять обход UAC?
Некорректные параметры локальной политики, такие как отключение режима подтверждения для администраторов или перевод UAC в уведомительный режим, дают возможность программам запускаться с повышенными правами без запроса. Это открывает путь для выполнения стороннего кода с привилегиями администратора, особенно если пользователь имеет локальные права админа. Аудит раздела Local Security Policy → Security Settings → Local Policies → Security Options помогает выявить такие конфигурации.
Почему доверенные подписанные бинарные файлы могут использоваться для повышения привилегий?
UAC доверяет определенным системным исполняемым файлам, подписанным Microsoft, что позволяет им запускаться с административными правами без запроса подтверждения. Злоумышленники могут направить эти бинарные файлы на выполнение сторонних скриптов или DLL через аргументы запуска, подмену библиотек или подготовленные каталоги. Контроль доступа к системным директориям и аудит изменений в доверенных файлах минимизируют риск использования таких обходов.
Какие ошибки в правах служб Windows создают возможность обхода UAC?
Если права на конфигурацию служб или их исполняемые файлы открыты для обычных пользователей, они могут изменить параметры запуска или заменить бинарные файлы, выполняющиеся с административными правами. Это позволяет выполнить код с повышенными привилегиями без взаимодействия UAC. Регулярная проверка ACL на службы и контроль целостности исполняемых файлов снижают вероятность подобных атак.
Какие сценарии обхода UAC через планировщик заданий наиболее распространены?
Чаще всего используется запуск задач, настроенных на выполнение от имени SYSTEM или администратора, при наличии прав на ручное выполнение или изменение. Атакующий может подменить исполняемый файл задачи или изменить аргументы запуска, чтобы выполнить собственный код. Ограничение доступа к задачам и контроль целостности файлов позволяют предотвратить эксплуатацию этих точек обхода.
Как социальная инженерия применяется для обхода UAC?
Даже строгий UAC зависит от решения пользователя о подтверждении повышения прав. Злоумышленники маскируют запросы под обновления системы, драйверов или легитимное ПО, используя знакомые иконки, названия и диалоги. Пользователь с административными правами подтверждает действие, и код выполняется с повышенными привилегиями. Минимизация числа администраторов, контроль источников установщиков и обучение сотрудников распознавать подозрительные запросы уменьшают риск успешной эксплуатации.
