0x01 SYSVOL
SYSVOL 是 Active Directory 中的域范围共享,所有经过身份验证的用户都具有读取权限。 SYSVOL 包含登录脚本、组策略数据和其他需要在有域控制器的任何地方可用的域范围数据(因为 SYSVOL 在所有域控制器之间自动同步和共享)。所有域组策略都存储在这里:\\<DOMAIN>\SYSVOL<DOMAIN>\Policies\
0x02 GPP(Group Policy Preferences)
组策略首选项是一组组策略客户端扩展,可向运行 Microsoft Windows 桌面和服务器操作系统的加入域的计算机提供首选项设置。首选项设置是部署到桌面和服务器的管理配置选项。首选项设置与策略设置不同,因为用户可以选择更改管理配置。
0x03 GPP漏洞
在域环境中管理大量计算机时,对机器资源的访问通常使用组策略下发,常规做法是将Administrator的密码保存在SYSVOL中的XML文件中,而只要是在域中已注册的账号,乃至普通域权限的账号也可以自由读取SYSVOL目录的数据。
创建新的 GPP 时,会在 SYSVOL 中创建一个关联的 XML 文件,其中包含相关的配置数据。Microsoft 在 MSDN 上发布了 AES 加密密钥(共享机密),可用于解密密码。由于经过身份验证的用户(任何域用户或受信任域中的用户)具有对 SYSVOL 的读取访问权限,因此域中的任何人都可以在 SYSVOL 共享中搜索包含“cpassword”的 XML 文件,该值是 AES 加密数据
自动化获取GPP文件的脚本:https://github.com/Lucifer1993/PLtools/blob/main/Get-GPPPassword.ps1
解码脚本:https://github.com/Lucifer1993/PLtools/blob/main/gpp-decrypt.py