首页
社区
课程
招聘
[原创]CVE-2018-0798相关恶意文档分析
发表于: 2025-8-3 15:58 3907

[原创]CVE-2018-0798相关恶意文档分析

2025-8-3 15:58
3907

SHA1: e106597b2b9b695af8dcf720c4c2873cd5d1731d

样本是一个rtf文档,Word打开看是一堆乱码,没有看出异常的地方

RTFScan.exe 扫描发现该RTF样本不正常,有问题

010 editor查看该样本与已知的 CVE-2018-0798漏洞利用文档有几处相似,图中的29C344与500645是 CVE-2018-0798漏洞利用时会用到需要被写入的 0x450650、0x44C329。

CVE-2018-0798是栈溢出漏洞,发生在 Office 程序的EQNEDT32.exe(微软公式编辑器)。该程序用于在Word等文档中创建和编辑复杂的数学公式。Office 程序将这些公式作为OLE对象插入到文档中,并在程序启动时创建EQNEDT32.exe 进程EQNEDT32.exe在解析Matrix record并未检查长度,导致栈溢出。

“Matrix record”是微软公式编辑器数据格式(MTEF)中的一种记录类型,专门用于定义和描述数学公式中的矩阵。 当用户在文档中插入一个矩阵公式时,公式编辑器会以MTEF格式来存储这个公式的结构和内容。MTEF格式由一系列的记录(record)组成,每种记录都代表了公式中的一个特定元素,例如字体、字符、符号或更复杂的结构如矩阵。

栈溢出具体发生在sub_443F6C函数,没有对输入做限制,导致覆盖了sub_443E34返回地址,从而导致栈溢出漏洞。

Word 程序打开了样本

EQNEDT32.EXE(微软公式编辑器)进程也启动了。Embedding 可以看作是一个参数,表示EQNEDT32.EXE 程序由另一个应用程序Word以“嵌入”模式启动的。

EQNEDT32.exe 创建了一个文件 Binex.exe,同时还要注意到一个不同寻常的网络连接, ejeana.co.ug,VT 显示这是一个恶意的地址

EQNEDT32.exe 进程是由 Word 创建的,要在 Word 程序启动时让EQNEDT32.exe 附加到调试器中,并捕获到栈溢出的细节,要经过一番设置。

打开样本文档,调试器就自动附加了EQNEDT32.exe 进程。

调试EQNEDT32.exe,第一次调用函数0x443F6C 时,寄存器和栈区情况如下所示

第二次要调用函数0x443F6C 时,寄存器和栈区情况如下图所示

可以看到


传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 34
活跃值: (586)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
2
讲的不错
2025-8-7 13:52
0
雪    币: 42
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
可以私聊吗
2025-8-9 20:21
0
游客
登录 | 注册 方可回帖
返回