域渗透协议 详解之 : Kerberos 看看就明白是什么玩意了

什么是Kerberos

Kerberos常规知识点

kerberos 主要含有三个角色

Krbtgt账户

​​​​​​Krbtgt认证模块

PAC


什么是Kerberos

  • Kerberos是MIT开发的网络身份验证协议,主要的优势是可提供强大的加密和单点登录sso机制。 
  • 作为一种可信任的第三方认证服务,Kerberos通过传统的密码技术实现不依赖于主机操作系统认证。 
  • Kerberos  主要的作用使用密钥加密技术为客户端/服务端应用程序提供强制身份。
  • 不需要基于主机地址的信任,不要求网络上传送的数据包可。以被任意读取,修改和插入的情况下保证通讯安全。 
  • Windows Linux Mac OS 均支持 Kerberos协议

Kerberos常规知识点

kerberos 主要含有三个角色

  1. 访问服务的客户端
  2. 提供服务的服务端 - spn【服务主体名称】
  3. 提供认证服务的KDC -【KDC{密钥分发中心}是一种网络服务】
    • 向活动目录域内的用户和计算机提供会话票据和临时会话密钥 其中服务账户是krbtgt。
    • KDC作为活动目录域服务的一部分运行在每个域控服务器上。

Krbtgt账户

  • 用户实在创建活动目录时系统自动创建一个账户,起到的作用是KDC的服务账户,密码是随机生成的,且无法登录上主机。 
  • Kerberos是一种基于票据的认证方式
    • 客户端想要访问服务的某个服务,首先购买服务任何的st【service Ticket 服务票据】,也就是说客户端在访问服务之前需要购买好票。
    • 但是这个票不是随便能购买的,需要一张TGT 认购权证
    • 和TGT和ST均是KDC发放的,因为KDC运行在域控上,所以TGT和ST均是由域控发放的。  
    • 88端口 是kerberos 进行认证。
    • 464端口 是kerberos 密码重新设置的。

​​​​​​Krbtgt认证模块

  • AS_REQ&AS_REP 和  TGS_REQ&TGS_REP
  • S4U 和 PAC 
    • PAC 在域中不同权限的用户能够访问的资源是不同的,所以微软为了解决这个问题引入了PAC 特权属性证书                    

PAC

  • PAC包含各种授权信息 附加凭证信息 配置文件和策略信息等。 
  • 由于域中不同权限的用户能够访问的资源是不同的,所以微软涉及了PAC来辨别用户的身份和权限。 
  • 在一个正常的Kerberos认证流程中,KDC返回的TGT和ST中都是带有PAC的
    • 这样的好处就是服务端在接收到客户端请求的时候不在需要借助KDC提供的完整授权信息来完成对用户权限的判断。
    • 而只需要根据请求中包含的PAC信息直接于本地资源的ACL相比较来做出裁决。
  • PAC凭证: Logon Info类型的PAC_LOGON_INFO 包含Kerberos票据客户端的票据信息。
  • PAC签名: PAC中包含两个数字签名: PAC_SERVER_CHECKSUM和PAC_PRIVSVR_CHECKSUM
    • PAC_SERVER_CHECKSUM 使用服务密钥进行签名 
    • PAC_PRIVSVR_CHECKSUM 使用KDC签名
      • PAC_SERVER_CHECKSUM 存在带有服务密钥的签名,以此验证此已有PAC已服务签名
      • PAC_PRIVSVR_CHECKSUM  存在带有KDC的签名为了防止不信任的服务用无效的PAC为自己伪造票据
  • PAC在Kerberos中的优缺点: 服务端不需要向KDC查询授权信息,而是直接从本地进行PAC信息于ACL的相互比较从而节约了网络资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值