01 03 2020

Kerberos网络身份认证协议

Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客 户机 / 服务器应用程序提供强大的认证服务。

  • Kerberos的三大要素:
    client、server、KDC
  • 对于KDC,这是我自己理解画的草图
    xy.png

个人理解:
密钥分发中心 KDC(Key Distribution Center)
KDC(Key Distribution Center) = DC(Domain Controller)
是客户端和服务器都信任的第三方实体
它提供密码管理功能
它负责维护安全主体的账户信息,包括密钥
它负责kerberos协议中的密钥分发职责

KDC由认证服务和票据授权服务组成:
认证服务AS (Authentication Service):管理安全主体的身份和密钥、对客户身份认证,发放票据授权票据
票据授权服务 TGS (Ticket Granting Service) :票据授权服务主要是进行票据授权票据的确认,确认用户的身份并颁发服务票据。类似于Token一样的一种表明身份的东西。

借用浏览器上常见的草图
xy2.png

  • 根据图上,进行简单的口头化理解:
    1-2. client向kerberos服务请求,希望获取访问server的权限。 kerberos得到了这个消息,首先得判断client是否是可信赖的, 也就是白名单黑名单的说法。这就是AS服务完成的工作,通过 在AD中存储黑名单和白名单来区分client。成功后,返回AS返 回TGT给client。

3-4. client得到了TGT后,继续向kerberos请求,希望获取访问 server的权限。kerberos又得到了这个消息,这时候通过client 消息中的TGT,判断出了client拥有了这个权限,给了client访 问server的权限ticket。
4-5. client得到ticket后,终于可以成功访问server。这个ticket只是 针对这个server,其他server需要向TGS申请。

常见术语

  • TGT
    KDC生成一个用于对称加密的session key,也叫TGT(Ticket-granting Ticket) key。
  • Golden Ticket(黄金票据)
    TGT是由KRBTGT用户生成的,有了该票据你可以访问任何通过kerberos认证的服务,如果我们拿到了该用户的Hash,那么我们就可以伪造TGT,该用户只存在于域控中,所以前提是你要拿到域控的权限。
  • Silver Ticket(白银票据)
    如果我们有服务器上的用户Hash,就可以伪造一个Server-Ticket绕过认证,达到访问服务的目的。白银票据只能访问特定的服务。
延伸阅读
  1. Access数据库防注入系统拿实战shell
  2. 对菠菜站的被动信息收集
  3. 攀登计划项目《MRSAC的安全性分析》
  4. 黑客技术总结
  5. 反弹shell总结(附实战反弹shell)
  6. 常见解析漏洞总结
  7. 最新总结大部分免杀一句话木马
  8. SQL注入绕过姿势总结
更多阅读
  1. 上一篇:黑客技术总结
  2. 下一篇:攀登计划项目《MRSAC的安全性分析》
发表评论 抢沙发