Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
mr.save

Запуск программ в Windows без прав администратора при помощи RunWithRestrictedRights

Recommended Posts

Задавались ли вы вопросом, безопасно ли запускать очередное скачанное приложение? В этой статье мы рассмотрим этот вопрос. Одно из наилучших решений – запуск программы в песочнице (например, в Sandboxie) или на виртуальной машине, поскольку в этом случае права доступа у приложения будут серьезно ограничены. 

Мне всегда было интересно, почему приложениям нужны расширенные права. Например, в случае утилит для усиления безопасности системы или управления функциями в Windows, такой запрос правомерен, но в других ситуациях всё не так очевидно. Программы, после запуска которых появляются всплывающие окна от UAC (User Account Control; Контроль учётных записей пользователей), могут не запуститься вовсе, если вы не разрешите. 

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

С другой стороны, было бы неплохо использовать эту возможность в принудительном режиме. И здесь нам на помощь приходит RunWithRestrictedRights. Эта утилита, управляемая из командной строки, использует Windows Integrity Mechanism для ограничения прав приложений, чтобы не нанести вред системе (лучше, чем PSExec). 

Когда я впервые запустил RunWithRestrictedRights, возникла ошибка «a required privilege is not held by the client» (у клиента нет необходимых привилегий). Для решения этой проблемы у учетной записи должны быть следующие права, используемые RunWithRestrictedRights при управлении другими приложениями: 

  • Настройка квот памяти для процесса (Adjust memory quotas for a process). 
  • Замена маркера уровня процесса (Replace a process level token). 

Более подробно об этих правах можно узнать в официальной документации. Права добавляются в разделе Control Panel (Панель управления) > Administrative Tools (Администрирование) > Local Security Policy (Локальная политика безопасности) > User Rights Assignment (Назначение прав пользователя). Следует убедиться, что в вышеуказанные разрешения добавлена группа «Администраторы». После внесения изменения необходимо перезагрузить компьютер. 

Примечание: мне нужно было настроить только права, связанные с заменой маркера уровня процесса. 

Как использовать RunWithRestrictedRights 

  • Запустите командную строку с административными правами (этот шаг очень важен). 
  • Введите команду, используя следующий шаблон: C:\RunWithRestrictedRights.exe "application". 

Необходимо указать местонахождение директории с файлом RunWithRestrictedRights.exe. Я использую папку H:\Downloads\. Слово «application» нужно заменить на приложение, которое выходите запустить (Notepad, MSPaint и так далее). 

Таким образом, итоговая команда должна выглядеть так: H:\Downloads\RunWithRestrictedRights.exe notepad. Для удобства можно привязать переменную окружения к местонахождению приложения. 

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

Если всё сделано правильно, приложение с ограниченными привилегиями должно запуститься. В командной строке вы также увидите новое сообщение, что «notepad» запущен на уровне Medium Integrity с идентификатором процесса – aaaa, где aaaa – четырехзначный номер. 

Попробуем запустить приложение, не являющее частью операционной системы и требующее UAC (например, Kingston SSD Manager). 

Я запустил команду C:\Windows\system32>H:\Downloads\RunWithRestrictedRights.exe "C:\Program Files (x86)\Kingston_SSD_Manager\KSM.exe". 

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

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

Как проверить, что приложение запущено с ограниченными правами? Разработчик рекомендует использовать Process Explorer. Зайдите в свойства процесса и посмотрите флаги BUILTIN\Administrators, Mandatory Label и Local account and member of Administrators group (см. рисунок ниже). 

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

Кроме того, в RunWithRestrictedRights предусмотрено несколько параметров, которые можно использовать следующим образом: RunWithRestrictedRights.exe <application> -argument. 

Аргумент –w запустит приложение с ограничениями сразу же, но возврата к командной строке не произойдет, пока программа не закроется. Например, H:\Downloads\RunWithRestrictedRights.exe "notepad" –w. 

Хотите запускать программы с уровнем Low Integrity? Воспользуйтесь аргументом –l. В случае с аргументом –P используются права группы Power Users. Аргумент -d <sid> запрещает использование прав SID. Аргумент –v предназначен для отображения более детальной информации. 

В общем, довольно простое приложение, позволяющее повысить уровень безопасности. 

Цитата

 

Заключение 

RunWithRestrictedRights – портативное приложение, которое работает, начиная с Windows 7 и выше (хотя разработчики утверждают, что в Windows XP тоже работает). Утилита также поддерживает Windows Server 2003 и более поздние версии. Программа разработана компанией Core Technologies, которая также разрабатывает Service Trigger Editor, рассмотренным нами недавно. 

RunWithRestrictedRights можно использовать в разных ситуациях. Например, для запуска с ограниченными правами при условии, что в расширенных привилегиях нет необходимости. К сожалению, проверить работоспособность приложения можно только после запуска. 

С учетом вышесказанного, для выполнения ежедневных обязанностей хорошей идеей будет использование аккаунтов обычных пользователей, а административных – только в случае крайней необходимости. В 2017 году компания Microsoft сообщила, что пользователи могут защититься от 94% критических уязвимостей в Windows, если будут использовать неадминистративные учетные записи. 

 

 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...