域渗透之GPP漏洞

2021-07-06 16:54:31 浏览数 (1)

GPP是指组策略首选项(Group Policy Preference),GPP通过操作组策略对象GPO(Group Policy Object)对域中的资源进行管理。

为什么会产生GPP漏洞?

每台Windows主机有一个内置的Administrator账户以及相关联的密码。大多数组织机构为了安全,可能都会要求更改密码,虽然这种方法的效果并不尽如人意。标准的做法是利用组策略去批量设置工作站的本地Administrator密码。但是这样又会出现另一个问题,那就是所有的电脑都会有相同的本地Administrator密码。也就是说,如果获取了一个系统的Administrator认证凭据,黑客就可以获取他们所有机器的管理权限。

总结:在域中信息的搜集是相当的重要,原因还是因为管理员的操作问题和相应便捷工具带来的安全问题。

密码更改方式一:SYSVOL

SYSVOL是AD(活动目录)里面一个存储域公共文件服务器副本的共享文件夹,所有的认证用户都可以读取。SYSVOL包括登录脚本,组策略数据,以及其他域控所需要的域数据。

默认路径为:

代码语言:javascript复制
\<DOMAIN>SYSVOL<DOMAIN>Policies

然后之前的人,常常使用vbs来更改密码,而vbs又是明文密码存储,加上路径域内可随意访问,也就导致了信息漏洞的存在。

密码更改方式二:Group Policy Preferences

在2006年,微软收购了桌面标准的“PolicyMaker”,并重新借此与win2008发布了GPP(组策略偏好)。其中GPP最有用的特性,是在某些场景存储和使用凭据,其中包括:

代码语言:javascript复制
映射驱动(Drives.xml)
创建本地用户
数据源(DataSources.xml)
打印机配置(Printers.xml)
创建/更新服务(Services.xml)
计划任务(ScheduledTasks.xml)
更改本地Administrator密码

在Group Policy Preferences,选中你的域。右键选择在这个域中创建GPO并在此处链接

随意设置一个名称

然后依次选择:设置-右键-编辑-用户配置-首选项-控制面板设置-本地用户和组

然后,右键选择新用户,对用户密码进行更改

设置后,可以在详细哪里,看到这次组策略的ID

然后回到之前说的那个路径,加上id\UserPreferencesGroups

得到更改的xml文件。

其中的cpassword项,保存的是加密后的内容,加密方式为AES 256,虽然目前AES 256很难被攻破,但是微软选择公开了该AES 256加密的私钥,地址如下:

借助该私钥,我们就能还原出明文

攻击方法

因为我们知道了,密码是可以被破解的,那么直接拿来破解不久完事了。。。

除了这个之外呢,我们也可以使用powersploit套件里面的Get-GPPPassword.ps1进行域内尝试。

果有密码就会直接显示出来。

防御

关于这个漏洞,微软给出来了相关的补丁KB2962486,安装后则无法输入密码,2012系统默认集成。

参考文章:

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gppref/2c15cbf0-f086-4c74-8b70-1f2fa45dd4be?redirectedfrom=MSDN

0 人点赞