1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Microsoft恶意软件防护引擎远程执行代码漏洞(CVE--0290)

Microsoft恶意软件防护引擎远程执行代码漏洞(CVE--0290)

时间:2022-09-02 22:21:14

相关推荐

Microsoft恶意软件防护引擎远程执行代码漏洞(CVE--0290)

MsMpEng是默认情况下在Windows 8,8.1,10,Windows Server 等上启用的恶意软件防护服务。 此外,Microsoft Security Essentials,System Center Endpoint Protection和各种其他Microsoft安全产品共享相同的核心引擎。 MsMpEng作为NT AUTHORITY \ SYSTEM运行,不需要沙盒,并且可通过各种Windows服务(包括Exchange,IIS等)进行身份验证。

在工作站上,攻击者可以通过向用户发送电子邮件来访问mpengine(不需要阅读电子邮件或打开附件),访问Web浏览器中的链接,即时消息等。 此级别的可访问性是可能的,因为MsMpEng使用一个文件系统微型程序拦截和检查所有的系统文件系统活动,因此将受控内容写入磁盘上的任何位置(例如缓存,临时Internet文件,下载(甚至未确认的下载),附件等)都足够了 访问mpengine中的功能。 MIME类型和文件扩展名与此漏洞无关,因为MsMpEng使用自己的内容识别系统。

由于服务的特权,可访问性和无处不在,MsMpEng中的漏洞是Windows中最严重的漏洞。

负责扫描和分析的MsMpEng的核心组件称为mpengine。 Mpengine是一个庞大而复杂的攻击面,包括数十种深奥归档格式的处理程序,可执行封装程序和隐藏器,用于各种体系结构和语言的完整系统仿真器和解释器等。 所有这些代码都可以被远程攻击者访问。

NScript是mpengine的组件,用于评估任何看起来像JavaScript的文件系统或网络活动。 要清楚的是,这是一个非垃圾箱和高度特权的JavaScript解释器,用于在所有现代Windows系统上默认评估不受信任的代码。 这听起来很奇怪。

我们已经编写了一个工具,通过一个命令shell来访问NScript以进行测试,这样我们可以探索和评估它:

$mpscript

JavaScriptLog():8831

我们发现函数JsDelegateObject_Error :: toString()从该对象读取“message”属性,但在将其传递给JsRuntimeState :: triggerShortStrEvent()之前无法验证该属性的类型。

在伪代码中,代码的做法如下:

prophash=JsObject::genPropHash("message",0);

if(JsObject::get(thisptr,prophash,&message)){

该方法假定消息是一个字符串,但它可以是任何类型,所以这种类型的混淆允许攻击者传递任意其他对象。 JsRuntimeState :: triggerShortStrEvent()在传递的对象上调用JsString :: numBytes(),它将从对象的vtable中调用一个方法。

int__fastcallJsString::numBytes(JsStringthis)

}

Nscript支持“短”字符串,长度和值包含在句柄和“长”字符串中,具有行外存储器。 如果字符串为“long”(或似乎是由于类型混淆),则会进行vtable调用来检索长度。 整数句柄表示为四字节值,引擎将最终位设置为1。 整数本身左移一位,最后一位设置为创建句柄。 包括字符串在内的大多数对象的句柄表示为不修改对象的指针的值。 因此,这种类型的混淆允许指定一个整数并将其视为指针(尽管这些位需要移位以获取句柄中的正确值,只有奇数指针值是可能的)。 要重现此漏洞,请下载附带的测试用例。 下面的调试会话访问了一个网站后被捕获:

<ahref="testcase.txt"downloadid=link>

3:kd>!process

3:kd>.lastevent

在执行JavaScript之前,mpengine会使用一些启发式来确定是否需要评估。一个这样的启发式估计文件熵在决定是否评估任何javascript之前,但是我们发现附加一些复杂的评论就足以引发这一点。

附带的概念验证证明了这一点,但请注意,下载它将立即使MsMpEng的默认配置崩溃,并可能会破坏系统的稳定性。应该特别注意与其他Windows用户通过Exchange或基于IIS的Web服务共享此报告,等等。

由于mpengine将打开任意深入的嵌套存档,并支持许多模糊和深奥的归档格式(如Amiga ZOO和MagicISO UIF),因此没有实际的方法来识别网络级的漏洞利用,管理员应尽快修补。

我们已经验证,在Windows 10上,为C:\添加一个全面的异常足以防止文件系统活动的自动扫描(您仍然可以启动手动扫描,但是只对信任的文件执行操作似乎谨慎,使操作无意义) 。

Google Project Zero的Natalie Silvanovich和Tavis Ormandy发现了这个漏洞。

该错误需要90天的披露截止日期。经过90天

或补丁已经广泛使用,错误报告将成为 对公众可见。

此漏洞为一个本地漏洞,不要随便点击邮件发来的链接即可防护

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。