- 积分
- 216
- 最后登录
- 2024-2-11
- 精华
- 0
- 阅读权限
- 30
- 主题
- 14
- UID
- 94174
- 帖子
- 375
- PB币
- 2074
- 威望
- 11
- 贡献
- 0
- 技术
- 0
- 活跃
- 494
- UID
- 94174
- 帖子
- 375
- PB币
- 2074
- 贡献
- 0
- 技术
- 0
- 活跃
- 494
|
考虑到Powershell的强大功能和不需写入文件而直接在内存执行代码的优秀特性,日后可能成为安全的一大危害,各路恶意程序都极可能转战Powershell,因此就想搞掉Powershell。但简单的卸载并非我的意愿,因为我们自己也可能偶尔会用到它,因此最好是自己制作一个开关,要用时就打开,不用时就关闭。
在上述想法下,先是考虑用CACLS限制Powershell.exe的Evryone访问权限,但奇怪的是,命令明明执行成功,但居然没有任何效果,微软自家的命令对自家的程序毫无作用~!
我尝试了以下命令:
cacls c:\Windows\System32\WindowsPowerShell\v1.0\powershell*.exe /c /D everyone
cacls c:\Windows\System32\WindowsPowerShell\v1.0\powershell*.exe /e /c /p everyone:N
结果显示:
ACCESS_DENIED: c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
ACCESS_DENIED: c:\Windows\System32\WindowsPowerShell\v1.0\powershell_ise.exe
但再运行试试?一点问题都没有!
再看看上述文件的权限,发现通过CACLS设置的权限限制根本就不存在!
邪门,微软自家的命令对自家程序网开一面,这到底还有多少类似的网开一面的后门?
那么问题出来了——
如何在不卸载Powershell的情况下,有效禁用/启用Powershell?
|
|