专栏名称: 深信服千里目安全实验室
深信服科技旗下安全实验室,致力于网络安全攻防技术的研究和积累,深度洞察未知网络安全威胁,解读前沿安全技术。
目录
相关文章推荐
史事挖掘机  ·  伊朗往事:霍梅尼的崛起 ·  15 小时前  
上下五千年故事  ·  “十人九湿”,万病皆始于湿,试试这个小方子 ·  3 天前  
电视剧鹰眼  ·  【鹰眼头条】短剧2025年1月榜:番茄以总热 ... ·  4 天前  
51好读  ›  专栏  ›  深信服千里目安全实验室

Microsoft SharePoint远程代码执行漏洞CVE-2020-16952

深信服千里目安全实验室  · 公众号  ·  · 2020-10-16 17:14

正文


漏洞概要


北京时间2020年10月14日,微软MSRC发布了Microsoft SharePoint服务器的远程代码执行漏洞CVE-2020-16952的公告,且漏洞的详细利用过程于当日被公开。深信服安全研究团队依据漏洞重要性和影响力进行评估,发布漏洞通告。

漏洞名称: Microsoft SharePoint远程代码执行漏洞CVE-2020-16952

威胁等级: 高危

影响范围:

Microsoft SharePoint Foundation 2013 Service Pack 1

Microsoft SharePoint Enterprise Server 2016

Microsoft SharePoint Server 2019

漏洞类型: 远程代码执行漏洞

利用难度: 一般


漏洞分析


2.1 相关组件介绍

SharePoint Server是由微软公司开发的一个适用于企业的门户站点服务器,能够无缝连接到用户。让每个项目工作组、部门和科室实现团队协作。共享文件、数据、资讯和资源。前端是一个运行于Internet Information Services 6.0之上的ASP.NET 网站,后端由SQL Server或者MSDE来存储数据。

2.2 漏洞分析

2.2.1漏洞利用大体流程

首先通过put方式可以上传用于泄露信息的poc.aspx文件,然后通过特定的请求泄露出ValidationKey(web中配置ASP.NET应用程序的密钥)。当.Net开启ViewState MAC验证时,需要通过提供ValidationKey来进行身份验证。最后发送附带泄露出的ValidationKey的特定请求,即可执行命令。

2.2.2 漏洞成因

反编译Microsoft.SharePoint.WebPartPages.DataFormWebPart代码,可以观察到CreateChildControls函数。函数的以下代码为处理EnsureDataBound的逻辑:

该代码执行数据绑定并从数据源访问数据。返回的数据必须是有效的xml,以便可以通过攻击者精心设计的xslt处理。
接下来在DataFormWebPart.RunatChecker.IsMatch的代码处,检查在xml中`runat = server`的实例。

之后在下面的代码中,由于错误地调用`VerifyControlOnSafeList`,用户可以将包含有效的xml填充到_partContent中:

然后通过ParseControl 进行解析

然后通过以下的代码添加到页面中:

以上为整个漏洞代码的处理逻辑,可以通过反序列化工具来进行代码执行:

下面是该漏洞使用到的技术解释:

  • ViewState:ASP.NET Web应用程序使用ViewState来维护页面状态并以Web形式保存数据。ViewState参数是base64序列化参数,通常通过__VIEWSTATEPOST请求调用的隐藏参数发送。该参数在服务器端反序列化以检索数据。

2.3漏洞复现

搭建Microsoft SharePoint Enterprise Server 2016环境,向运行Microsoft SharePoint Enterprise Server 2016的服务器发送精心构造的数据,后台计算器进程已经启动,效果如下。


影响范围


受影响版本:

Microsoft SharePoint Foundation 2013 Service Pack 1

Microsoft SharePoint Enterprise Server 2016

Microsoft SharePoint Server 2019


解决方案


4.1修复建议

目前厂商已在最新版本修复该漏洞,请受影响的用户及时更新安全补丁,下载链接:

https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2020-16952

4.2 深信服解决方案

【深信服下一代防火墙】 可轻松防御此漏洞,预计20201016及以后版本库支持该漏洞防御, 建议部署深信服下一代防火墙的用户更新至最新的安全防护规则,可轻松抵御此高危风险。


【深信服云盾】 已第一时间从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。


【深信服安全感知平台】 可检测利用该漏洞的攻击,实时告警,并可联动【深信服下一代防火墙等产品】实现对攻击者ip的封堵。


【深信服安全运营服务】 深信服云端安全专家提供7*24小时持续的安全运营服务。对存在漏洞的用户,检查并更新了客户防护设备的策略,确保客户防护设备可以防御此漏洞风险。


时间轴







请到「今天看啥」查看全文