总结与反思:
- GPP中管理员给域成员添加的账号信息存在xml,可以直接破解拿到账号密码。
测试环境
windows7 普通域成员
windows2008 域控
首先部署GPP,这里我部署的策略是给域成员都添加一个test用户,密码为test123
添加一个本地用户
然后来到组策略管理
将domain computers 添加到验证组策略对象
然后到域成员win7这台机器上执行
gpupdate && net user
然后可以访问
\\tomato-dc\SYSVOL\tomato.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Preferences\Groups
<?xml version="1.0" encoding="utf-8"?>
<Groups clsid="{3125E937-EB16-4b4c-9934-544FC6D24D26}"><User clsid="{DF5F1855-51E5-4d24-8B1A-D9BDE98BA1D1}" name="test" image="2" changed="2015-08-14 17:21:15" uid="{149655A8-CC7E-4A49-8A3C-403D1615AF63}"><Properties action="U" newName="" fullName="" description="" cpassword="aUcBkzsNN7W1N3eM/JmKvw" changeLogon="1" noChange="0" neverExpires="0" acctDisabled="0" userName="test"/></User>
</Groups>
这里面存储着添加用户的账号密码。其中密码通过AES加密了,但是微软把解密的私钥写在了文档里面导致可以解密密码。
除了这个地方存在账号密码,以下路径可能也存在
Services\Services.xml
ScheduledTasks\ScheduledTasks.xml
Printers\Printers.xml
Drives\Drives.xml
DataSources\DataSources.xml
拿到加密密码之后,我们使用脚本解密
kali也自带解密工具
防御
可以直接设置xml的读取权限,从而防止恶意的读取