隐藏了17年的Office内存破坏漏洞(CVE–2017–11882)分析 (office2016隐藏明细数据在哪)
整理分享隐藏了17年的Office内存破坏漏洞(CVE–2017–11882)分析 (office2016隐藏明细数据在哪),希望有所帮助,仅作参考,欢迎阅读内容。
内容相关其他词:office隐藏后怎么显示,office2010隐藏游戏,office2016隐藏明细数据在哪,office2016隐藏明细数据在哪,office隐藏后怎么显示,office隐藏的怎么恢复,隐藏office,office隐藏后怎么显示,内容如对您有帮助,希望把内容链接给更多的朋友!
MicrosoftOffice内存*漏洞分析MicrosoftOffice内存*漏洞分析——背景 年月,微软在例行*补丁发布中,修复了一个Office远程代码执行的严重漏洞,编号CVE--。该Office内存*漏洞类型为缓冲区溢出,位于EQNEDT.EXE组件。受害用户打开恶意的office文档时,无需交互,就可能执行恶意代码。 据悉,这个组件是由DesignScienceInc.开发的,后来由微软收购。该组件于年编译嵌入office,之后没有任何进一步的修改。所以该漏洞已存在年之久。影响现阶段流行的所有office版本。 CERT经过分析确认,确定该漏洞存在远程命令执行风险,建议用户尽快更新相应补丁。MicrosoftOffice内存*漏洞分析——概述 EQNEDT.EXE用于在文档中*和编辑方程式。*到文档中的任何公式都是OLE对象。该组件是在OLE技术规范下规划的。首发于MicrosoftOffice和Microsoft。从MicrosoftOffice套件开始,显示和编辑方程的方式发生了变化,虽然EQNEDT.EXE变得过时,不过,为了保持版本兼容性,它并没有从Office套件中删除。EQNEDT.EXE为OLE实现了一组标准的COM接口。IOleObjectIDataObjectIOleInPlaceObjectIOleInPlaceActiveObjectIpersistStorage 而问题的就在于IpersistStorage:Load这个位置。因为历史久远,该组件开发的时候并没有例如ASLR这样的漏洞缓解措施。利用起来更加的方便。MicrosoftOffice内存*漏洞分析——分析 检测到VirusTotal上有该漏洞的POC,多家检测机构标注为CVE--。(最开始只有微软能检测) 如上所说,通过恶意样本分析,问题出在EQNEDT.EXE中sub_F函数中。如图所示,strcpy函数没有检查*时的长度造成了溢出。 通过调试可以猜测在正常情况下eax寄存器也就是第一个参数应该是字体名。通过rtfobj抽取样本中的OLE对象,发现字体名为cmd.exe……。在填充的AAA……之后是0xC,也就是EQNEDT.EXE中调用WinExec的地方。返回*被覆盖为0xC,从而执行命令。最后执行效果:MicrosoftOffice内存*漏洞分析——影响版本OfficeMicrosoftOfficeMicrosoftOfficeMicrosoftOfficeServicePack3MicrosoftOfficeServicePack2MicrosoftOfficeServicePack1MicrosoftOfficeMicrosoftOffice内存*漏洞分析——修复建议 CERT建议用户及时更新补丁,以提升*安全性。缓解措施:该问题可通过修改注册表,禁用该模块的方式进行缓解。其中XX.X为版本号。1regadd"HKLM\SOFTWARE\Microsoft\Office\XX.X\Common\COMCompatibility\{CE---C-}"/v"CompatibilityFlags"/tREG_DWORD/d0xregadd"HKLM\SOFTWARE\WowNode\Microsoft\Office\XX.X\Common\COMCompatibility\{CE---C-}"/v"CompatibilityFlags"/tREG_DWORD/d0x