深入理解 Kerberos 协议 (下)
AS_REQ 阶段的安全问题
Pass-the-hash && Pass-the-key
Pass-the-hash 是指攻击者通过捕获密码的 ntlm hash ,然后将其传递来进行 NTLM 身份验证,以此来横向其它网络系统
在攻击过程中,第一步就是获取 ntlm hash,这里用 mimikatz 来获取:
|
|

获取到域管理员的 ntlm hash 后,就可以凭借该 ntlm hash 登陆域控,这里用 psexec 来完成:
|
|

为了证明 Pass-the-hash 的过程中依赖于 NTLM 身份认证,我们进行抓包,发现 Pass-the-hash 确实依赖于 NTLM 身份认证

除了 psexec 外,还可以用 mimikatz 实现 Pass-the-hash,如下:
|
|


不过用 mimikatz 实现的 Pass-the-hash 并非依赖于 NTLM 身份认证,而是利用 kerberos 协议凭借已获得的 NTLM 哈希来获取 TGT 票据,这种技术已经超过了一般的 Pass-the-hash,通过被称为 Overpass-the-hash 或 Pass-the-key
Pass-the-key 这种技术就是伪造了 kerberos 协议中的 AS_REQ 过程,进而获取到某个用户的 TGT 票据,然后就可以利用 TGT 票据来做想要做的事情,比如:对上面 Pass-the-key 的相关操作进行抓包
尽管我们并没有抓到 AS_REQ 的请求,但是抓到了 TGS_REQ 和 SMB2 中的 AP_REQ

并且在 AP_REQ 中请求的服务是文件共享服务 CIFS

在 kerberos 的 AS_REQ 过程中,经常会用 eTYPE-AES256-CTS-HMAC-SHA1-96(18) 或 eTYPE-ARFOUR-HMAC-MD5(23) 这两种加密方式将用户明文加密成 hash,然后将该 hash 作为密钥
-
eTYPE-AES256-CTS-HMAC-SHA1-96(18) :表示 AES 加密类型
-
eTYPE-ARFOUR-HMAC-MD5(23) :其中 ARFOUR 为 RC4 加密类型的标志,故表示 RC4 加密类型
通过 sekurlsa::ekeys 列出 kerberos 协议的加密密钥后,发现 RC4 加密密钥其实就是 ntlm hash,如下:

这里发现域管理员支持的加密密钥只有 RC4 一种,但我们发现 webadmin 用户除了 RC4 外,还支持 AES256 的加密密钥,如下:

所以,我们可以利用 webadmin 用户对应的 AES256 加密密钥来伪造 AS_REQ 过程,进而获取对应的 TGT 票据
|
|
参考:
https://blog.gentilkiwi.com/securite/mimikatz/overpass-the-hash
https://blog.netwrix.com/2022/10/04/overpass-the-hash-attacks/
用户枚举 && 密码喷洒
可以根据响应包返回码枚举用户名,已知用户名后,可以爆破密码

登陆一个不存在的域用户,响应包如下

登陆一个存在的域用户,但密码错误,响应包如下:

AS_REP 阶段的安全问题
AS-REP Roasting
在 深入理解 Kerberos 协议 (上) 中我们提到过 “KRB Error: KRB5KDC_ERR_PREAUTH_REQUIRED” 问题和预认证有关,在 kerberos5 之前,允许不使用密码进行身份认证,在 kerberos5 加入了预认证,必须要求使用密码进行身份验证,但是我们可以关闭预认证

关闭预认证后,用 mary 用户进行登陆,即使没有密码也可以获得 AS_REP 响应包

然后我们可以获得 AS_REP 中 enc-part 下的 cipher 值,因为这个值是采用用户密码 hash 作为密钥来加密 SessionKey-AS,所以可以用 hashcat 离线破解拿到用户明文密码,具体方法参考 windows-protocol

黄金票据
在 AS_REP 里 ticket 下的 encpart 是使用 krbtgt 的 hash 进行加密的,如果我们拥有 krbtgt 的 hash,就可以给我们自己签发任意用户的 TGT 票据,这个票据也被称为黄金票据
伪造黄金票据总共需要如下内容:
-
要伪造的域用户,一般是域管理员
-
域名
-
域的 SID
-
krbtgt 用户的 hash
这里伪造黄金票据为啥需要域的 SID 呢 ?不是很理解,后续理解了再进行补充
关于具体如何伪造黄金票据,网上有大量文章
MS14-068
PAC
在了解 MS14-068 之前,首先要了解 PAC,
SPN
Kerberoasting
委派攻击
参考文章
https://buaq.net/go-87488.html
微信