返回
Featured image of post 组策略相关

组策略相关

go!

组策略相关

本地组策略和域内组策略

  • Server Manager 的组策略管理工具:主要用来管理本地内的组策略

  • 更专业的组策略管理工具GPMC:可以管理多个域

  • 组策略分作主机策略和用户策略,machine和users目录; 脚本类型和非脚本类型, script目录

域服务器如何存储组策略

存储在服务器中,\domain\sysvol\policies,以明文方式存储为xml、ini、inf等文件。对域内所有用户开放读权限

组策略更新

  • 客户端每90分钟主动获取一次组策略,检查组策略是否发生变更
  • 客户端使用gpupdate /force强制立即检查组策略;参数可以分为主机和用户,gpupdate /force /target:computer

组策略的下发与获取

组策略的查询原理:

LDAP检索所有的组策略,哪些是属于自己的,服务器决定需要返回哪些策略(版本号是决定的重要因素)

过程:

  • Kerberos协议认证
  • LDAP协议去查询
  • SMB协议去获取并下发

组策略中的口令明文

某些场景下,需要批量给域内主机改口令、添加共享磁盘等,因此会编写一些脚本去做,比如VB脚本,而执行上述某些功能(VB脚本中的操作)是需要域管理员的口令,为了以脚本形式批量操作,会把口令明文直接放在脚本中。

在2008、12、16等,已经不存在这种明文形式了,因为系统管理方式发生变化。

组策略中的口令密文

微软收购"PolicyMaker",在Win 2008中发布了GPP(Group Policy Preferences)。对于某些仍然需要用户凭证的场景,例如下列,GPP实现会在xml等文件中留下口令经AES加密过后的密文。

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

最关键的是,经研究发现,其所使用的AES加密密钥是固定不变的,即所有涉及这些场景口令的加密密钥都是一样的:

因此,本地所存放的密文等同于明文。

PowerSploit中提供GET-GPPPassword模块去获取组策略中的口令:

2008上仍然有效,由于存在这样的问题,微软在2012、2016已经取消GPP这种方式。

组策略攻击客户端

背景

当域内某**客户端开启防火墙,或者关闭Server服务(445端口)**后,攻击者则无法直接进入域内某客户端。这时候可尝试通过组策略攻击客户端。

组策略更新

  • 当一个客户端登录进域后,它会查询自己所在组是否有组策略更新,如果有更新就会执行更新内容,比如执行脚本等。

  • 使用gpupdate命令强行主动更新组策略

利用

因此在拿到域控制权后,而无法直接进入域内客户端情况下,可以更改目标客户端用户的组策略,以实现:用户登录时,下载恶意文件并执行,以取得控制权

思考:为啥不直接改策略把445开启?是因为445开启相关的组策略不是启动更新,必须强制更新?

Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy