如何进行Microsoft Office内存损坏漏洞CVE–2017–11882的分析


如何进行Microsoft Office内存损坏漏洞CVE–2017–11882的分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。据悉,这个组件是由Design Science Inc.开发的,后来由微软收购。该组件于2001年编译嵌入office,之后没有任何进一步的修改。所以该漏洞已存在17年之久。影响现阶段流行的所有office版本。360CERT经过分析确认,确定该漏洞存在远程命令执行风险,建议用户尽快更新相应补丁。EQNEDT32.EXE是用于在文档中插入和编辑方程式。插入到文档中的任何公式都是OLE对象。该组件是在OLE技术规范下设计的。首发于Microsoft Office 2000和Microsoft 2003。从Microsoft Office 2007套件开始,显示和编辑方程的方法发生了变化,虽然EQNEDT32.EXE变得过时,不过,为了保持版本兼容性,它并没有从Office套件中删除。EQNEDT32.EXE为OLE实现了一组标准的COM接口。IOleObjectIDataObjectIOleInPlaceObjectIOleInPlaceActiveObjectIpersistStorage而问题的就在于IpersistStor 香港云主机age:Load这个位置。因为历史久远,该组件开发的时候并没有例如ASLR这样的漏洞缓解措施。利用起来更加的方便。检测到VirusTotal上有该漏洞的POC,多家检测机构标注为CVE-2017-11882。(最开始只有微软能检测)如上所说,通过恶意样本分析,问题出在EQNEDT.EXE中sub_41160F函数中。如图所示,strcpy函数没有检查复制时的长度造成了溢出。通过调试可以猜测在正常情况下eax寄存器也就是第一个参数应该是字体名。通过rtfobj抽取样本中的OLE对象,发现字体名为cmd.exe……。在填充的AAA……之后是0x430C12,也就是EQNEDT.EXE中调用WinExec的地方。返回地址被覆盖为0x430C12,从而执行命令。最后执行效果:Office 365Microsoft Office 2000Microsoft Office 2003Microsoft Office 2007 Service Pack 3Microsoft Office 2010 Service Pack 2Microsoft Office 2013 Service Pack 1Microsoft Office 2016360CERT建议用户及时更新补丁,以提高系统安全性。缓解措施:该问题可通过修改注册表,禁用该模块的方式进行缓解。其中XX.X为版本号。reg add “HKLMSOFTWAREMicrosoftOfficeXX.XCommonCOM Compatibility{0002CE02-0000- 0000-C000-000000000046}” /v “Compatibility Flags” /t REG_DWORD /d 0x400reg add “HKLMSOFTWAREWow6432NodeMicrosoftOfficeXX.XCommonCOM Compatibility{0002CE02-0000-0000-C000-000000000046}” /v “Compatibility Flags” /t REG_DWORD /d 0x400关于如何进行Microsoft Office内存损坏漏洞CVE–2017–11882的分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注开发云行业资讯频道了解更多相关知识。

相关推荐: Django中如何创建博客项目

这篇文章给大家介绍Django中如何创建博客项目,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。今天开始接下来的学习,会用Django框架完成之前使用flask做的博客项目,我们开始:首先在桌面的django_project文件夹下运行cm…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 10/05 20:48
Next 10/05 20:49

相关推荐