漏洞预警 | Windows系统恶意软件防护引擎曝严重远程代码执行漏洞(CVE-2017-0290)

微软昨天发布了安全公告——微软自家的恶意程序防护引擎出现高危安全漏洞。影响到包括MSE、Windows Defender防火墙等在内的产品,危害性还是相当严重的。微软当前已经提供了升级以修复漏洞,并表示没有证据表明攻击者已经利用该漏洞。

漏洞编号:

CVE-2017-0290

漏洞危害程度:

Critical,严重

漏洞概述:

简单说来,当微软恶意程序防护引擎(Microsoft Malware Protection Engine)检测某个恶意构造的文件后,攻击者就能利用漏洞实现远程代码执行。成功利用该漏洞,攻击者就能在LocalSystem帐号安全上下文执行任意代码,并控制系统。

攻击者随后就能安装程序;查看、更改或删除数据;或者以完整的用户权限来构建新账户。

攻击者实际上有很多种方法让微软的恶意程序保护引擎扫描到恶意构建的文件,比如目标用户浏览某个网站的时候就能分发恶意部署文件,或者通过邮件信息、即时通讯消息——在实时扫描开启的情况下,甚至不需要用户打开这些文件,微软恶意程序防护引擎就会对其进行扫描。

影响范围:

很多微软的反恶意程序产品都在使用微软恶意程序防护引擎。鉴于其中包含Windows 7/8/8.1/10/Server 2016中就默认安装的反恶意程序产品,该漏洞应该是非常严重。微软在其安全公告页面中列出了受影响产品,包括:

Microsoft Forefront Endpoint Protection 2010 Microsoft Endpoint Protection Microsoft Forefront Security for SharePoint Service Pack 3 Microsoft System Center Endpoint Protection Microsoft Security Essentials Windows Defender for Windows 7 Windows Defender for Windows 8.1 Windows Defender for Windows RT 8.1 Windows Defender for Windows 10, Windows 10 1511, Windows 10 1607, Windows Server 2016, Windows 10 1703 Windows Intune Endpoint Protection

漏洞详情:

具体来说,MsMpEng是恶意程序防护服务,Windows 8/8.1/10/Server 2012等都默认启用。MSE(Microsoft Security Essentials)、系统中心终端防护和微软的各种安全产品都采用此核心引擎。

MsMpEng以AUTHORITY\SYSTEM权限运行,无沙盒,通过Windows服务(如Exchange、IIS等)在无需身份认证的情况下可远程访问。

对于工作站而言,攻击者给用户发送邮件(甚至不需要阅读邮件或打开附件)、在浏览器中访问链接、使用即时通讯等,就能访问mpengine(MsMpEng用于扫描和分析的核心组件)。因为MsMpEng采用文件系统minifilter来拦截以及检查所有的文件系统活动,所以给硬盘的任意位置写入相应内容就能实现mpengine中函数的访问。

鉴于其高权限、可访问及普遍存在性,MsMpEng中的这个漏洞还是极为严重的。

不难发现mpengine本身就是个很大的攻击面,其中包含很多专门的文件格式、可执行封装包、cryptor、完整系统模拟器的Handler,还有各种架构和语言的解释器。所有这些代码,远程攻击者都是可以访问的。

其中NScript是mpengine的一个组件,这个组件用于评估任意看起来像是JS的文件系统或网络活动。值得一提的是,这是个无沙盒环境、高权限的JavaScript interpreter——用于评估不受信任的代码。

谷歌的研究人员写了个工具,通过代码shell访问NScript。发现函数JsDelegateObject_Error::toString()会从中读取“message”属性,但在传递给JsRuntimeState::triggerShortStrEvent()之前未能验证属性类型。其默认假定message是个字符串,但实际上可以是任意类型。这就能够让攻击者传递其它任意对象。

更多详情可参见Chromium。其中也提供了漏洞再现的方法。

若要再现该漏洞,可点击这里下载:https://bugs.chromium.org/p/project-zero/issues/attachment?aid=283405 。访问包含下述代码的网站后,

捕捉到的debug会话:

值得一提的是,在执行JS之前,mpengine采用各种启发式方案来决定是否有必要作评估。其中一个启发式方案会评估文件熵——不过研究人员发现其实只要附加上足够多的注释,也就能够触发所谓的“评估”过程了。

修复方法:

微软在安全公告中提到,终端用户和企业管理员不需要进行额外的操作,微软恶意程序引擎本身自动检测和更新部署机制会在48小时内应用更新。具体更新时间,视所用软件、互联网连接和基建配置而定。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-05-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java3y

应用层

DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。一个服务器所负责管辖的(或有权限的)范围叫做区 (zone)

1712
来自专栏数据和云

【全局出发,追根溯源】一则集群故障案例分析

作者简介: ? 董冰,混迹DBA圈子十余载的闲云野鹤,曾服务过政府行业、银行数据中心、互联网游戏上市公司,辗转蛰伏于中国铁塔,励志做一个社会主义的螺丝钉。 故...

3606
来自专栏张善友的专栏

通用日志

一、背景 为软件开发提供一个现成的、定义良好的、可扩展的日志设施。所谓"现成的"意思为软件开发可以即刻使用,包括API文档、使用实例和库;"定义良好的"表示项目...

20210
来自专栏玄魂工作室

【翻译】用SettingContent-ms绕过ASR和Office2016的OLE阻止功能执行命令

原文链接:https://posts.specterops.io/the-tale-of-settingcontent-ms-files-f1ea253e4d3...

1243
来自专栏FreeBuf

Office 365中的0-day漏洞baseStriker出现在野利用实例

5 月 1 日,Avanan 的研究人员发现 Office 365 中出现了一个名为 baseStriker 的 0-day 漏洞。攻击者可利用这个漏洞发送恶意...

1394
来自专栏Debian社区

Qt 5.9.4 正式发布:包含近 200 项 Bug 修复

Qt 5.9.4 已正式发布,这是继 5.9正式版 之后的第四个维护版本,未添加任何新功能,但提供了大量的 Bug 修复和性能改进。

1632
来自专栏小白课代表

Windows + office 激活的123

之前课代表发过一篇系统下载和一篇安装系统的教程,经常有人问,这个系统要怎么激活呢?其实安装教程里面是有的,只不过有人没看,也有人试了发现不适合自己的电脑,所以今...

2162
来自专栏EAWorld

开源监控利器Prometheus初探

Kubernetes作为当下最炙手可热的容器管理平台,在给应用部署运维带来便捷的同时,也给应用及性能监控带来了新的挑战。本文给大家分享一款十分火热的开源监控工具...

2183
来自专栏WeTest质量开放平台团队的专栏

https大势已来?看腾讯专家如何在高并发压测中支持https

用epoll编写一个高并发网络程序是很常见的任务,但在epoll中加入ssl层的支持则是一个不常见的场景。腾讯WeTest服务器压力测产品,在用户反馈中收到了不...

1953
来自专栏快乐八哥

Facebook Graph API(1)—介绍

Facebook提供三种low-level HTTP APIS去访问Facebook Graph. 1.Graph API 2.FQL(过期) 3.Legacy...

2328

扫码关注云+社区

领取腾讯云代金券