组策略的概述

组策略(GroupPolicy)是Microsoft Windows系统管理员为计算机和用户定义的,用来控制应用程序、系统设置和管理模板的一种机制。通俗一点说,是介于控制面板和注册表之间的一种修改系统、设置程序的工具。

为什么需要组策略

注册表是Windows系统中保存系统软件和应用软件配置的数据库,而随着Windows功能越来越丰富,注册表里的配置项目也越来越多,很多配置都可以自定义设置,但这些配置分布在注册表的各个角落,如果是手工配置,可以想像是多么困难和烦杂。而组策略则将系统重要的配置功能汇集成各种配置模块,供用户直接使用,从而达到方便管理计算机的目的。

通过组策略 可以更容易管理用户工作环境与计算机环境减轻网络管理负担、降低网络管理成本

组策略的两种配置

组策略包含计算机配置和用户配置

计算机配置:

当计算机开机时,系统会根据计算机配置的内容来设置计算机环境。包括桌面外观、安全设置、应用程序分配和计算机启动和关机脚本运行等。

用户配置:

当用户登录时,系统会根据用户配置的内容来设置计算机环境。包括应用程序配置、桌面配置、应用程序分配和计算机启动和关机脚本运行等。

除了上面两种策略外,还可以在每一台计算机上设置本地计算机策略,只会应用到本地计算机与在这台计算机上登录的所有用户

组策略对象(GPO)

组策略通过组策略对象gpo来设置的 只要将gpo连接到特定的站点就会影响该站点下所有用户和计算机

对于组策略,我们一般关心两点。

这条组策略链接到哪里。

这条组策略的内容是啥。

AD DS中两个内置GPO

第一个是默认域控制器策略 默认连接到域控 会影响所有域控(domain controllers)内的所有用户与计算机(domain controllers组默认只有域控的计算机用户)

第二个是默认域策略 默认被连接到域 会影响所有域内的所有用户与计算机

可以看到他链接到kevin.com整个域,也就是说在kevin.com域内的所有计算机,用户都会受到这条组策略的影响。



我们可以右键保存内容查看该组策略具体是什么内容


gpo的内容

分为gpc和gpt 他们分别被存储在不同的位置

gpc是存储在ad ds数据库内 记载着此gpo的属性域版本等数据

gpt用来存储gpo设置值与相关文件 是一个文件夹 建立在域控%systemroot%sysvol域名Policies文件夹内 是用gpo的guid来作为gptr的文件夹名称


组策略有继承性、累加性

当组策略有冲突时,则以处理顺序在后的GPO为优先,而系统处理GPO的顺序是:站点GPO→域→组织单位的GPO→本地计算机策略最低。

计算机配置优于用户配置

多个配置应用到同一处,排在前面的组策略优先

策略设置与首选项设置

组策略设置可分为策略设置和首选项设置

首选项是Windows Server 2008发布后用来对GPO中的组策略提供额外的功能。

策略和首选项的不同之处就在于强制性。策略是受管理的、强制实施的。

而组策略首选项则是不受管理的、非强制性的。

组策略应用时机

当设置gpo后不是立马生效 要gpo应用到用户或计算机后才生效

计算机配置的应用时限

计算机开机时
计算机开机后,域控制器每5分钟自动应用一次
计算机开机后,非域控制器每90-120分钟自动应用一次
计算机开机后,系统每16小时自动运行一次
手动应用

用户配置的应用时限

用户登录时会自动应用
用户登录后,系统每90-120分钟自动应用一次,系统每16小时自动运行一次
手动应用

执行gpupdate /force 同时应用计算机配置与用户配置

部分策略需要重启才生效 例如软件安装和文件夹重定向

策略设置实验

计算机配置

正常来说 只有域管理员才有权限登录域控 而普通用户在域控制器登录时 会出现无法登录的警告 除非他们被赋予允许本地登录的权限

以下假设要让domain users的用户可以在域控制器上登录域控

这里通过默认的Default Domain Controllers Policy gpo来设置 让他们有 允许本地登录的权限

可以看到默认只有管理员组才拥有允许本地登录的权限 现在我们加入domain users组

下面利用wuyifan用户登录域控

可以看到组策略生效了

用户配置

假设存在一个业务部 我们想通过组策略限制他们不允许通过代理上网

点击业务部 新建一个gpo 点击编辑

改成已启用

现在利用业务组里面的账号查看 可以看到 已经无法更改代理

WMI筛选

在之前,我们通过链接,将组策略链接到站点,工作组,OU。然后作用于链接对象所有的计算机,用户。如果要改变这个值我们可以通过wmi筛选器来设置

例如上图利用wmi筛选器,将组织单位业务部内所有的win10 64位应用test的策略设置 但是其他win10系统并不会

枚举域内的所有站点,OU

遍历站点
adfind -sites -f "(objectCategory=site)"  -dn
遍历OU
adfind -b DC=kevin,DC=com -f "(objectCategory=organizationalUnit)" dn

SYSVOL 漏洞(MS14-025)

在早期的版本,某些组策略首选项可以存储加密过的密码,加密方式为AES 256,虽然目前AES 256很难被攻破,但是微软选择公开了私钥。

在实际渗透,我们可以通过以下命令来快速搜索

findstr /S cpassword \test.orgsysvol*.xml

利用组策略扩展

在拿到域控之后,有时候可能网络ACL 到达不了目标电脑,可以通过组策略进行横向。下面列举几种横向的方法

1.推送恶意的软件安装包

2.推送恶意脚本

3.计划任务利用gpo批量下发任务

组策略后门的一些思路

组策略很适合用于留后门,下面列举几种留后门的方式

  1. 将域帐户添加到本地管理员/ RDP组
  2. 添加特权 可以通过组策略给某个用户授予特权,我们用的比较多的有SeEnableDelegationPrivilege特权
  3. 降级凭据保护
  4. 甚至更改现有的安全策略以启用明文密码提取。
  5. 微软很早就更新了补丁来防止获取高版本windows的明文密码,但是可以修改注册表,使WDigest下的UseLogonCredentiald的键值为1
  6. 组策略ACL 后门
创建GPO的权限
GPO链接OU的权限。
修改现有的GPO的权限

除了在渗透中可以用于发现域内的安全隐患,也可以用于留后门,比如赋予某个用户创建GPO ,以及链接到域的权限,那么这个用户其实就等效于域管了。或者赋予某个用户拥有对某条GPO修改的权限,比如拥有修改Default Domain Policy的权限,那么这个用户就可以授予别的用户SeEnableDelegationPrivilege的权限,这个后门相对比较灵活,大家可以自己扩展。

参考文献:https://www.anquanke.com/post/id/203151#h3-6

如侵权请私聊公众号删文