Kerberoasting:不是偷密码,而是让服务器把谜题交给你

在企业内网里,很多服务不是用普通账号跑的,而是挂在一个“服务账号”下面,比如数据库、文件共享、内部系统。Windows 域里的 Kerberos 会用一张叫 Service Ticket 的票据证明“我可以访问这个服务”。问题出在这里:任何已经登录域的普通用户,通常都能向域控请求某个服务的票据。

这听起来很正常,因为访问服务前本来就要拿票。但 Kerberoasting 的关键是,票据里有一部分内容会用服务账号的密码哈希加密。攻击者不需要马上破解域控,也不需要在线爆破登录,只要把这张票据拿走,就可以离线慢慢猜服务账号密码。猜中了,服务账号就归他了。

这类攻击可怕的地方不在“技术很玄”,而在它利用的是正常流程。域控看见的是一个合法用户在请求合法票据,日志里不会像暴力登录那样一眼炸开。真正糟糕的是很多服务账号密码又长年不换,还为了兼容老系统设置得很弱,于是攻击者拿到票据后,在自己机器上安静地跑字典,没人被锁号,没人被打扰。

防御的核心也不复杂:服务账号密码必须长、随机、不可复用;能用 gMSA 这种自动轮换的托管服务账号,就不要手写一个“永不过期”的密码;同时监控异常的 TGS 请求,尤其是一个普通用户突然请求大量服务票据。

💡 核心记忆:Kerberoasting 不是绕过 Kerberos,而是把 Kerberos 的正常票据机制变成离线猜密码的入口。真正的漏洞常常不是协议坏了,而是服务账号密码太烂、轮换太少、监控太迟。

#Security