2

Я пытаюсь запустить программу с правами администратора для обычных пользователей.(Фактическое программное обеспечение выдает ошибку о необходимости учетной записи администратора, я могу обойти Windows через реестр). Безопасность, в которой я нуждаюсь, является относительно косметической (не должна быть воздухонепроницаемой).

Поэтому сейчас я использую psexec, ярлык на рабочем столе с незащищенными именем администратора и паролем. Есть ли способ заблокировать просмотр цели для быстрого доступа? GPO, кажется, не имеет, но есть ли что-нибудь в реестре ??

Лучшее, что у меня пока есть (что плохо), это отключение контекстного меню, чтобы пользователь не мог щелкнуть правой кнопкой мыши (хотя он все еще может использовать Alt+Enter).

Любые мысли были бы великолепны.

1 ответ1

0

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

Несколько примеров сценариев:

Пароль указан в параметрах ссылки:

Смешно легко увидеть пароль, посмотрев на свойства ссылки.

Пароль предоставляется через пакетный скрипт, и вы указываете ссылку на скрипт:

Легко найти скрипт по ссылке и найти пароль в скрипте.

Пароль хранится в виде защищенной строки в текстовом файле, который читается и передается в PSEXEC с помощью сценария PowerShell, и вы указываете ссылку на сценарий PowerShell:

Пароль все еще виден в свойствах процесса через диспетчер задач.
(Вид-> Выбрать столбцы-> Командная строка)


Последний вариант выше - от первой редакции ответа Ади Инбара до другого вопроса.

Последняя редакция того же ответа имеет лучшее решение, которое не так тривиально использовать, но любой может получить пароль, если знает, что делает. Это определенно не то, что я бы использовал для одной из своих учетных записей или систем, но кажется, что это может предложить приемлемую защиту по вашим стандартам. Решение полностью исключает PSEXEC и выполняет всю работу в PowerShell. Тем не менее, я думаю, что для многопользовательской реализации он все еще требует некоторой работы. (Я не знаю точно, как это сделать сейчас. Обновлю этот ответ, если выясню позже.) После успешной реализации любой пользователь, имеющий доступ к сценарию и его вспомогательным файлам, все еще может извлечь и расшифровать пароль, но это не просто чтение его в виде открытого текста.


Если вы открыты для использования стороннего программного обеспечения, есть некоторые инструменты, которые позволяют вам добавлять ограниченные учетные записи пользователей в группу типа "sudoers" и ограничивать их привилегированные права только (прямым) запуском выбранных вами приложений.


В любом случае, есть еще одно важное соображение, которое следует иметь в виду: всякий раз, когда вы позволяете пользователю запускать приложение с повышенными привилегиями, вы предоставляете ему возможность использовать повышенные привилегии для всего, что приложение способно сделать. Если это включает просмотр файловой системы (например, через диалоговое окно «Открыть» или «Сохранить»), пользователь может затем использовать повышенные привилегии для других программ / функций, к которым вы не хотите, чтобы они имели доступ.

Пример. Допустим, вы разрешаете мне доступ к вашей системе, и моя учетная запись настроена так, что единственное приложение, которое мне разрешено запускать с повышенными привилегиями, - это Блокнот. Из блокнота я бы ...

  1. File->Open
  2. Установите тип файла «Все файлы (.)».
  3. Найдите, где я хочу в локальной файловой системе, и запустите / откройте любые файлы / программы, которые я хочу от имени администратора.
    • Например: перейдите к C:\Windows\System32\ , щелкните правой кнопкой мыши lusrmgr.msc , выберите "Открыть", используйте MMC, чтобы добавить себя в группу реальных администраторов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .