GPP(Group Policy Preferences)

前言

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

常见的组策略首选项

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

SYSVOL

SYSVOL是活动目录里面的一个用于存储域公共文件服务器副本的共享文件夹,在域中的所有之间进行复制。SYSVOL文件夹是在安装活动目录时自动创建的,主要用来存放登录脚本、组策略数据及其他域控制器需要的域信息等。SYSVOL在所有经过身份验证的域用户或者域信任用户具有读权限的活动目录的域范围内共享。整个SYSVOL目录在所有的域控制器中是自动同步和共享的,所有的域策略均存放在 C:\Windows\SYSVOL\DOMAIN\Policies\ 目录中。

组策略提权分析

创建组策略,批量修改域中机器的本地管理员密码

在域控上执行:开始——>运行——>输入 gpmc.msc ——>选择test.com——>右键组策略对象——>新建,新建一个GPPtest组策略

右键刚刚新建的GPPtest 编辑,右键新建本地用户

更新administrator的密码为Root@123

然后将Domain Computers添加到组策略应用的组中

强制更新组策略 gpupdate /force

获取组策略的凭据

管理员在域中新建一个组策略后,操作系统会自动在SYSVOL共享目录中生成一个XML文件,该文件中保存了该组策略更新后的密码。该密码使用AES-256加密算法,安全性还是比较高的。但是,2012年微软在官方网站上公布了该密码的私钥,导致保存在XML文件中的密码的安全性大大降低。任何域用户和域信任的用户均可对该共享目录进行访问,这就意味着,任何用户都可以访问保存在XML文件中的密码并将其解密,从而控制域中所有使用该账号、密码的本地管理员计算机。在SYSVOL中搜索,可以找到Groups.xml文件。找到其中的cpassword字段,该字段是用AES-256算法加密的。

C:\Windows\SYSVOL\sysvol\test.com\Policies\{453D4044-A430-45B7-A550-0C5D7EC766C3}\Machine\Preferences\Groups

破解凭据

gpp-decrypt l9wNPgYcFSkJtrXTTH1BBhlP58iYRX5JSKQJ7a9CLiI

也可以使用powersploit套件里面的Get-GPPPassword.ps1进行域内尝试

powershell.exe -exec bypass -Command "& {Import-Module .\Get-GPPPassword.ps1;Get-GPPPassword}"
posted @ 2022-08-24 17:29  九天揽月丶  阅读(407)  评论(0编辑  收藏  举报