RBCD深度利用之“烂番茄”
字数 1830 2025-08-12 11:34:00
基于资源的约束委派(RBCD)深度利用指南
1. RBCD基础概念
1.1 RBCD简介
基于资源的约束委派(Resource-Based Constrained Delegation, RBCD)是Windows Server 2012及更高版本支持的一种委派机制,与非约束委派和约束委派相比有以下关键区别:
- 配置权限下放:RBCD将设置权限赋予计算机本身,计算机可以自主决定谁可以委派控制它
- 无需管理员干预:计算机可以直接在自己的账户上配置
msDS-AllowedToActOnBehalfOfOtherIdentity属性来设置RBCD - 更细粒度控制:委派关系存储在资源账户上,而非客户端账户上
1.2 核心协议:S4U2Self和S4U2Proxy
S4U2Self
- 作用:获取标识任意用户身份的ST(Service Ticket)
- 使用场景:当用户使用非Kerberos协议登录网站时,解决协议转换问题
- 本质:服务器可以使用它向KDC请求一张用户身份的ST,即使该用户未通过Kerberos认证
S4U2Proxy
- 作用:使用用户身份的ST向KDC请求访问另一服务的ST
- 工作流程:服务器利用用户ST获取访问目标服务的ST,保持用户身份不变
2. RBCD关键属性分析
2.1 msDS-AllowedToActOnBehalfOfOtherIdentity
-
默认状态:LDAP中不可见,需单独配置
-
属性值格式:
O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;[被委派用户的SID])示例:
D:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-5199876-230042057-2391242617-1113) -
安全含义:配置此属性意味着计算机完全信任被委派的用户
2.2 配置权限
可以修改msDS-AllowedToActOnBehalfOfOtherIdentity值的账户:
- 机器账户本身
mS-DS-CreatorSID属性对应的账户(即创建该计算机账户的用户)
3. RBCD攻击利用详解
3.1 攻击步骤
-
创建计算机账户
- 连接域控LDAP创建新的计算机账户(如
xiaolongxia)
- 连接域控LDAP创建新的计算机账户(如
-
设置RBCD属性
- 通过LDAP协议在目标计算机(如
sr)上设置msDS-AllowedToActOnBehalfOfOtherIdentity属性值为新建计算机账户的SID
- 通过LDAP协议在目标计算机(如
-
获取TGT
- 使用新建计算机账户(
xiaolongxia)的凭据获取TGT(Ticket Granting Ticket)
- 使用新建计算机账户(
-
S4U2Self请求
- 使用获取的TGT代表管理员(如
administrator)获取ST
- 使用获取的TGT代表管理员(如
-
S4U2Proxy请求
- 使用S4U2Self获取的ST作为验证信息,请求访问目标计算机CIFS SPN的ST票据
-
权限提升
- 使用获取的ST票据访问目标计算机资源,实现权限提升
3.2 数据包分析要点
-
TGT获取数据包
- 显示使用新建计算机账户凭据获取TGT的过程
-
S4U2Self数据包
- TGT放在
TGQ-REQ -> padata -> PA-DATA PA-TGS-REQ ->padata-value->ap-req结构体中 - 获取的ST由新建计算机账户的hash加密
- ST身份为目标用户(如administrator),但由新建账户加密
- TGT放在
-
S4U2Proxy数据包
- 使用S4U2Self获取的ST请求访问目标服务的ST
4. 攻击面分析
4.1 常见可利用场景
-
域加入账户被控
- 企业可能有专门账户用于将新计算机加入域
- 该账户通常只有普通域用户权限
- 控制此账户可攻击其创建的计算机
-
多设备用户账户
- 域用户可能在域中创建多台计算机(如笔记本和台式机)
- 控制该用户可攻击其
mS-DS-CreatorSID指向的所有计算机
4.2 防御建议
-
监控计算机账户创建
- 特别关注普通用户创建的计算机账户
-
限制
mS-DS-CreatorSID权限- 审查并限制创建计算机账户的用户权限
-
审计RBCD配置
- 定期检查
msDS-AllowedToActOnBehalfOfOtherIdentity属性配置
- 定期检查
-
实施最小权限原则
- 限制普通用户创建计算机账户的能力
5. 技术总结
RBCD攻击的核心在于利用计算机账户自配置委派关系的特性,通过控制创建计算机账户的权限或计算机账户本身,设置恶意委派关系,最终获取高权限服务的访问权限。这种攻击方式在域渗透中特别有效,因为它:
- 不需要域管理员权限
- 可以横向移动到其他系统
- 利用的是Windows设计特性而非漏洞
理解RBCD机制对于红队攻击和蓝队防御都具有重要意义。