MS14-025:组策略首选项更新与安全漏洞解析

微软发布MS14-025安全更新,修复组策略首选项中的漏洞,涉及密码对称加密缺陷、SYSVOL共享访问风险及攻击工具利用,提供PowerShell脚本检测和密码轮换方案。

MS14-025:组策略首选项更新

今天,我们发布了一个更新,以解决组策略首选项(Group Policy Preferences)中的一个漏洞(MS14-025)。组策略首选项是对组策略功能的扩展,允许管理员配置以下内容:

  • 本地管理员账户(账户名称、账户密码等)
  • 配置服务或计划任务(允许指定备用凭据运行)
  • 用户登录时挂载网络驱动器(允许指定备用凭据连接)

组策略首选项的分布方式与普通组策略相同:包含设置的XML文件写入域控制器的SYSVOL共享,计算机定期查询SYSVOL共享(使用其计算机账户进行身份验证)以获取组策略更新。

多个组策略首选项允许指定凭据。当使用此选项时,密码使用静态密钥进行对称加密,并与其余设置一起写入XML文件。这个密钥是什么?实际上,我们在MSDN上记录了它:http://msdn.microsoft.com/en-us/library/cc422924.aspx。

如果攻击者能够访问SYSVOL共享(对所有经过身份验证的用户开放,因此恶意或鱼叉式网络钓鱼的员工将有权访问)并获取用于加密/解密GPP设置的密码的AES加密密钥(我们在MSDN上记录了该密钥),攻击者将能够获取通过GPP设置的凭据。

微软观察到,组策略首选项滥用是攻击者在域中提升权限的最常见策略之一。攻击者使用的多个工具包,如Metasploit(http://www.rapid7.com/db/modules/post/windows/gather/credentials/gpp)和PowerSploit(https://github.com/mattifestation/PowerSploit/blob/master/Exfiltration/Get-GPPPassword.ps1),提供了易于使用的方法来检索和解密GPP密码。在最坏的情况下,公司在组策略首选项账户中使用域管理员凭据,导致攻击者一旦能够访问SYSVOL共享(并使用记录的密钥解密密码),就会发生完整的域泄露。

微软发布了一个更新来改变此问题的行为,但使用GPP的公司需要采取行动。微软已移除创建或修改任何包含指定账户凭据的组策略首选项的组策略的能力。对此类组策略唯一可以执行的操作是“删除”。请注意,微软不会自动禁用这些组策略,因为我们不希望破坏依赖此功能的现有环境。您可以在下图中看到,当尝试创建本地账户时,“用户名”和“密码”字段被禁用。如果您尝试创建用户,将显示错误对话框。

除了行为更改外,微软还为客户提供了两个PowerShell脚本。第一个脚本Enum-SettingsWithCpassword将搜索现有GPO以查找账户密码功能的使用。我们敦促公司立即运行此脚本并删除检测到的易受攻击的GPO。

第二个脚本Invoke-PasswordRoll可用于在远程系统上设置本地管理员密码(组策略首选项通常用于此目的)。该脚本接受用户名和计算机列表,并使用PowerShell远程连接到每台计算机,并将每个指定用户名的密码更改为随机密码。用户名/密码组合将记录在磁盘上的文件中(该文件已加密,但可以选择以明文存储)。请注意,该脚本强制执行随机密码,以确保本地账户不能用于传递哈希攻击。

您可以在http://support.microsoft.com/kb/2962486找到这两个脚本。

  • Joe Bialek,MSRC工程团队
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计