本节将讨论 Active Directory 中组策略,是 AD 重要元素之一。我们将介绍以下概念:
什么是 Active Directory 为什么组战略需要使用组战略来实现什么?创建团队战略的目的是集中管理整个过程Active Directory操作系统、用户和计算机在域内。允许我们遵循这些策略GPMC(Group Policy Management Console)集中控制台管理用户和计算机设置。
输入运行gpmc.msc可以打开GPMC
<img src="https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202204021531958.png" alt="image-20220402153139847" style="zoom:50%;" />
# 2.组织战略对象(Group Policy Objects)GPO(组战略对象)包括组战略设置和文件系统 Active Directory 策略设置相关文件描述。如上图所示,组战略对象容器下只有两个GPO。如上图所示,组战略对象容器下只有两个GPO。这两个核心是在创建域时自动创建的GPO。
# Default Domain Policy(默认域策略)根据密码策略,默认策略Kerberos域内所有用户和计算机都定义了一组基本设置策略和账户锁定策略。
# Default Domain Controllers Policy(默认域控制器策略)默认域控制器策略定义了域内所有域控制器的基本安全和审核设置。
组策略对象是一组组合并应用于计算机或用户对象的策略。
# 3、Group Policy Management Editor(组战略管理编辑器)输入运行gpedit.msc组策略管理编辑器可以打开。可用于编辑组策略。如您所见,策略设置分为计算机配置和用户配置两类。
# 计算机配置若在计算机配置下指定GPO如果设置并应用于特定的计算机对象,则计算机对象将在计算机启动和关闭时具有指定的安全设置、系统行为、应用程序设置和执行脚本,并登录到应用程序中GPO计算机用户无关。
# 用户配置在用户配置下定义的策略定义了特定的系统行为、应用程序设置、安全设置、应用程序分配和发布、用户登录和取消脚本和文件夹定位。为特定用户定义策略的,将适用于用户登录的任何系统。
**注意:**计算机配置下定义的策略将涵盖用户配置下定义的策略。
创建 GPO 之后需要链接到一个或多个 AD 例如,链接到整个域或特定域的容器 OU(组织单位)生效。例如,如果您想创建一个小组策略来授予数据库管理员团队的所有成员访问SQL所需共享文件夹的权限GPO必须只链接到DBAdmins OU。
# 4、常见的GPO使用不同类型的任务,如某些配置:
安全策略(如禁用 NTLM 身份验证)和自定义策略(如限制普通用户访问命令提示符)IT策略,如限制对USB登录驱动器的访问和配置banner向用户显示法律通知等。例如,高级审计和合规策略, Windows 审计策略用于重要对象的审计,并在事件查看器中记录建议 Windows 事件 ID 等。用于处理密码喷射攻击的域内复杂密码策略。在多台计算机/服务器上部署标准工具、映射网络驱动器、登录/注销任务等自动化策略。【-全网最完整的网络安全学习资料包与爱学习的你分享,关注我,私信回复获取信息-
1.从多个方向学习网络安全路线
2.全网最全CTF入门学习资料
3.分享一线老板的实战经验笔记
4.网安大厂面试题集合
5.红蓝对抗实战技术秘籍
6.网络安全基础介绍,Linux、web视频安全和渗透测试
刷新间隔定义了特定域计算机或服务器从域控制器请求组策略更新的时间,确保复制任何组策略中的变化。默认刷新间隔为 90 每台计算机/服务器增加一个随机偏移间隔,防止所有域计算机同时从 DC 请求组策略更新。默认刷新间隔为 90 每台计算机/服务器增加一个随机偏移间隔,防止所有域计算机同时从 DC 请求组策略更新。本系列后面将讨论相关问题 GPO 更多信息。
# 6、SYSVOLSYSVOL是AD其中最重要的网络共享之一是存储组策略模板,默认在域控制器上共享。所有域计算机都访问此共享检查域策略。其默认位置在域控制器中 %SYSTEMROOT%\\SYSVOL\\sysvol。网络上的位置是 \\\\<domain_name>\\SYSVOL。
一个sysvol文件夹由以下部分组成:
脚本(即 GPO 引用的启动脚本和文件,如 .bat、vbs 等)组战略文件夹和模板(复制整个域)连接点(类似快捷方式。一个目录可以指向不同的目录)# SYSVOL Policies folder(SYSVOL战略文件夹)SYSVOL 所有的战略文件夹都包含在内 GPO。每个 GPO 以及文件夹的名称 GPO 的GUID相同。
以下是 SYSVOL 中 Policy 文件夹的组成:
Machine 存储GPO特定的计算机配置User 存储GPO具体用户配置GPT.INI 存储GPO配置DFSR(复制分布式文件系统)SYSVOL默认复制机制的文件夹复制,SYSVOL复制由DFSR完成。
# 7.组战略首选微软引入了一个重要的功能,称为组战略首选,可以帮助存储和使用所有工作站的当地管理员密码,如创建计划任务和更改。这对管理员很有帮助,因为它提供了一种自动化机制(而不是借助脚本),密码不会像脚本那样以明文的形式保存,而是以脚本的形式保存 AES-256 以位加密的形式存储SYSVOL 目录的xml 文件中。这对管理员很有帮助,因为它提供了一种自动化机制(而不是借助脚本),密码不会像脚本那样以明文的形式保存,而是以脚本的形式保存 AES-256 以位加密的形式存储SYSVOL 目录的xml 但后来微软在他们的文件中。 MSDN 私钥发布在门户上,允许解密存储在此创建中 xml 文件中的任何密码。
因为域内每个人都有对的SYSVOL阅读访问权,所以只需要XML文件中找到cpassword并密码。
PowerSploit 的 GPP-Password 工具可以在 sysvol 战略目录xml中搜索 cpassword 并使用字段 Microsoft 解密之前发布的密钥。
PowerSploit项目:https://github.com/PowerShellMafia/PowerSploit
虽然微软后来发布了补丁,禁止了这样输入密码的选项,但如果管理员不删除它XML这个问题仍然存在于文件中,而且密码往往是有效的,所以这是一种有效的攻击方法。
后来,微软使用 LAPS(本地管理员密码解决方案)更改本地管理员密码。
后来,微软使用 LAPS(本地管理员密码解决方案)更改本地管理员密码。
最佳实践:对除系统管理员SYSVOL现有文件夹中有密码GPP XML确保那里没有这样的文件。对于渗透测试者来说,最好的实践是枚举 SYSVOL 寻找战略文件夹中包含的内容 cpassword 的 xml 文件。创造防御者的最佳方法是创造防御者 AD 诱饵包含密码 xml 在有人访问时,没有链接到实际情况,审计策略 GPO 文件夹收到报警。这将在后续文章中详细介绍。# 在域内搜索GPO
检查域内的一切 GPO,可使用以下命令:PS C:\\Users\\Administrator> Get-GPO -All | Select DisplayNameDisplayName-----------Default Domain PolicyDefault Domain Controllers Policy
# 查看GPO的设置Get-GPOReport -Name "<GPO Name>" -Path <Path With File Name> -ReportType "<HTML|XML>"
可以看到XML战略定义格式,比如GPO在使用防火墙规则或操作脚本时会做什么:<Computer> <VersionDirectory>1</VersionDirectory> <VersionSysvol>1</VersionSysvol> <Enabled>true</Enabled> <ExtensionData> <Extension xmlns:q1="http://www.microsoft.com/GroupPolicy/Settings/WindowsFirewall" xsi:type="q1:WindowsFirewallSettings"> <q1:GlobalSettings> <q1:PolicyVersion> <q1:Value>541</q1:Value> </q1:PolicyVersion> </q1:GlobalSettings> <q1:InboundFirewallRules> <q1:Version>2.29</q1:Version> <q1:Action>Allow</q1:Action> <q1:Name>Allow WinRM port 5985 </q1:Name> <q1:Dir>In</q1:Dir> <q1:LPort>5985</q1:LPort> <q1:Protocol>6</q1:Protocol> <q1:Active>true</q1:Active> </q1:InboundFirewallRules> </Extension> <Name>Windows Firewall</Name> </ExtensionData> <ExtensionData> <Extension xmlns:q2="http://www.microsoft.com/GroupPolicy/Settings/Registry" xsi:type="q2:RegistrySettings"> <q2:Blocked>false</q2:Blocked> </
Ex