总结与反思:
GPP中管理员给域成员添加的账号信息存在xml,可以直接破解拿到账号密码。
Windows Sever 2008 的组策略选项(GPP)是一个新引入的插件,方便管理员管理的同时也引入了安全问题
测试环境
windows7 普通域成员
windows2008 域控
首先部署GPP,这里我部署的策略是给域成员都添加一个test用户,密码为test123
添加一个本地用户
然后来到组策略管理
将domain computers 添加到验证组策略对象
然后到域成员win7这台机器上执行
gpupdate && net user
然后可以访问
\tomato-dcSYSVOL omato.comPolicies{31B2F340-016D-11D2-945F-00C04FB984F9}MACHINEPreferencesGroups
这个目录下面有个group.xml文件
<?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加密了,但是微软把解密的私钥写在了文档里面导致可以解密密码。
除了这个地方存在账号密码,以下路径可能也存在
ServicesServices.xml
ScheduledTasksScheduledTasks.xml
PrintersPrinters.xml
DrivesDrives.xml
DataSourcesDataSources.xml
拿到加密密码之后,我们使用脚本解密
或者使用powershell脚本
脚本见附件http://bl4ck.in/usr/uploads/2015/08/2250856726.zip
防御:
可以直接设置xml的读取权限,从而防止恶意的读取