- Метод обхода UAC в Windows 10 позволяет установить вредоносное приложение
- Как запускать программу без Контроля учётных записей?
- Про что в статье?
- Откуда растут ноги или кусок теории про App-V
- СРАЗУ
- Как запускать программу без Контроля учётных записей с помощью батника?
- Вариант три: настройки реестра
- Как отключить UAC в Windows 10 — способы включения и отключения защиты
- Что такое Windows UAC
- Почему не стоит полностью выключать защиту
- Отключение службы в панели управления
- Как выключить с помощью файла реестра
- Как включить/отключить службу при помощи командной строки
- Можно ли выключить UAC через консоль PowerShell
- Настройка UAC
- Видео: как отключается контроль учётных записей в Windows 10
Метод обхода UAC в Windows 10 позволяет установить вредоносное приложение
Метод эксплуатирует принцип автоматического повышения привилегий, действующий для доверенных файлов Microsoft.
Студент из Германии, известный в Сети как Кристиан Б. (Christian B), обнаружил новый метод обхода функции Контроля учетных записей в Windows (UAC), позволяющий установить на системе вредоносное приложение. Описанный исследователем метод является вариацией способа обхода UAC, представленного экспертом Мэттом Нелсоном (Matt Nelson) в августе минувшего года.
В то время как техника Нелсона основана на использовании программы Event Viewer (eventvwr.exe), предназначенной для удаленного или локального просмотра журнала событий, новый метод задействует файл fodhelper.exe (управление опциональными функциями в Windows 10).
Оба метода эксплуатируют принцип автоматического повышения привилегий, действующего для различных доверенных файлов Microsoft. Поскольку fodhelper.exe является доверенным файлом, при его исполнении Windows 10 не будет отображать окно UAC.
Исследователь обнаружил, что при исполнении fodhelper.exe Windows обращается к двум ключам реестра для дополнительных команд. Отредактировав значение одного из ключей (HKCU:\Software\Classes\ms-settings\shell\open\command\(default), эксперт смог внедрить команды, исполняющиеся с повышенными правами в контексте процесса fodhelper.exe.
Как отмечается, данная техника может эксплуатироваться вредоносным ПО на зараженных компьютерах. К примеру, вредонос может использовать скрипты для редактирования значения ключа реестра, внедрить вредоносные команды и запустить файл fodhelper.exe, который прочитает и исполнит их без ведома пользователя.
Вышеописанный метод был протестирован на компьютере под управлением Windows 10.0.15063 и не требует подключения вредоносной DLL-библиотеки или внедрения файла на диск. Исследователь опубликовал PoC-код атаки на GitHub.
Контроль учетных записей пользователей (User Account Control, UAC) — функция Windows, позволяющая предотвратить несанкционированные изменения в ОС. UAC обеспечивает защиту, запрашивая разрешение или пароль администратора перед совершением потенциально опасных действий или при изменении параметров, которые могут оказать влияние на работу других пользователей.
Как запускать программу без Контроля учётных записей?
В одной из предыдущих статей блога мы разбирали тему запуска определённых программ без “назойливого” окна Контроля учётных записей. Там мы разбирали вариант обхода Контроля для конкретной программы с помощью Планировщика заданий. Таким методом пользуются сами программы ещё на этапе собственной установки в Windows (например, программа очистки CCleaner). Что до меня, избавляться от этой “назойливости” отключением UAC полностью как функции я КРАЙНЕ не рекомендую. Несмотря на то, что система открыто позволяет это сделать, а настройки отключения Контроля находятся в, что называется, шаговой доступности, я не всегда порой понимаю, зачем Microsoft вообще позволяет это пользователям делать. Но, так или иначе, вопрос о том, как избежать появления окна для отдельных программ насущен. Так что вернёмся к этой теме и рассмотрим вопрос как запускать программу без окна Контроля учётных записей. В конце статьи маленькая видеоиллюстрация на тему, как всё это дело выглядит вживую.
Про что в статье?
Я позволю себе немного теории, чтобы вы сориентировались в происходящем. Как уже говорилось, мы рассмотрим два метода к решению вопроса. И тот и другой будут основаны на манипуляциях с переменными, позволяющими устанавливать “среды совместимости”. С настройками исполнительных файлов в этой части, думаю, сталкивался каждый. Проверьте контекстное меню любого исполнительного файла на примере установщика популярного архиватора:
В нашей ситуации мы будем использовать возможности корректировать переменные в последней части окна, позволяющие запуск программы от имени администратора и по отношению к пользователям. И для этого можно предложить несколько вариантов развития событий. Все они, как я сказал, крутятся вокруг переменной __COMPAT_LAYER. Есть несколько опций для уточнения настроек, о которых следует помнить. Во вкладке они пере нами, а в качестве флагов для будущих команд они представлены так:
- 256Color – 8-ми разрядный цвет (256)
- 640×480 – Запуск с разрешением 640×480
- DisableThemes – Отключение визуальных эффектов
- Win98 – Запустить программу в режиме совместимости с Windows 98/Windows ME
- Win2000 – Запустить программу в режиме совместимости с Windows 2000
- WINXPSP3 – Запустить программу в режиме совместимости с Windows XP
- VistaSP2 – Запустить программу в режиме совместимости с Windows Vista
- Win7RTM – Запустить программу в режиме совместимости с Windows 7
- Win8RTM – Запустить программу в режиме совместимости с Windows 8
и т.д. С полным списком опций можно ознакомиться здесь. Таким образом, назначение переменной для конкретного случая выглядело бы примерно так:
Установленные настройки будут существовать до тех пор, пока есть сама переменная __COMPAT_LAYER. И переменную можно убить, остановив исполнение консольной команды, где она была прописана. Либо вручную направив “пустую” команду конкретному исполнительному файлу в виде
Такой подход к запуску любого исполнительного файла позволяет использовать один из самых интересных вариантов исключения окна Контроля учётных записей с помощью простого батника. То бишь batch-скрипта. Т.е. скрипт вы запустили, окно UAC не появилось. Но повторный запуск программы вновь заставит окно Контроля появиться как ни в чём не бывало, предотвращая несанкционированный запуск. Таким образом, окно UAC не появляется ИМЕННО тогда, когда это нужно пользователю.
Откуда растут ноги или кусок теории про App-V
Microsoft App-V, она же функция виртуализации приложений – компонент серверных и настольных операционных систем, функция которых разделять и изолировать устанавливаемые извне приложения со стороны от самой ОС-и и остальных программ. Программа “перехватывается” системой и динамически (в режиме онлайн) обрабатывается для показа пользователю. В нашем случае используется одна из главных возможностей функции App-V (но далеко не единственных) – Совместимость приложений различных поколений для одной и той же платформы. И от версии к версии системы менялся подход самой App-V по отношению к устанавливаемым в Windows программам. Так, в Windows XP, не имея административных прав, пользователь с некоторыми программами полноценно вообще работать не мог. А вот со времён появления Vista все приложения обязали использовать файл-манифест, уточняющий запрашиваемый уровень прав. Среди них были:
- asInvoker – запуск с ограниченными правами до момента, пока расширенные права не затребуются отдельной командой или со стороны другого запущенного от имени администратора процесса.
- highestAvailable – административный уровень; нужны права администратора, если пользователь админ; если пользователь не принадлежит к административной группе, доступ к функциям программы и её возможностям будет ограничен.
- requireAdministrator – требует административных прав; программа вообще не запустится, пока ей не предоставятся права.
В общем, учитывая тот факт, что редкая программа использовала “безобидные” функции и никуда по закоулкам системы не лазала, мало что в Windows можно запустить без предоставления ей расширенных прав. Т.е. минуя окно UAC. Частично решить этот вопрос и было призвано добавление переменой к пакету __COMPAT_LAYER=RunAsInvoker . Она заставляла систему отпихивать в сторону запрашиваемый уровень прав в виртуальной среде операндом asInvoker. К слову сказать, примерно такие же возможности достигаются утилитами SigCheck и Process Explorer от Sysyinternals. А с помощью Resource Hacker манифест можно просматривать напрямую. Но не суть.
СРАЗУ
Установка переменной __COMPAT_LAYER (первые символы – двойное подчёркивание) не повышает уровень ваших привилегий до административных. Если у вашей учётной записи таковых не имеется. Она именно не позволяет появиться окну Контроля и разрешает программе запуститься от имени любого пользователя. Таким образом использование перемененной безопасно до тех пор, пока некто не заполучит чудесным образом права Администратора. Так что любая вариация с переменными RunAsHighest (заставит UAC появиться, если права Администратора есть) или RunAsAdmin (инициирует окно Контроля всегда) относительно безопасны.
Как запускать программу без Контроля учётных записей с помощью батника?
Суть метода заключается в следующем. Каждая из запускаемых программ будет проходить процедуру присвоения переменных в режиме совместимости. Назначать вручную мы ничего не станем. Для этого подойдут возможности командной консоли, в среде которой выбранное приложение и запустится. Для этого:
- открываем Блокнот и вводим код:
закроем его, присвоив произвольное имя, но с расширением .bat. Чтобы так сделать, вам придётся заставить Windows отображать скрытые файлы и папки.
Или скачать готовый приготовленный мною батник в архиве по ссылке:
Распакуйте и расположите его на Рабочем столе. Суть работы с ним проста: зацепите ярлык нужного файла .exe и перетащите на распакованный батник . Программа запустится без окна предупреждения со стороны Контроля учётных записей. Способ не всегда срабатывает при обращении к ярлыкам, созданным именно системой (в момент установки программы) из-за витиеватых настроек символьных ссылок. Потому, кому такой способ придется по душе, советую создать ярлык на рабочем столе самостоятельно с указанием на Расположение объекта. Либо воспользоваться другими способами.
Как запускать программу без Контроля учётных записей с ярлыка?
Команду выше можно применять для конкретной программы, скорректировав путь в ярлыке к ней. Для этого в поле адреса ярлыка добавим слева
cmd.exe /c SET __COMPAT_LAYER=RunAsInvoker & START “”
Т.е. вместо, допустим
По необходимости смените значок ярлыка, поискав подходящий в папке с этой программой.
Вариант три: настройки реестра
С той же целью вы можете прописать в контекстном меню исполнительных файлов особый пункт. Назовём его, скажем, Запуск без окна UAC.
Для этого в текстовом редакторе типа NotePad++ (Window-возный Блокнот не подойдёт для русской локали) пропишите вот этот код:
Сохраните файл с расширением .reg. Если соберётесь прописать контекстный пункт вручную с помощью:
- NotePad++ и ему подобного на русском, укажите кодировку Windows-1251
- Блокнота, задайте в поле команды @=”Запуск без окна UAC” вместо указанного имя типа “No_UAC”, чтобы контекстное меню выглядело без кракозябров:
Если от пункта устанете или ошибётесь на первых порах в названии, удалите параметр из cmd от имени администратора:
Как всегда, можете скачать готовый вариант reg-файла с К76 в архиве:
Как отключить UAC в Windows 10 — способы включения и отключения защиты
Надоедливые всплывающие сообщения от контроля учётных записей часто преследуют обычных пользователей Windows. UAC старается повысить безопасность, чтобы вашему компьютеру ничего не грозило, но получается так, что своими постоянными оповещениями он только отталкивает от себя. Как бы операционная система ни хотела обезопасить компьютер пользователей, иногда чрезмерная защита становится очень надоедливой, и появляется необходимость её отключить.
Что такое Windows UAC
Windows UAC — это контроль ваших учётных записей. Для пользователя он служит защитой, следит за совместимостью старых программ, помогает нам уберечься от вирусов, нежелательных программ, которые у нас могут запуститься, и различных приложений. Windows UAC работает постоянно. Каждый раз, когда вы будете запускать программу на своём компьютере, контроль прервёт запуск, и всплывёт окно с вопросом о разрешении системе открыть нужную программу. Если вы не имеете администраторских прав, система запросит вас ввести пароль.
Пример того, как выглядит всплывающее сообщение:
Всплывающее оповещение при попытке внести изменения на компьютер
Почему не стоит полностью выключать защиту
К сожалению, эта технология вызывает у пользователя лишь раздражение. Несмотря на то что UAC повышает безопасность вашего ПК, не позволяет запуститься вредоносным программам и уберегает от вирусов, пользователи не любят назойливых оповещений, мешающих работать. В основном причина, по которой требуется отключить контроль, — это необходимость работать с несколькими программами одновременно. В таком случае UAC начнёт раздражать и мешать вашей работе.
Компания Microsoft не рекомендует полностью отключать службу контроля, потому что существует риск случайно запустить шпионскую программу или загрузить вирусы, которые могут быстро заразить ваш компьютер и всю операционную систему. В конце концов, включение UAC в систему Windows было нужно как раз для защиты.
Отключение службы в панели управления
UAC в системе включён по умолчанию. Разберём, как отключить надоедливые оповещения при помощи панели управления.
- Нажимаем на пуск правой кнопкой мыши и выбираем «Панель управления».
Выбираем «Панель управления», чтобы перейти к панели
Поиск учётных записей пользователя среди элементов панели управления
Изменяем параметры контроля учётных записей
Выбор параметра: сдвигаем ползунок в самый низ, чтобы полностью отключить защиту
Как выключить с помощью файла реестра
- Для того чтобы открыть редактор реестра, зажимаем правую кнопку мыши по пуску и выбираем из списка «Выполнить».
Выбираем в списке «Выполнить», чтобы перейти к одноимённой строке
Прописываем команду regedit, чтобы перейти к реестру
Находим запись EnableLUA, нужно будет её отредактировать
Изменяем значение с 1 на 0, чтобы отключить UAC
Чтобы изменения вступили в силу, перезагрузите ПК
Как включить/отключить службу при помощи командной строки
Отключение и включение UAC возможно также через консоль.
- Первым делом зажмите две клавиши Windows+X либо через меню «Пуск» выберите «Командная строка (администратор)».
Нужно выбрать «Командная строка» в режиме администратора, чтобы перейти к консоли
Изменяем значения, чтобы отключить UAC
Можно ли выключить UAC через консоль PowerShell
- Чтобы запустить консоль PowerShell от имени администратора, можно воспользоваться обычным поиском. Вводим в строке PowerShell.
Находим PowerShell в поисковой строке Windows
Меняем необходимые значения с 1 на 0, чтобы отключить контроль записей
Перезапуск компьютера с помощью специальной команды PowerShell
Настройка UAC
В настройках контроля существует четыре уровня защиты. Прокрутите их колесиком мыши, и с правой стороны вы сможете прочитать описание для любого из четырёх параметров.
- Первый пункт всегда активирует UAC для защиты вашей системы. Если произойдёт любое изменение в ней, обязательно всплывёт предупреждающее сообщение. Если неизвестные программы попытаются воздействовать на ваш компьютер, произойдёт установка потенциально небезопасного ПО, начнётся запуск приложений от подозрительных производителей, система контроля будет оповещать вас на постоянной основе. Обычным пользователям, если они не являются администраторами, нужно будет обязательно подтвердить свои действия, вводя пароль.
Первый уровень: «Всегда уведомлять в следующих случаях»
Второй уровень: «Уведомлять только при попытках программ внести изменения в компьютер»
Третий уровень: «Уведомлять при попытках приложений внести в компьютер изменения, при этом не затемняя рабочий стол»
Четвёртый уровень: полное отключение защиты UAC
Если вы захотите выбрать такой вариант, то больше не будете получать от системы контроля никаких уведомлений. Сам параметр указывает на то, что защиту выключать не рекомендуется.
Видео: как отключается контроль учётных записей в Windows 10
Если вы хотите поподробнее познакомиться с отключением и настройкой UAC в Windows 10, можете ознакомиться с видеороликом, в котором рассказывается, как это делается.
Правильно установленные настройки контроля учётных записей позволяют обеспечить желаемый уровень безопасности ПК. Главное — помнить, что UAC является способом защиты вашей системы и поддержания её в безопасности. Контроль активировали, чтобы защищать от вирусов, вредоносного программного обеспечения; его всегда можно включить обратно, и тогда беспокоиться о вашей системе не придётся.