kerberos协议通过认证服务器实现了,【域渗透】Kerberos协议认证

2023-05-16

参考链接:

详解kerberos认证原理,真的超级无敌详细~~~

ac020962fec3

kerberos认证的示意图

域控制器(AD)里面有两个重要的服务:Authentication Service(AS)、Ticket Granting Service(TGS)

角色:客户端,AD,服务端

KDC负责管理票据、认证票据、分发票据但是 。KDC 不是一个独立的服务它由以下服务组成:

AS:身份验证服务

TGS:票据分发服务

TGT:票据分发票据

KDC:密钥分发中心(这里理解为AD)

session key:AS随机生成的会话密钥

server session key:TGS随机生成的服务会话密钥

时间相关的信息:时间戳

目的:客户端要访问控制服务端,与服务端建立连接通信。

ac020962fec3

AS

AS-REQ:客户端发送自己的信息以及要连接的服务端信息给AS,AS去AD查看是否为白名单,验证通过,AS返回session key和TGT1、TGT2

TGT1(session key,TGS服务信息,结束信息)(使用客户端的NTLM hash加密)

TGT2(session key,客户端信息,结束时间) (KDC NTLM hash加密)

AS-REP:客户端接收AS返回的session key及TGT1、TGT2,随后发送 认证因子+TGT2+客户端信息+服务端信息给TGS

使用自己客户端的NTML hash解密TGT1得到里面的session key,TGS服务信息,结束信息(应该会验证一下sessoin key是否一致)

使用解密出来的session key加密生成认证因子(客户端信息,当前时间...等信息)

ac020962fec3

TGS

TGS-REQ:TGS接收到 认证因子+TGT2+客户端信息+服务端信息,校验后,将生成的TGT3和TGT4发送给客户端

TGS会先用KDC NTLM hash解密TGT2,得到里面的 session key,客户端信息,结束时间

再利用session key解密认证因子,得到里面的 客户端信息,当前时间(时间戳)...等信息

校验:

当前系统时间和时间戳(对比未过期);

(认证因子)客户端信息和(TGT2)客户端信息;

客户端访问服务端的权限;

......

生成server session key

TGT3(sever session key,服务端信息,票据到期时间)(使用session key加密)

TGT4(server session key,客户端信息,票据到期时间)(使用服务端NTLM hash加密)

TGS-REP:客户端接收到TGT3和TGT4后,将生成的认证因子2+TGT4发送给服务端

使用session key解密TGT3(sever session key,服务端信息,票据到期时间)

使用解密出来的server session key加密生成认证因子2(服务器信息,票据到期时间...等信息)

ac020962fec3

Server

AP-REQ:服务端接收到认证因子+TGT4,认证成功,服务端返回请求数据

使用自己服务端的NTML hash解密TGT4(server session key,客户端信息,票据到期时间)

使用解密出来的server session key解密认证因子2(服务器信息,票据到期时间...等信息)

AP-REP:客户端接收数据,成功建立通信连接

ac020962fec3

kerberos认证的时序图

PAC

在 Kerberos 最初设计的几个流程里说明了如何证明 Client 是 Client 而不是由其他人来冒充的但并没有声明 Client 有没有访问 Server 服务的权限因为在域中不同权限的用户能够访问的资源是有区别的。

所以 Microsoft 为了解决这个问题在实现 Kerberos 时加入了 PAC 的概念PAC 的全称是 Privilege Attribute Certificate特权属性证书。

PAC 可以理解为一串校验信息为了防止被伪造和串改原则上是存放在 TGT 里并且 TGT 由 KDC hash 加密。同时尾部会有两个数字签名分别由 KDC 密码和 server 密码加密防止数字签名内容被篡改。

ac020962fec3

Ticket

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kerberos协议通过认证服务器实现了,【域渗透】Kerberos协议认证 的相关文章

  • python popen.stdout.read阻塞 解决办法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 需求 xff1a 利用python的subprocess模块结合logging模块实现监控子程序运行情况 代码如下 程序阻塞在stdout readz这里 xff0c 日志
  • Windows云服务器CPU使用率高的问题一例

    作者 xff1a 声东 大家好 xff0c 今天跟大家分享一例Windows云服务器CPU使用率高的问题 问题症状 客户购买了一台Windows 2016云服务器 xff0c 登录之后发现这台服务器的CPU使用率一直保持在90 以上 问题分
  • java 类知识_Java类基础知识

    同时按住Java中的Alt键和 39 39 键 xff0c Eclipse会给你代码提示 java 的几个基本概念 1 JVM java 虚拟机 运行java 程序的根本 2 JRE java 运行环境 xff0c java 虚拟机 43
  • UDP程序设计

    UDP套接口是无连接的 不可靠的数据报协议 xff1b 既然他不可靠为什么还要用呢 xff1f 其一 xff1a 当应用程序使用广播或多播时只能使用UDP协议 xff1b 其二 xff1a 由于他是无连接的 xff0c 所以速度快 因为UD
  • Linux下读写芯片的I2C寄存器

    要想在Linux下读写芯片的I2C寄存器 xff0c 一般需要在Linux编写一份该芯片的I2C驱动 xff0c 关于Linux下如何编写I2C驱动 xff0c 前一篇文章 手把手教你写Linux I2C设备驱动 已经做了初步的介绍 xff
  • linux centos 7上运行teamviewer与找不到ID问题处理办法

    以前在raspberryPi上搞过teamviewer xff0c 现在用了CentOS服务器 xff0c 搞了一个vpn xff0c 访问还有点问题 xff0c 时间紧张 xff0c 就先给teamviewer 而centos7 上安装也
  • 如何传集合型参数

    想传入查询参数到存储过程中 xff0c 但参数代表一个集合 不知该如何实现 首先是参数用什么类型 xff1f 然后是在PL SQL中查询语句的条件该如何写 xff1f 期望的SQL查询是类似这样的 xff1a select from aaa
  • Vue SSR Nuxt axios封装

    安装 npm install axios save span class copy code btn 复制代码 span 使用 nuxt config js 引入插件 xff0c 启动中间件 plugins span class hljs
  • 重新解读DDD领域驱动设计(一)

    回顾 十年前 xff0c 还未踏入某校时 xff0c 便听闻某学长一毕业就入职北京某公司 xff0c 月薪过万 对于一个名不见经传的小学院 xff0c 一毕业能拿到这个薪水还是非常厉害的 听闻他学生期间参与开发了一款股票软件 xff0c 股
  • ubuntu sudo apt-get update无法解析域名

    问题 sudo apt get update时提示如下 xff1a 然后cat etc resolv conf 查看dns server发现里面是空的 解决办法 xff1a 1 永久有效 sudo vi etc resolvconf res
  • IDEA 报错These modules have been removed from Maven stucture

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 当我们从IDEA中删除一个module后 xff0c 我再新建同名的module时发现提示 These modules have been removed from Mav
  • nginx: [emerg] BIO_new_file("/etc/nginx/ssl_key/server.crt") failed (SSL: error:02001002:syste

    Centos 7 5 nginx 43 web集群配置https报错 报错信息 root 64 lb01 conf d nginx t nginx emerg BIO new file 34 etc nginx ssl key server
  • 永久关闭swap分区

    参考文章 xff1a https blog 51cto com 6923450605400 735323 xff08 1 xff09 临时关闭swap分区 重启失效 swapoff a xff08 2 xff09 永久关闭swap分区 se
  • querySelector() 方法

    返回文档中匹配指定 CSS 选择器的一个元素 虽然IE8中没有getElementsByClassName 但可以用querySelector 代替 注意 xff1a querySelector 方法仅仅返回匹配指定选择器的第一个元素 如果
  • 《Programming in Lua 3》读书笔记(二十五)

    日期 xff1a 2014 8 11 Part The C API 29 User Defined Types in C 在之前的例子里 xff0c 已经介绍过如果通过用C写函数来扩展Lua 在本章 xff0c 将会介绍通过用C写新的类型来
  • EntityFramework

    How to Call StoreProcedure http www tudou com programs view 0WtDy50Hbzs target 61 blank If it not work see http stackove
  • HOOK技术的一些简单总结

    好久没写博客了 xff0c 一个月一篇还是要尽量保证 xff0c 今天谈下Hook技术 在Window平台上开发任何稍微底层一点的东西 xff0c 基本上都是Hook满天飞 xff0c 普通应用程序如此 xff0c 安全软件更是如此 xff
  • windows2000上如何跑MSN

    WINDOWS2000上一直可以跑MSN的 LP公司还在用可怜的2000 xff0d xff0d 在9月13日以前 xff0c 我就一直这样与LP MSN联系 但之后就不行了 xff0c 直到今天 xff0c LP就没能再登录MSN 兹事体
  • 30岁人生进度条_30岁前,人生可以靠努力,30岁后,人生更需要一些“觉醒”

    慈怀女子 偶然看到胡歌一位粉丝的留言 xff0c 触动很深 入行15年 xff0c 如今的胡歌 xff0c 已活成了百万粉丝心中的 灯塔 24岁之前 xff0c 胡歌的青春几乎是开挂的 高中起就拍广告 xff0c 迅速在上海广告界蹿红 大二
  • win10环境安装TensorFlow2.0 - 吴恩达视频-修复版

    文章整体参考吴恩达老师的视频 xff0c 见如下 https www bilibili com video BV19E411Y7Kw p 61 4 实际结果 xff1a 不可行 xff01 版本安装后1 1 0 xff01 本文提供解决方案

随机推荐