Windows 2008 GPP漏洞学习
0x00 背景
在看《黑客秘笈》这本书里,我们攻陷了内网中某个接入域系统的主机,如果是较低的普通用户权限,通常会检查域环境中是否存在GPP漏洞,以此提升至域或本地管理员的权限。
乌云的这个http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0197781.html渗透案例就用到了此漏洞,我们可以从中窥探一二。
0x01 简介
GPP是指组策略首选项(Group Policy Preference),GPP通过操作组策略对象GPO(Group Policy Object)对域中的资源进行管理。Freebuf的这篇文章http://www.freebuf.com/vuls/92016.html讲了GPP的应用场景和与之对应的安全问题。
简单来说就是,出于想更新每台主机上本地账户密码的目的,利用GPP可以指定某个域账户为所有计算机的本地计算机管理账户。而这个账号信息存储在\\[Domain Controller]\SYSVOL\[Domain]\Policies
中的某个Grouop.xml中,其中的cpassword为AES加密值。但在AD中的所有用户都可以读取Group.xml,对于AES的对称加密,在微软的MSDN上可以查到cpassword使用的固定秘钥(https://msdn.microsoft.com/en-us/library/2c15cbf0-f086-4c74-8b70-1f2fa45dd4be.aspx),这无疑就是在渗透人员面前的裸奔。
0x02 测试
91Ri上的这篇文章http://www.91ri.org/14909.html有一个整体的测试过程。我们前期可以参考l3m0n的文章https://github.com/l3m0n/pentest_study搭建域环境。
实践中需要注意一下,组策略管理编辑器是在右键Defualt Domain Policy选择编辑选项打开的,如图:
还有一点就是测试的win7系统在加入域环境后,需要在域控服务器这边添加一个域账号,win7再以此账号登录才可以成功,不然直接去找Group.xml时需要认证,如图:
最后测试成功如下图: