我正在使用微软的攻击表面分析器,我想得到一个更好的理解什么将是最好的方法来减轻发现。
例如,如果在我的报告中我得到了Directories Containing Objects With Weak ACLs,Description: The folder C:\Program Files (x86)\My_Folder contains files and/or folders with ACLs that allow tampering by multiple non-administrator accounts.报告的"Action:"部分如下所示:The ACL should be tightened. Do not allow users to write to start points, files or directories that influence control over other users.
在这种情况下,适当的解决方案是使用这样的icacls实用程序来更改父文件夹的ACL(s),只使用PowerShell脚本访问管理员访问?
我的另一个例子是Services Vulnerable To Tampering,Description: The service My_Service is vulnerable to tampering by multiple non-administrator accounts.
报告中的"Action:"部分简单地说了The relevant ACL(s) must be tightened.
在这种情况下,我们说的是服务(S),我不知道该怎么做.
感谢您的时间和任何帮助!
发布于 2018-06-06 20:44:23
对于这些文件,调用icacls或者--因为您正在使用Powershell --使用[[System.Security.AccessControl.*]](https://msdn.microsoft.com/en-us/library/system.security.accesscontrol(v=vs.110%29.aspx)类实现更改都是有效的选项。还可以使用Windows Explorer的“属性”窗口“安全性”选项卡,该选项卡允许编辑ACL。
对于Windows服务来说,它更棘手,但却是可能的。sc.exe命令(Service )可以显示和编辑服务ACL;有关更多信息,请参见这里。但是,这是一个混乱的过程,而且比使用icacls之类的东西更容易出错,因为您需要立即设置整个ACL,而不是操作单个条目。除了使用SCM API调用SetServiceObjectSecurity之外,也没有其他简单的方法来操作服务ACL。ACL本身存储在注册表中不可读的blob中。
然而,一个更重要的问题是,为什么这些ACL如此脆弱?行为良好的程序1不会修改其安装目录上的ACL,让非管理员在那里写入;默认情况下,这是不允许的。类似地,行为良好的程序不会创建带有弱ACL的Windows服务(绝大多数服务可能具有默认ACL,不允许非管理员篡改服务的配置)。与其试图手动修复问题,不如找出它们的来源,并防止错误发生。
1蒸汽是一个非常糟糕的程序的一个很好的例子,在安全性方面;我认为它实际上确实削弱了它的安装目录ACL,也可能是一个服务ACL。
https://security.stackexchange.com/questions/187225
复制相似问题