Как в Windows ограничить права программы, требующей администраторских привилегий

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

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

Для этого мы предлагаем использовать PsExec — консольную утилиту, входящую в состав пакета PsTools от Microsoft.

Скачать оный пакет можно по ссылке — technet.microsoft.com/ru-ru/sysinternals/bb897553.

Принцип работы утилиты следующий.

Будучи запущенной с повышенными разрешениями, она создает процесс с более низкими правами и запускает в нём требующую повышенных привилегий программу, которая стартует уже с пониженными правами. Чтобы это продемонстрировать, запустим с помощью PsExec с пониженными правами программу для автоматического управления службами Service Trigger Editor.

Распаковываем пакет PsTools в удобное расположение, запускаем от имени администратора командную строку и выполняем в ней такую команду:

"F:\PSTools\psexec.exe» -l -d «F:\ServiceTriggerEditor.exe"

Первая часть команды — это путь к исполняемому файлу PsExec с параметрами -l и -d, вторая часть — путь к исполняемому файлу утилиты управления службами. У вас пути и запускаемое ПО, естественно, будут свои.

PsExec

В результате мы получаем сообщение об удачном запуске программы с ID процесса, запускается и сама программа, но уже не требуя подтверждения со стороны контроля учетных записей.

Чтобы убедиться, что программа действительно запустилась с ограниченными правами, воспользуемся утилитой Process Explorer. Если открыть в ней свойства процесса нашей программы на вкладке «Security», то можно будет увидеть, что он не является членом группы «BUILTIN/Администраторы», зато входит в состав группы «Обязательная метка/Низкий обязательный уровень».

Process Explorer

Если бы программа обладала всеми полномочиями, флаг группы «BUILTIN/Администраторы» был бы Owner, а уровень обязательной метки был бы высоким.

Security

Ну, и раз уж мы упомянули здесь Process Explorer, отметим, что запускать программы с пониженными правами можно и с ее помощью.

В меню «Файл» этой утилиты есть опция «Run as Limited User».

Run as Limited User

Открывающая окошко быстрого запуска, в котором вы можете указать путь к исполняемому файлу приложения.

Рекомендуемые публикации:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *