打开文档变肉鸡:潜伏17年的“噩梦公式”Office漏洞攻击分析
微软的11月份的安全补丁包含了一个隐藏17年之久的Office远程代码执行漏洞(CVE-2017-11882),该漏洞影响目前所有流行的Office软件。360核心安全高级威胁应对团队持续跟踪和关注该漏洞的进展,并于北京时间11月21日18点45分全球首次截获到了该漏洞的真实攻击!攻击者可以利用该漏洞向中招用户电脑中植入远控木马或后门程序等恶意程序。
图1 360核心安全高级威胁应对团队在蜜罐中捕获到的攻击实例
该漏洞所利用的是微软Office程序的一个名为“EQNEDT32.EXE”的组件。看到这个程序名大家可能会比较陌生,但它的另一个名字大家就会很熟悉了——“公式编辑器”。这次出现的漏洞攻击,就是针对公式编辑器发起的。故此,我们也将该漏洞称之为“噩梦公式”漏洞。
图2 公式编辑器
当用户打开被黑客精心设计过的恶意文档时,文档代码会在无需用户手动启动公式编辑器的情况下自动触发漏洞。
从我们截获到的样本分析发现,该样本会下载远程服务器上的恶意hta程序到本地执行,并进一步下载更多恶意程序到用户机器上并执行。而后续的这些恶意程序可完全控制用户计算机,盗取用户的个人隐私,严重威胁用户的信息安全。
图3 从打开恶意文档到黑客完全控制计算机的流程。
而从中招用户角度看,从打开文档直到被用户控制,整个过程几乎是没有任何感知的。一切的行为都是在系统中静悄悄的就完成了。下图就是因漏洞触发而被加载的hta程序的内容。
图4 hxxp://188.166.***.213:9999/abc代码截图
该hta程序调用powershell.exe执行位于hxxp://188.166.***.213/a上的powershell脚本,该脚本内容如下所示。
图5 powershell脚本内容
该脚本是一个通过base64编码并通过gzip压缩的payload,解码并解压后的脚本内容如下图示。
图6 解码并解压后的脚本内容
脚本将申请一段内存,写入shellcode并执行,shellcode通过base64编码,解码后如下图所示。
图7 写入内存中执行的shellcode
该shellcode是通过metasploit生成的反弹shell的shellcode,C&C地址为188.166.***.213。
此外,还发现另一例利用该漏洞传播远控木马的攻击实例。攻击者同样是利用漏洞执行服务器上的hta程序,地址为hxxp://210.245.***.178/23.hta。
图8 另一攻击实例使用的hta程序
该hta程序通过bitsadmin下载hxxp://210.245.***.178/office.exe到本地C盘根目录下并命名为baidu.exe,并执行该程序。
该程序是个远控木马,接收控制端传递的指令执行相应功能。C&C地址为210.245.***.178。
图9 远控木马接收控制端发送的指令
由于办公文档不是可执行程序,人们在查看doc等文档文件时会放心打开。但是当Office办公软件存在漏洞时,原本“无毒无害”的文档也会成为黑客的致命武器。Office用户应及时安装微软11月补丁,从而彻底免疫“噩梦公式”漏洞。
目前微软只对Office2007 sp3及以上版本提供补丁,部分还在流行的老版本Office没有补丁。360安全卫士已实现对此漏洞的“无补丁防护”,可以拦截“噩梦公式”漏洞攻击,确保老版本Office用户的电脑安全。
图10:360安全卫士拦截Office“噩梦公式”漏洞攻击