2017年11月14日,微软发布了11月的安全补丁更新,修补了一个隐藏了17年的office漏洞CVE-2017-11882,此漏洞是由于office公式编辑器组件EQNEDT32.EXE,对字体名没有进行长度检查,导致的内存破坏漏洞,攻击者可以利用这个漏洞以当前登录的用户的身份执行任意命令。
补丁发布几天后,网上就出现了漏洞利用POC,随后瑞星又捕获到一个使用此漏洞的病毒样本。多引擎扫描网站Virustotal上的扫描结果显示,瑞星是国内第一家可以对此病毒样本进行拦截查杀的安全公司。
目前,瑞星所有企业级产品与个人级产品均可对其进行拦截并查杀,希望广大瑞星用户将瑞星产品更新到最新版本并及时更新漏洞补丁。瑞星也会持续关注此事件的进展。
漏洞影响版本:Office 365
Microsoft Office 2000
Microsoft Office 2003
Microsoft Office 2007 Service Pack 3
Microsoft Office 2010 Service Pack 2
Microsoft Office 2013 Service Pack 1
Microsoft Office 2016
补丁下载地址https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882漏洞分析:
对于早期版本创建的office文档,如果需要编辑公式就会调用EQNEDT32.EXE这个程序来解析。而此程序从2000年之后就没有更新过,存在的目的是为了兼容之前版本创建的文档。
这次的漏洞出现在这个位置,由于没有对输入字符串长度进行比较,无论字符串多长都会复制到缓冲区中,攻击者可以精心构造office文档触发漏洞。
此程序年代过于久远,微软可能并没有源码,此次更新是通过二进制补丁的方式修复的,由于此程序没有各种漏洞缓解措施,可能面临一些潜在风险。
一、样本分析
攻击者构造的office文档,无需用户操作,打开后自动联网下载病毒并运行。
可以看到攻击者构造的漏洞利用代码,使用mshta访问指定的网址,执行网页中的恶意脚本。
由于EQNEDT32.EXE这个程序年久失修,没有开启随机基址等各种漏洞缓解措施,漏洞触发后,直接跳转到硬编码的0x430C12地址执行WinExec,运行命令访问恶意网址。
访问此网址后,会执行网页中的恶意脚本,最终下载一个exe程序并运行。由于下载链接已经失效,无法进一步获知此病毒的信息。
二、防御措施
及时更新补丁
补丁下载地址:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882
通过注册表禁用此模块建议优先采用打补丁的方式,这种方式在有些环境中可能不行
在运行中输入reg add "HKLM\SOFTWARE\Microsoft\Office\XX.X\Common\COM Compatibility\{0002CE02-0000- 0000-C000-000000000046}" /v "Compatibility Flags" /t REG_DWORD /d 0x400
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\XX.X\Common\COM Compatibility\{0002CE02-0000-0000-C000-000000000046}" /v "Compatibility Flags" /t REG_DWORD /d 0x400
删除或重命名此程序
由于此程序年代过于久远,面临一些潜在风险。对于office 2007及之后的版本已经不使用此公式编辑器,存在的目的是为了编辑之前版本创建的公式。删除之后的缺点是:无法编辑office2003等之前的版本,创建的文档中的已有公式,只能查看和新增。
可在如下地址找到EQNEDT32.EXE删除或者重命名。
C:\Program Files\Common Files\microsoft shared\EQUATION
C:\Program Files (x86)\Common Files\microsoft shared\EQUATION
建议优先使用打补丁的方式
安装安全软件,开启防御及时更新病毒库