kerberos认证及黄金票据与白银票据

目录

kerberos认证

1、名词解释:

2、域认证过程:

3、单主机认证过程:

黄金票据

1、Kerberos黄金票据攻击的步骤

2、防御措施

3、常见的工具

4、总结

白银票据

1、Kerberos白银票据攻击的步骤

2、白银票据攻击的优缺点

2.1、优点:

2.2、缺点:

3、防御措施

4、常见的工具

5、总结


kerberos认证

1、名词解释:

KDC(Key Distribution Center)密钥分发中心
KDC是由两部分组成:AS(Authentication Service)身份验证服务和TGS(Ticket Granting Service)票据授权服务
AD(Account Database)账户数据库

2、域认证过程:

在域条件下,Kerberos认证过程通常涉及到三个主体:客户端(Client)、密钥分发中心(Key Distribution Center,KDC)和服务服务器(Service Server)。以下是Kerberos在域条件下的认证过程:

  1. 客户端向KDC的AS认证服务器发送TGT认购权证请求,客户端发送AS-REQ包
  2. 认证服务器验证客户端的身份,并生成一个称为票据授予票据(Ticket Granting Ticket,TGT)的凭证,并使用客户端与认证服务器之间共享的密钥进行加密。
  3. 认证服务器将TGT发送给客户端,AS服务端发送AS-REP包
  4. 客户端收到TGT后,使用自己的密码对TGT进行解密,并将其保存以备后续使用,这里将解密后的TGT称为票据授予授予票据(Ticket Granting Grant,TGG)。
  5. 客户端向TGS发送请求ST服务票据,请求访问特定服务。请求中包含TGG和目标服务的标识。客户端发送TGS-REQ包。
  6. TGS验证客户端的身份和TGG的有效性,如果通过验证,则生成一个称为服务票据(Service Ticket)的凭证,并使用TGS与目标服务之间共享的密钥进行加密。
  7. TGS将服务票据发送给客户端。TGS服务端发送TGS-REP包。
  8. 客户端收到服务票据后,再次向目标服务发送请求,请求中包含服务票据。
  9. 目标服务验证客户端的身份和服务票据的有效性,如果通过验证,则向客户端授予访问权限。

在这个过程中,Kerberos通过票据的颁发和加密机制实现身份认证和安全通信,确保通信双方的身份真实性和数据的保密性。这种基于票据的认证方式在域条件下提供了更高的安全性和灵活性。

3、单主机认证过程:

在没有域条件下,单主机认证过程通常采用基于主机和用户之间共享的密钥进行认证。具体而言,在Kerberos协议中,单主机认证过程可以简化为以下步骤:

  1. 用户向主机发送身份验证请求。
  2. 主机生成一个随机数,称为票据授予票据(Ticket Granting Ticket,TGT),并使用用户与主机之间约定的密钥对TGT进行加密。
  3. 主机将TGT发送给用户。
  4. 用户收到TGT后,使用自己的密码对TGT进行解密,并获得一个称为票据授予授予票据(Ticket Granting Grant,TGG)的凭证。
  5. 用户再次向主机发送请求,但这次请求是使用TGG进行加密,证明用户确实知道密码并且是合法用户。
  6. 主机收到TGG后,验证其有效性,如果通过验证,则向用户授予访问权限。

在这个过程中,用户和主机之间通过共享的密钥进行身份认证,保证了通信双方的身份真实性和数据的机密性。虽然这种单主机认证方式相对简单,但仍然能够提供一定程度的安全性保障。


黄金票据

Kerberos黄金票据(Golden Ticket)是指一种高级的攻击技术,利用 Kerberos 认证协议中的漏洞,允许攻击者在获得域控制器的 Kerberos 服务帐户(krbtgt)的哈希值后,生成伪造的 Kerberos 票据授予票据(TGT)。这种伪造的 TGT 可以被用来访问域中的任意资源,甚至可以授予自己域管理员权限,通常在渗透测试和高级持续性威胁(APT)攻击中被使用。

1、Kerberos黄金票据攻击的步骤

  1. 获取 krbtgt 哈希值:攻击者首先需要获得域控制器的 krbtgt 帐户的 NTLM 哈希。这通常通过特权提升或利用其他漏洞实现。
  2. 生成伪造的 TGT:一旦攻击者拥有 krbtgt 的哈希值,他们可以使用工具(如 Mimikatz)生成伪造的 TGT,这个票据包含攻击者想要的所有权限。
  3. 使用伪造的 TGT:攻击者将伪造的 TGT 注入他们的会话中,使得他们能够以任何用户的身份,甚至是域管理员的身份,访问域中的资源。

2、防御措施

  1. 定期更改 krbtgt 密码:定期更改 krbtgt 帐户的密码(推荐每6个月更改一次)可以使得攻击者难以长时间利用已获得的哈希值。
  2. 增强监控和日志记录:监控域内的认证事件和票据使用情况,可以帮助检测异常活动。例如,使用 SIEM(安全信息和事件管理)系统来检测可疑的票据活动。
  3. 最小化特权帐户的使用:尽量减少特权帐户的使用,并实施严格的访问控制和多因素认证(MFA)。
  4. 分段网络:分段网络可以限制攻击者横向移动的能力,使得即便攻击者获得了一个黄金票据,他们也无法轻易访问整个网络。
  5. 安全补丁管理:及时更新和修补操作系统和应用程序的安全漏洞,防止攻击者利用已知漏洞获得初始访问权限。

3、常见的工具

Mimikatz:一个强大的开源工具,允许用户在 Windows 平台上执行多种安全测试,包括黄金票据的生成和使用。

4、总结

Kerberos 黄金票据攻击是一个强大且隐蔽的攻击技术,给攻击者提供了极大的控制权和持久性。为了防范此类攻击,组织需要实施多层次的安全策略,包括加强帐户管理、监控和日志记录、网络分段以及及时的安全更新和补丁管理。

白银票据

Kerberos白银票据(Silver Ticket)是另一种与Kerberos认证协议相关的高级攻击技术。与黄金票据不同,白银票据允许攻击者针对特定服务进行身份验证,而不需要域控制器的krbtgt帐户的哈希值。相反,白银票据利用的是目标服务帐户的哈希值。

1、Kerberos白银票据攻击的步骤

获取服务帐户哈希值:攻击者首先需要获得目标服务帐户的哈希值,这通常通过特权提升、密码抓取工具(如Mimikatz)或其他漏洞利用来实现。

生成伪造的服务票据:使用获得的服务帐户哈希值,攻击者可以生成伪造的Kerberos服务票据(TGS,Ticket Granting Service)。这个伪造的票据只对特定服务有效,而不需要krbtgt的哈希值。

使用伪造的TGS:攻击者将伪造的服务票据注入他们的会话中,使得他们能够以特定用户的身份访问该服务,例如文件共享、数据库或Web服务。

2、白银票据攻击的优缺点

2.1、优点:

隐蔽性:白银票据攻击不需要与域控制器交互,因此很难被检测到。
精确性:可以针对特定服务进行攻击,而不需要获得整个域的控制权。

2.2、缺点:

限制性:只能访问特定服务,而不能像黄金票据那样访问域中的所有资源。

3、防御措施

  1. 保护服务帐户:确保服务帐户密码复杂且定期更改,限制这些帐户的权限,使用组管理服务(GMSA)帐户来减少暴露面。
  2. 增强监控和日志记录:监控服务帐户的使用情况和Kerberos认证事件,特别是异常的票据请求和使用。
  3. 实施多因素认证(MFA):对关键服务和特权帐户启用多因素认证,增加攻击者的难度。
  4. 使用端点检测和响应(EDR)工具:部署EDR工具来检测和响应端点上的可疑活动,包括使用伪造票据的迹象。
  5. 分段网络和最小特权原则:通过网络分段限制攻击者横向移动的能力,并实施最小特权原则,确保帐户只有执行其职能所需的最低权限。

4、常见的工具

Mimikatz:可以用于提取服务帐户哈希值并生成白银票据。

5、总结

Kerberos白银票据攻击是一种针对特定服务的强大攻击技术,利用服务帐户的哈希值生成伪造票据进行未经授权的访问。为了防范此类攻击,组织需要加强服务帐户管理、实施多层次的安全防护措施,并利用高级检测工具来识别和应对潜在威胁。

本文章对kerberos的讲解只有大概,详细请移步此链接AS_REQ & AS_REP | windows protocol (gitbook.io)

  • 29
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值