Найти в Дзене
А чё так можно?

Запуск приложений от имени Системы. Умная Большая Оптимизация #2

Оглавление

Вместо вступления

В дальнейшем потребуется запускать приложения от имени Системы. Например реестр WIndows, для его изменения в кустах, где доступ Администратору заблокирован.

Из рубрики «Умной большой оптимизации»:

  • Режим одобрения администратором. Как запускать всё приложения в режиме «от имени Администратора».

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

  • Почему у меня не запускается приложение?
  • Почему у меня нет этого приложения?
  • Где, то место, про которое идет речь?
  • Что такое «…» (что бы то ни было, освещенное ранее)?
  • И подобные…

Отвечать на подобные вопросы не буду.

Ставь лайки и комментируй, если статья оказалась полезной. Для меня и тебя это важно.

Дополняющее видео: Как запускать программы от имени Системы

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

По сути: встроенная учётная запись «.\LocalSystem»

Ингода может появиться необходимость получить доступ к защищенным объектам Системы. К папкам, файлам, кустам реестра. Лучший вариант — использовать учётную запись Системы. Напрямую её использовать не получиться, однако, запускаемые Системой службы будут наследовать права Системы и этим можно воспользоваться. Для этого потребуется набор утилит Sysinternals Suite.

По сути: дополнительные инструменты Sysinternals Suite от Мелконогих

Пакет содержит множество полезных утилит. Пока ознакомимся с одной, но другие нам понадобятся в дальнейшем.

Выполни следующие шаги:

  1. Для начала скачай Sysinternals Suite.
  2. Скачай любой портативный файловый менеджер, который будет по душе. Я использую Just Manager, он меньше 1 Мб.
  3. Распакуй Sysinternals Suite и скопируй его в папку WIndows.
  4. Распакуй файловый менеджер и скопируй в Program Files.

Затем нужно дополнить системную переменную среды Path.

Win+R sysdm.cpl Enter

Нажми кнопку «Параметры среды…»

Добавь в системную переменную среды Path два новых параметра, с двумя расположениями для Sysinternals Suite и файлового менеджера.

Изменение переменной Path
Изменение переменной Path

Зачем это делается? Всё просто, теперь при запуске окна «Выполнить» (Win+R) и ввода команды, скажем «RAMMap64» (программа rammap64.exe входит в пакет Sysinternals Suite), она запуститься. Windows ищет приложения, выполняемые без указания пути к этим приложениям как раз в системной переменной среды «Path».

Далее, везде я буду использовать приложения входящие в пакет Sysinternals Suite для 64х битных систем. Для запуска этих же приложений для 32х битных систем, используй те же команды без суффикса «64», т.е. не «RAMMap64», а «RAMMap».

По сути: запуск приложений от имени Системы

Открой командную строку и введи команду PsExec64:

PsExec64 -i -s regedit

При первом запуске любой утилиты из пакета Sysinternals Suite потребуется дать согласие на принятие пользовательского соглашения, либо добавлять параметр:

-accepteula
Диспетчер задач
Диспетчер задач

Процесс Regedit запущен с наивысшими правами доступа, — с правами Системы.

Суть данного приложения в данном сценарии работы:

  1. Создать временную службу «psexesvc».
  2. Служба запускается Системой с правами доступа Системы.
  3. Служба запускает приложение с наивысшими правами Системы.
  4. Служба ждет завершения работы приложения.
  5. Служба удаляется из Системы.

Запустить Explorer с правами Системы не получиться. Права будут наследоваться от уже запущенного экземпляра Explorer. Потому нам потребуется сторонний файловый менеджер.

Давай запустим файловый менеджер:

PsExec64 -i -s justmanager
Файловый менеджер запущенный с правами Системы
Файловый менеджер запущенный с правами Системы

Как ты можешь видеть, доступ к папке «System Volume Information» предоставлен без проблем.

Во время выполнения команды от имени Системы, хост командной строки должен оставаться открытым. Не закрывай его!

Хост командной строки
Хост командной строки

По сути: тупые способы доступа

Можно получить доступ к специальным папкам или кустам реестра на основе атрибутов безопасности, изменив владельца с Системы на пользователя. Затем предоставить доступ самому себе.

Проблемы могут начаться сразу же. Изменив владельца объекта и забыв об этом, ты можешь ограничить доступ к этому объекту Системе. Дело будет даже не в том, что Система не сможет физически получить доступ, — как раз для неё это не проблема (у Системы и Администраторов наивысшие права ко всему). Дело в том, что она сначала проверит доступность объекта для себя, а затем вполне может отказаться начать работу с объектом.

Потому безопасней и проще работать с объектами, к которым имеет доступ только Система, подходом описанным выше, — запуская приложения от имени Системы, т.е. действуя на одном уровне доступа с Системой.

Заключение

Почему важно ставить лайки и оставлять комментарии? Так я вижу, что мои труды продуктивны. Так я понимаю, что данная тема тебе нравиться и я буду её развивать. Я приветствую конструктивную критику, приветствую новые идеи, — потому пиши.

Я пишу статьи\снимаю видео, — ты оцениваешь их!

А на этом всё! Мне спасибо, я пошёл… 😊

Обложка
Обложка