标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2024-1] 作者: ecawen 发表于: [2017-05-09] [2017-07-03]被用户:机沃科技 修改过
本文共 [607] 位读者顶过
微软昨天(2017-05-08)发布了一个安全公告——微软自家的恶意程序防护引擎出现高危安全漏洞。影响到包括MSE、Windows Defender防火墙等在内的产品,危害性还是相当严重的。微软当前已经提供了升级以修复漏洞,并表示没有证据表明攻击者已经利用该漏洞。 [出自:jiwo.org] 漏洞编号:CVE-2017-0290 漏洞危害程度:Critical,严重 漏洞概述:简单说来,当微软恶意程序防护引擎(Microsoft Malware Protection Engine)检测某个恶意构造的文件后,攻击者就能利用漏洞实现远程代码执行。成功利用该漏洞,攻击者就能在LocalSystem帐号安全上下文执行任意代码,并控制系统。 攻击者随后就能安装程序;查看、更改或删除数据;或者以完整的用户权限来构建新账户。 攻击者实际上有很多种方法让微软的恶意程序保护引擎扫描到恶意构建的文件,比如目标用户浏览某个网站的时候就能分发恶意部署文件,或者通过邮件信息、即时通讯消息——在实时扫描开启的情况下,甚至不需要用户打开这些文件,微软恶意程序防护引擎就会对其进行扫描。 影响范围:很多微软的反恶意程序产品都在使用微软恶意程序防护引擎。鉴于其中包含Windows 7/8/8.1/10/Server 2016中就默认安装的反恶意程序产品,该漏洞应该是非常严重。微软在其安全公告页面中列出了受影响产品,包括:
漏洞详情:具体来说,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小时内应用更新。具体更新时间,视所用软件、互联网连接和基建配置而定。 |