域提权漏洞系列分析-Zerologon漏洞分析2

漏洞点⼆:错误设置CFB8模式

建⽴安全通道时,需要使⽤ComputeNetlogonCredential函数对客户端的Netlogon凭据输⼊client challenge和服 务器的Netlogon凭据输⼊server challenge (SC)进⾏加密,ComputeNetlogonCredential函数⽀持使⽤AES-128 加密算法和DES_ECB 进⾏加密,采⽤哪种加密算法在NetrServerAuthenticate3 (Opnum 26)或 NetrServerAuthenticate2(Opnum 15)⽅法中的NegotiateFlags(32 位位标志,可协商选项)中进⾏定义,例 如使⽤AES-128 加密算法,如图6-所示。

图6- NegotiateFlags 标志

漏洞点1:错误使⽤了 AES-128 加密算法,ComputeNetlogonCredential函数使⽤的是名为在8位CFB模式下使⽤零 初始向量的AES-128加密算法:

复制

CFB是⼀种分组密码,可以将块密码变为⾃同步的流密码,CFB8模式下加密过程,如图6- 所示: 1.将明⽂拆分为N份,C1,C2,C3,然后定义⼀个初始向量IV;

2.第⼀先将轮加密初始向量IV,然后异或明⽂得到第⼆轮的密⽂,加密第⼆轮的密⽂,异或明⽂得到第三轮的密 ⽂;

图6- CFB加密过程 其加解密公式如下:

这种加密算法要求IV每次都要随机不同,然⽽ComputeNetlogonCredential 函数中IV却是固定,即 IV=000000000000000000000000000000,现在如果我们控制输⼊的明⽂为0000000000000000,那么整个加密 过程变量为在AES加密中的Key(AES加密使⽤的Key会随着每⼀轮Server Challenge的变化⽽变化)。但是因为 AES 是⼀种没有统计偏差的⾼质量密码,输⼊任何使⽤密钥加密的字符,输出中的每个位为0或1的概率都为 50%,所以8个输出位全为零的⼏率为1/256,所以如果我们控制明⽂内容为0000000000000000然后不断的进⾏ 运算,那么⼀定存在⼀个Key,使得密⽂为00000000,如图6- 所示。

图6- IV和明⽂为0的运算过程

所以配合漏洞点⼀中的利⽤,我们可以通过关闭签名校验,然后发送⼤量的ClientCredential (0000000000000000)请求来进⾏验证(如图6- 所示),直⾄服务器那端计算出来的密⽂hash也全是0,就可认 证通过,如图6- 所示

图6- 发送⼤量ClientCredential

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

飞控如何和接收机接线?

飞控如何和接收机接线? 一般遥控都是按照顺序1对1接到飞控的INPUT端口。特别注意,华科尔的接收机,需要把1和2通道条换过来。 具体方法如下: 下面以MC6遥控接收机为例子: 用下面的图的接收机连接线来演示&#xff1a…

【C++】开源:RabbitMQ安装与配置使用(SimpleAmqpClient)

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#x1…

隆道专属商城 | 助力企业跨平台整合优势资源,解决采购寻源比价难题!

数字化采购时代,企业面临着日益激烈的市场竞争,如何优化资源配置、降低采购成本、提高采购效率成为企业追求的核心目标。当前,网上商城凭借其强大的供应链资源整合能力,为企业内部采购商城的搭建提供了独特的优势,已然…

常见SSL证书品牌关系图

常见SSL证书品牌关系图 在SSL证书市场上,有几个主要的品牌和他们之间的复杂关系。以下是一些主要的SSL证书提供商及其关系的简要概述: DigiCert: DigiCert 是最大的SSL证书颁发机构之一。它收购了Symantec的SSL和PKI业务,其中包括…

Java从坚持到精通-SpringBoot项目-多来米云客(持续更新中)

1.项目介绍 该项目模仿动力云客制作,是一款商业的集营销销售为一体的客户关系管理系统,其采用信息化、数字化方式来进行营销销售及客户管理。 云客指的是海量客户,通过技术方式实现的这一套系统,可用于自动化分析销售、市场营销…

一个通俗易懂的例子,带你彻底明白 同步异步,阻塞非阻塞

阻塞I/O(Blocking I/O) 例子:你亲自去仓库取书。 过程: 你开车去仓库。在路上花时间开车到仓库。到了仓库后,排队等待拿到书。拿到书后,开车回家。 在整个过程中,你自己(相当于程…

521源码-免费音乐源码-最新流媒体在线音乐系统网站源码| 英文版源码| 音乐社区 | 多语言 | 开心版

免费音乐源码 一键自动安装:安装用翻译看提示操作即可 本源码下载地址:最新流媒体在线音乐系统网站源码| 英文版源码| 音乐社区 | 多语言 | 开心版 - 521源码 更多网站源码学习教程,请点击👉-521源码-👈获取最新资源…

数据结构(四)双向链表

文章目录 一、概念二、无头双向链表示意图三、操作(一)定义结构体(二)创建链表1. 函数定义2. 注意点3. 代码实现 (三)插入1. 函数定义2. 注意点3. 代码实现 (四)删除1. 函数定义2. 注…

了不起的学习生产板OrangePiAiPro

一. OrangePi AiPro介绍和初始化配置 介绍 香橙派 orangePiAIpro这个板子其实早在一年前就已经有了大面积推广且应用于各种真实的智能场景中了,比如图像识别,大文本语义解析,语音识别等,今日我也终于下手啦。 因为本人本科是一个嵌…

【Ambari】Docker 安装Ambari 大数据单机版本

目录 一、前期准备 1.1 部署 docker 1.2 部署 docker-compose 1.3 版本说明 二 、镜像构建启动 2.1 系统镜像构建 2.2 安装包源镜像构建 2.3 kdc镜像构建 2.4 集群安装 2.5 容器导出为镜像 三、Ubuntu环境安装测试 3.1 环境准备 3.2 集群容器启动 一、前期准备 1.…

Android Activity 设计详解

文章目录 Android Activity 设计说明1. Activity 的生命周期2. Activity 的启动模式3. Activity 的通信4. Activity 的布局和视图管理5. Activity 的配置变化处理6. Activity 的保存和恢复状态7. Activity 的任务和返回栈 总结 Android Activity 设计说明 在 Android 中&#…

了解Java垃圾收集

Java 的垃圾收集机制在 Java 应用程序开发中至关重要。此机制对于通过消除不再使用的对象来释放内存空间得过程来说至关重要。在这篇文章中,我带大家深入了解下 Java 垃圾收集的机制,并探索其工作原理、优点以及实现最佳性能的最佳实践。 1.什么是 Java…

数据挖掘之归一化

归一化(Normalization)的概念 在数据分析和机器学习中,归一化(Normalization)是一个常见的数据预处理技术。归一化的目的是将数据特征缩放到一个共同的尺度上,以便于后续的分析和建模。 归一化也称为最小-最大规范化 公式: x ′ x − m i n ( x ) m a x ( x ) − m i n ( x…

httpsok-v1.12.0支持LB证书自动部署

🔥httpsok-v1.12.0支持LB证书自动部署 介绍 httpsok 是一个便捷的 HTTPS 证书自动续签工具,基于全新的设计理念,专为 Nginx 、OpenResty 服务器设计。已服务众多中小企业,稳定、安全、可靠。 一行命令,一分钟轻松搞…

【Python】 探索Python中的“命名元组”

基本原理 在Python中,元组(tuple)是一种不可变序列,它允许我们存储一系列的元素,并且这些元素一旦被创建就不能被修改。元组的这种不可变性使得它们在多线程编程中非常安全,因为不需要担心数据被意外修改。…

2024电激世界脉动-中国汽车品牌全球化制胜手册

来源:奥美Ogilvy: 近期历史回顾: 2024中国宏观经济专题报告-数据要素市场建设 2023-2024年度报告.pdf 2024制药与生化医疗技术产业链白皮书.pdf 从可再生能源到绿氢-中国投资助力埃及能源转型.pdf 2024有机旅行中国行业指引.pdf 2024中国技术…

SpringBoot——发送HTML格式的邮件

目录 项目总结 新建一个SpringBoot项目 pom.xml application.properties配置文件 EmailService服务类 SpringbootMailHtmlApplicationTests测试类 项目总结 在SpringBoot项目中发送HTML格式的邮件的思路: 添加依赖:在项目中添加spring-boot-starte…

ROCm上运行网络中的网络(NiN)

7.3. 网络中的网络(NiN) — 动手学深度学习 2.0.0 documentation (d2l.ai) 代码 import torch from torch import nn from d2l import torch as d2ldef nin_block(in_channels, out_channels, kernel_size, strides, padding):return nn.Sequential(nn.…

B端:ElementUI、AntDesign、若依等看腻了,来点不一样的。

现在对ElementUI、AntDesign和若依这些 UI 框架感到厌倦了,本次给大家分享一些更加个性化的UI界面。

PHP深入理解-PHP架构布局

PHP的架构布局涉及多个层次,让我们一起探讨一下吧!🚀 执行流程:解析为Token:将PHP代码解析成标记(tokens)。抽象语法树:将语法解析树转换为抽象语法树。Opcodes:将抽象语…