Q: Использование CACLS для защищенного файла, такого как WMIC.EXE - PullRequest
0 голосов
/ 20 декабря 2018

Я хочу изменить разрешения для защищенного файла.

Using WMIC.EXE as an example, I want to change Administrators to F from R.

CACLS c:\windows\system32\wbem\wmic.exe

Returns:
NT SERVICE\TrustedInstaller:F 
BUILTIN\Administrators:R 
NT AUTHORITY\SYSTEM:R 
BUILTIN\Users:R 

CACLS c:\windows\system32\wbem\wmic.exe /P BUILTIN\Administrators:F 
Returns:  Access Denied 

Это также не выполняется в пакетном файле, вызываемом разделом реестра RunOnce.

1 Ответ

0 голосов
/ 02 апреля 2019

TL; DR -

takeown /f "c:\Windows\System32\wbem\WMIC.exe" /a
icacls "c:\windows\system32\wbem\wmic.exe" /grant administrators:F

Подробности -

Препятствия здесь могут быть не очевидными.Первый - это отсутствие разрешений, предоставленных группе «администраторы».В этом файле «администраторы» имеют только права на чтение и выполнение.Так что это должно измениться.Но .... как изменить, если у вас нет прав на изменение?

В Windows администратор всегда может стать владельцем защищаемого объекта - например, файла или каталога.Кроме того, владелец объекта всегда может изменить дескриптор безопасности объекта - даже когда дескриптор безопасности показывает, что у него нет доступа.Эти принципы являются ключевыми здесь.

Итак, мы администратор, поэтому мы можем стать владельцем файла, а затем изменить разрешения, чтобы предоставить себе (или кому-либо еще) доступ.cacls.exe не может помочь нам с первой частью, поэтому вместо этого мы обратимся к takeown.exe./f arg нацелен на файл, а /a нацелен на группу «администраторы», а не на отдельного человека, выполняющего команду.

takeown /f "c:\Windows\System32\wbem\WMIC.exe" /a

Теперь, как владелец, мы можем добавлять / изменять ACEв DACL в дескрипторе безопасности (он же предоставляет разрешения).Мы можем использовать либо cacls.exe, либо icacls.exe, но я всегда рекомендую последнее, так как первое является устаревшим.Но я оставлю это вам.

icacls "c:\windows\system32\wbem\wmic.exe" /grant administrators:F

Позже, после того, как вы сделаете все, что вам нужно ... Если вы хотите заменить исходные разрешения, мы должны вернуть право собственности на "TrustedInstaller", иизмените «полный контроль» обратно на «чтение + выполнение» для группы администраторов.icacls.exe может выполнять обе работы:

icacls "c:\windows\system32\wbem\wmic.exe" /setowner "NT Service\TrustedInstaller"
icacls "c:\windows\system32\wbem\wmic.exe" /grant:r "administrators":(RX)
...