TL;博士-
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
现在,作为所有者,我们可以自由地在安全描述符中向 DACL 添加/修改 ACE(也就是授予权限)。我们可以使用cacls.exe
or 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)