内网渗透
01基础知识
02域环境的搭建
03工作组权限
04域内权限
05Windows本地认证
06网络认证
07Kerberos协议
08工作组的信息搜集
09域内的信息搜集
10工作组的密码抓取
11域内的密码抓取
12Dcsync原理以及攻击
13RDP密码凭证抓取
14横向移动概述
15IPC$横向移动
16PTH哈希传递
17PTK密钥传递
18PTT票据传递
19PSexec进行横向移动
20SMBexec进行横向移动
21利用WinRM服务进行横向移动
22利用WMI进行横向移动
23用户枚举与喷洒
24用户枚举与喷洒-实验
25Roasting攻击
26Kerberoasting
27黄金票据
28黄金票据-实验
29白银票据
30白银票据-实验
31委派概述
32非约束性委派攻击
33约束性委派攻击
34约束性委派攻击-实验
35基于资源的约束性委派
36基于资源的约束性委派-实验
-
+
首页
35基于资源的约束性委派
## 概述 微软在Windows Server 2012中新引入了基于资源的约束性委派(Resource Based Constrained Delegation),简称RBCD。 基于资源的约束性委派将不需要通过域管理员进行修改,而是将设置属性的权限给了服务资源本身。 以WEB服务器和文件服务器为例,传统的约束性委派需要在WEB服务器上设置委派属性,以指定对文件服务器上的哪一个服务进行委派。而在基于资源的约束性委派中,需要在文件服务器上设置资源委派,以允许WEB服务器对文件服务器上的服务进行委派。  ## 设置方式 基于资源的约束性委派中,属性值为msDS-AllowedToActOnBehalfOfOtherIdentity,但是这是值任何用户都不能修改。  WEB服务器的机器名为zhangsan.xbxaq.com,文件系统服务器的机器用户名为server-16.xbxaq.com 登录server-16.xbxaq.com计算机,以administrator的身份登录计算机,打开powershell执行如下的命令进行修改msDS-AllowedToActOnBehalfOfOtherIdentit 1、设置变量值 ``` $SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WEB服务器的SID值)"; ``` ``` $SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-1445356431-3472965171-1941165345-1104)"; ```  2、转换为16进制 ``` $SDBytes = New-Object byte[] ($SD.BinaryLength); $SD.GetBinaryForm($SDBytes,0); ``` 3、设置RBCD 导入Powerview.sp1脚本,执行以下命令 ``` Import-Moudle .\Powerview.sp1 Get-DomainComputer 设置委派的机器名 | Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes} -Verbose ``` ``` Get-DomainComputer server-16.xbxaq.com | Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes} -Verbose ```  设置成功 4、清除RBCD ``` Set-DomainObject 设置委派的机器名 -Clear 'msds-allowedtoactonbehalfofotheridentity' -Verbose ``` ``` Set-DomainObject server-16.xbxaq.com -Clear 'msds-allowedtoactonbehalfofotheridentity' -Verbose ``` ## 配置RBCD的用户 并不是所有的用户都可以设置RBCD,需要的条件如下: 1. 当机器加入域时使用的账户 2. 计算机的机器用户(system) 3. 域管理员(administrator) 4. Account Operator组中的成员 ### 当机器加入域时使用的账户 在大型内网环境中,将机器加入到域环境中一般不会用到域管权限,而是使用一个专门用来加入域的域用户进行操作。默认情况下,并非只有域管理员才可以将普通用户加入到域环境。 提示:域中的每一个普通账号都有将10台电脑加入域的权限,默认是十台,如果要修改可以更改ms-DS-MachineAccountQuota的值。 用zhong的域内用户使得机器加入域环境中  一旦电脑使用普通的域用户加入了域,在机器的属性中mS-DS-CreatorSID就是加入域用户的 SID值 > 使用zhong用户登录电脑,执行配置RBCD的命令  ### 机器用户 计算机中的机器用户也可以进行配置RBCD,可使用令牌提权到system权限,system权限可以代表机器用户执行RBCD > incognito.exe工具 列出令牌 ``` incognito.exe list_tokens -u ```  如果有system令牌的话如下  > 使用System令牌 ``` incognito.exe execute -c "NT AUTHORITY\SYSTEM" powershell.exe ```  > 配置RBCD  ### 域内管理员 域管理员是可以配置RBCD的  ### Account Operator组中的成员 Account Operators组,该组是内置的本地域组。该组的成员可以创建和管理该域中的用户和组并为其设置权限,也可以在本地登录域控制器。但是,不能更改属于Administrators或Domain Admins组的账号,也不能更改这些组。在默认情况下,该组中没有成员。也就是说,该组默认是域内管理用户和组的特殊权限组。可以创建和管理该域中的用户和组并为其设置权限,也可以在本地登录。  > 默认情况下成员为空  > 添加一个成员到Account Operators组中  > 使用liming账户配置RBCD  ## S4U协议分析 使用Rubeus.exe工具,伪造可任意用户登录 ``` Rubeus.exe s4u /user:用户名 /rc4:对应的hash值 /domain:域名 /msdsspn:伪造的服务/委派机器名 /impersonateuser:伪造的用户 /ptt ``` 注意:可以伪造任意服务,因为没有指定服务 ### 环境准备  > server 2012 dbcd.xbxaq.com设置委派  目前已经控制yh机器,并得知rbcd机器设置了基于资源性的约束性委派 1、使用mimikatz工具获取yh机器用户的hash值  2、Rubeus.exe工具 ``` Rubeus.exe s4u /user:YH$ /rc4:5bc6dac2ad6010504b722258ff8ff3e7 /domain:xbxaq.com /msdsspn:CIFS/rbcd.xbxaq.com /impersonateuser:administrator /ptt ```   ### 流量分析 执行Rubeus工具相关命令后共有六条kerberos数据  > 第一条 AS-REQ YH$用户提供自己的身份信息,请求自己的TGT(该TGT是可以转发的)  可以转发的TGT  > 第二条数据 AS-REP 返回YH用户的TGT票据  > 第三条数据 TGS-REQ 使用上一步得到的YH$票据(在数据包内),以administrator的身份向TGS申请一张访问自身的ST票据  > 第四条数据 TGS-REP TGS返回给给YH$用户一张 administrator用户访问自身的ST票据  > 第五条数据 TGS-REQ YH$得到ST票据之后,以该ST票据为证据,申请一张administrator用户访问RBCD机器的CIFS服务的ST票据(可以申请任意服务的ST票据)。这里使用的是S4U2Proxy协议  > 第六条数据 TGS-REP TGS返回YH$用户,以administrator用户身份访问rbcd机器的CIFS服务的ST票据  ## 查询已配置机器 > 查询配置了RBCD的机器账户 ``` AdFind.exe -b "DC=xbxaq,DC=com" -f "(&(samAccountType=805306369)(msDS-AllowedToActOnBehalfOfOtherIdentity=*))" -dn ```  > 查询已配置RBCD的域账户 ``` AdFind.exe -b "DC=xbxaq,DC=com" -f "(&(samAccountType=805306368)(msDS-AllowedToActOnBehalfOfOtherIdentity=*))" -dn ```  > 查询机器是由哪个用户加入到域中的(查询的是SID值) ``` AdFind.exe -b "DC=xbxaq,DC=com" -f "objectClass=computer" mS-DS-CreatorSID ```  > 通过SID值查询用户 ``` AdFind.exe -sc adsid:S-1-5-21-1445356431-3472965171-1941165345-1111 -d ``` 
毛林
2025年9月7日 11:39
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码