今日你心思不在,心思不在则气息不在,气息不在则步伐不在,步伐不在,命安在。
文章目录
- kerberos协议
- 主要角色
- 协议工作流程
- 白银票据
- 白银票据伪造条件
- 黄金票据
- 黄金票据伪造条件
- 白银票据和黄金票据哪个危害更大
- 委派攻击
- 非约束性委派
- 约束性委派
- 基于资源的约束性委派
kerberos协议
- Kerberos协议是一种计算机网络认证协议,其设计目标是通过密钥系统为网络中通信的客户机(Client)/服务器(Server)应用程序提供严格的身份验证服务。
- Kerberos是一种基于对称密钥的身份认证协议,它作为一个独立的第三方的身份认证服务,可以为其它服务提供身份认证功能。Kerberos协议以希腊神话中守卫地狱之门的三头犬Kerberos(或Cerberus)命名,寓意该协议需要三方的共同参与才能完成一次认证流程。该协议由麻省理工学院(MIT)提出并开发,目前主流使用的Kerberos版本为2005年RFC4120标准定义KerberosV5版本。Windows、Linux和Mac OS均支持Kerberos协议。
主要角色
- 客户端(Client):发送请求的一方,代表需要访问资源的用户进行操作的应用程序。
- 服务端(Server):接收请求的一方,域内提供服务的服务端,服务端都有一个独一的SPN。
- 密钥分发中心(Key Distribution Center,KDC):一种网络服务,它向活动目录域内的用户和计算机提供会话票据和临时会话密钥。KDC作为活动目录域服务(ADDS)的一部分运行在每个域控制器上,包括认证服务器(AS)和票据授予服务器(TGS)两部分。
协议工作流程
图片来源(我超爱的万里老师讲内网,我听过最通俗易懂的Kerberos协议讲解,点我跳转万里老师b站视频)
通过上图,我们可以看出具体的协议实现步骤主要分为三步:
- 第一次通信:客户端用户向KDC以明文的方式发起请求,携带自己的用户名、主机IP和当前时间戳。KDC中的AS接收请求后,去Kerberos认证数据库中根据用户名查找是否存在该用户。如果存在,则AS会返回给客户端两部分内容:一是票据授予票据(TGT),客户端需要使用TGT去KDC中的TGS获取访问网络服务所需的服务授予票据(Ticket);二是使用客户端密钥加密的一段内容,包括用于客户端和TGS间通信的会话密钥(Session Key)、客户端即将访问的TGS的名称以及TGT的有效时间,和一个当前时间戳。
- 第二次通信:客户端使用Session Key加密将自己的客户端信息发送给KDC,包括客户端名、IP、时间戳;将自己想要访问的Server服务以明文的方式发送给KDC;将使用TGS密钥加密的TGT也携带给KDC。KDC中的TGS收到请求后,根据客户端明文传输过来的Server服务IP查看当前Kerberos系统中是否存在可以被用户访问的该服务。如果存在,则TGS会生成一张服务授予票据,并返回给客户端。
- 第三次通信:客户端将服务授予票据发送给目标服务端,服务端验证票据的有效性后,向客户端提供服务。
白银票据
伪造第三步中的ST就叫白银票据
白银票据伪造条件
这里关键是我们需要知道server hash的值,这个值一般实在web系统上。
黄金票据
伪造第二步中的TGT就是黄金票据,TGT中的所有东西都可以伪造,只需要你知道krbtgt的HASH加密就可以伪造黄金票据。
黄金票据伪造条件
1.域名称(shell net config workstation)
2.域的SID(shell whoami/user)
3.域的KRBTGT账号的HASH(lsadump::dcsync/domain:test.com/all/csv)
4.伪造任意用户名(随便写)
白银票据和黄金票据哪个危害更大
黄金票据攻击的核心在于利用Kerberos认证过程中的漏洞,通过伪造高权限的票据(Ticket Granting Ticket,TGT)来获取对域内任意服务的访问权限。由于krbtgt账户的密码在域环境中通常不会更改,因此黄金票据具有极高的持久性。一旦攻击者成功实施黄金票据攻击,他们将能够持续控制域环境,并访问敏感资源和服务,甚至可能导致整个域环境的瘫痪。这种攻击方式隐蔽性强,难以被检测和防范,因此给组织带来了严重的安全威胁。
相比之下,白银票据的危害程度虽然也较高,但通常无法直接绕过系统保护机制或获取超级管理员权限。白银票据是攻击者通过获取受害者系统中的普通凭证,然后利用这些凭证将自己伪装成普通用户并以用户权限运行,从而获取受害者系统中一部分敏感资源或特权操作的方式。虽然白银票据无法像黄金票据那样直接控制整个域环境,但仍然可能对目标系统造成损害,如窃取敏感数据、破坏系统正常运行等。
所以黄金票据在危害程度上通常被认为比白银票据更大,因为它能够直接控制整个域环境并访问敏感资源和服务。
委派攻击
Kerberos协议中的委派攻击是一种利用Kerberos认证机制中的委派功能进行的攻击方式。委派是大型网络中经常部署的应用模式,它允许将域内用户的权限委派给服务账户,使得服务账户能以用户权限访问域内的其他服务。然而,这种机制同时也带来了安全隐患,攻击者可以利用委派功能结合其他漏洞进行组合攻击,从而获取本地管理员权限甚至域管理员权限。
非约束性委派
对委托的对象没有做任何的限制。如果黑客控制了web系统,那他可以在不知情的情况下访问域内的所有主机/服务,非常危险。
约束性委派
约束委派是为了解决非约束委派的安全问题而引入的。在约束委派中,服务账户只能获取特定用户的TGT,并只能模拟该用户访问指定的服务。
攻击者需要找到配置了约束委派的服务账户,并确定该账户可以访问的特定服务和用户。
通过利用S4U(Service for User to Self/Proxy)扩展,攻击者可以代表特定用户请求访问指定服务的票据,并模拟该用户执行操作。
基于资源的约束性委派
基于资源的约束委派是另一种形式的委派,它允许服务账户直接请求访问特定资源的票据,而无需通过KDC(Key Distribution Center)进行额外的票据授予服务(TGS)请求。
攻击者需要找到配置了基于资源的约束委派的服务和资源,并确定它们之间的依赖关系。
通过直接请求访问资源的票据,攻击者可以绕过正常的认证流程,获取对敏感资源的访问权限。