黑客组织从2018年底开始利用CVE-2018-0798公式编辑器漏洞

2019-07-29 11:43:359170人阅读

Anomali研究人员在追踪Royal Road RTF文档武器化过程中发现多个攻击组织利用CVE-2017-11882和CVE-2018-0802漏洞,多个攻击组织从2018年12月开始更新了其武器来利用微软公式编辑器漏洞CVE-2018-0798。研究人员认为攻击者利用CVE-2018-0798漏洞而不是其他RCE漏洞的原因是因为该漏洞利用更加可靠。

 

研究人员分析发现RTF文件利用了微软公式编辑器(EQNEDT32)的漏洞CVE-2018-0798,CVE-2018-0798漏洞虽然比较可靠,但是并不常用。CVE-2017-11882漏洞只有在没有修复的版本中可用,CVE-2018-0802只有在修复了CVE-2017-11882漏洞的版本中可用。相比之下,攻击者利用CVE-2018-0798漏洞的成功率要更高一些。
Anomali研究人员发现了多个利用CVE-2018-0798漏洞的恶意RTF文档ITW样本。其中一些样本的创建日期为2017年11月19日(与CVE-2017-11882补丁发布日期只差5天),但释放的payload最近编译的时间却是2019年。最早利用ITW的样本是2018年10月发现的样本(e228045ef57fb8cc1226b62ada7eee9b) ,RFT创建时间为2018-10-23。
Anomali分析的多个样本之前都有安全研究人员分析过,但一些样本被错误地归类为CVE-2017-11882或CVE-2018-0802,实际上利用的漏洞是CVE-2018-0798。

漏洞和利用分析

CVE-2018-0798是一个RCE漏洞,攻击者可以利用该栈缓存溢出漏洞来执行栈破坏。有漏洞的子路径位于相对虚拟地址 0x43f6c(sub_443f6c),如图1所示。在分析Matrix type records时EQNEDT32会调用该路径。CVE-2017-11882和CVE-2018-0802漏洞只有在分析Font type records时才会被利用。Matrix record对象的部分会被复制到栈缓存中,但没有进行适当的范围检查。这就允许攻击者来对栈缓存进行溢出、修改保存的返回地址、控制指令指针。因为二进制文件的时间,编译和链接的时间是20世纪初,并没有对栈溢出使用主流的保护模式,这样会使漏洞利用变得更难。

1.png

图1 – 利用前的有漏洞的函数,标红的保存的返回地址会被修改。0x1283faa处的指令会从公式对象中复制一个字节到栈缓存中,并从调用返回。

Write原语是作用是用padding0x60s和0x61s直到栈中保存的返回地址的位置来填充栈。保存的返回地址的低2个字节会被修改为0x0bfb,如图2所示。当返回的地址出栈进入指令指针(instruction pointer,EIP)时,修改这些字节就可以劫持控制流。指令指针会被重定向到函数的返回指令来将栈中的下一个值(位于图2中的0x20ed94)出栈保存到EIP中。这会让原始函数的参数作为返回地址。该参数指向公式对象保存的堆。

2.png

图2 – 栈破坏后有漏洞的函数,表明调用函数返回地址的最后两个字节被x0bfb覆写
EIP会加载一个Null sled直到它到达shellcode。Shellcode会将栈中的下一个值出栈,并用该值作为最后的shellcode的位置。

3.png

样本中的shellcode如下所示。它会解析WinExec的地址,并执行PowerShell命令:

powershell.exe Copy-Item "c:\target\Flag.dat" -Destination "C:\pwn”

4.png

漏洞利用在所有微软公式编辑器上都可以工作。

5.png

图3 -检测利用CVE-2018-0798的恶意RTF文档的Yara规则

攻击者和漏洞利用

大多数收集的样本都归属于以下黑客组织:

·       Conimes

·       KeyBoy

·       Emissary Panda

·       Rancor

·       Temp.Trident

从2019年6月25日开始,研究人员发现多个利用CVE-2018-0798漏洞武器化的RTF文档。该漏洞被网络攻击组织使用了将近1年(2017年12月—2018年12月),然后攻击者将它融入到恶意活动中。这表明攻击者可能将它出售给了其他的攻击者。
网络攻击活动中使用CVE-2018-0798漏洞相关的社会工程诱饵和恶意文档内容示例,如表1所示。

6.png

表1 – 利用CVE-2018-0798漏洞的文档

样本文档

fc47442f175ff7e312a4aa4f5c8745b8

7.png

图4: 含有多个图的越南文诱饵。红章是越南国防部的


样本40cfeb699d239652dd4a79c18b1c7366

8.png

图5: 老挝语诱饵文件

样本1690766e844034b3c2ab4f853bd59df7

9.png

图6: 俄语诱饵文件,从Park Won-soon的wiki页面复制的

利用方法和payload分析

Anomali研究人员发现了多个利用CVE-2018-0798来释放恶意payload的利用技术。其中包括:

OLE package objects and DLL Sideloading

Sample MD5: fc47442f175ff7e312a4aa4f5c8745b8 (Goblin Panda)

恶意RTF文档中含有OLE Package objects。用后打开附件后,文档就会在%TEMP%目录下释放8.t,即OLE package。8.t文件时一个释放器,使用XOR用加密密钥0xFC进行加密。解密和执行后,会在%TEMP%文件夹中释放2个文件wsc_proxy.exe和wsc.dll。wsc_proxy.exe是合法的Avast可执行文件,而wsc.dll是恶意DLL文件。然后,释放器会创建计划任务每隔5分钟运行一次可执行文件wsc_proxy.exe,这也是一种驻留机制。

10.png

图7: 释放器8.t执行后在%tmp%目录中释放的payload

计划任务命令:

“schtasks /create /sc MINUTE /tn "Avast Antivirus" /tr"C:\Users\Username\AppData\Local\Temp\wsc_proxy.exe" /mo 5 /f”

可执行文件wsc_proxy.exe是通过计划任务Avast Antivirus执行的,使用DLL侧加载会启动恶意payload wsc.dll。恶意软件会尝试通过http与C2服务器vvcxvsdvx.dynamic-dns[.]net通过端口2113/TCP来进行通信。

Payload MD5: 9AD1DBA92734A53489180788A6B21856

C2: vvcxvsdvx.dynamic-dns[.]net
IP: 185.216.35[.]11 (known Goblin panda C&C)
URL: vvcxvsdvx.dynamic-dns[.]net/image/logo.png

OLE package objects and VBScript Execution

Sample MD5: b3f8abe274cb6a5926bd5c3fc2168997 (Rancor Group)

恶意RTF文档打开后会释放嵌入到OLE到%TEMP%目录的8.t中。文件8.t是恶意可执行文件释放器,用XOR和密钥0xFC进行加密。执行后,恶意软件会在目录C:\Windows\tracing\中释放2个文件ChromeApp.ps1和ChromeApp.vbs。然后创建一个名为ChromeApp的计划任务来执行VB脚本。VB脚本会调用PowerShell脚本,并用HTTP发送受害者User ID到C2 185.234.73[.]4,并接收要执行的指令。

11.png

图8: 开启恶意payload的计划任务创建

12.png

图9: 释放器执行后释放的恶意payload

C2 IP: 185.234.73.4URL: : http:185.234.73[.]4/CApp.php?name=NzI4QTRENTYtMEY0Ny0yQzY3LTY3QzEtQjg0MzNBOUU1Rjgw:VUk=

Dropping ‘.wll’ file in Microsoft Word ‘startup’ folder

Sample MD5: 019debaee6fdf9a9f872277563f0d9ee

文件打开后,RTF文档会释放嵌入的OLE package到%TEMP%目录的8.t中。Shellcode会解密8.t并保存到%APPDATA%\Microsoft\Word\STARTUP\cclerr.wll中。下次用户打开word后,释放的文件cclerr.wll会在word进程内存中加载和执行。
在word下一次运行时,研究人员发现:
1、cclerr.wll会以RasTls.dll的形式复制到C:\Program Files (x86)\Intel\Intel(R) Processor Graphics;
2、合法的可执行文件IntelGraphicsController.exe会通过DLL search-order劫持技术来加载恶意RasTls.dll文件。
3、Word.exe会执行下面的命令:

13.png

图10: word.exe进程执行的命令


4、在HKCU\Software\Microsoft\Windows\CurrentVersion\Run\IntelGraphicsController中设置注册表来实现驻留

14.png

图11: 驻留设置Windows Autorun key
5、在%TEMP%文件夹中释放两个batch文件,UnIB490.bat和UnIB4A0.bat。

6、这两个batch文件用来清除word文档和.wll文件。

15.png

图12: 清除恶意活动踪迹的batch脚本

结论

通过分析Royal Road武器化攻击研究人员发现多个黑客组织利用了CVE-2018-0798漏洞。这表明这些组织共享了漏洞利用攻击链。该漏洞利用出现6个月后出现在了商业化的恶意软件攻击活动中。

https://www.anomali.com/blog/multiple-chinese-threat-groups-exploiting-cve-2018-0798-equation-editor-vulnerability-since-late-2018

 


本文作者:ang010ela,来自百度安全原创投稿,转载请注明出处,并附上原文链接

0
现金券
0
兑换券
立即领取
领取成功