当前样本是一个RTF文档,内嵌一个公式编辑器对象,该对象利用Office编辑器漏洞CVE-2018-0798执行shellcode,对EQNEDT32.exe进行代码注入,执行恶意代码。

  使用rtfobj查看文档结构,可以看到携带了3个OLE对象,但是id为1的对象并未被使用。

  第二个是一个package对象,原路径为” C:\Users\n3o\AppData\Local\Microsoft\Windows\INetCache\Content.Word\wd32PrvSE.wmf”,实际是一个经过加密的exe文件,在漏洞触发后,被Shellcode解密并注入新起的EQNEDT32.exe进程中;

  第三个为公式编辑器对象,其中 {0002CE02-0000-0000-C000-000000000046}即为Equation Editor 3.0关联CLSID,该对象会触发CVE-2019-0798漏洞,从而执行Shellcode。



  在EQNEDT32.exe中CVE-2018-0798漏洞函数sub_443E34处下断点,打开RTF文档,程序将中断于断点。

  在sub_443E34中,会对公式编辑器对象进行处理。其中sub_416352用于获取控制数据,之后在sub_443F6C函数中会进行数据复制操作,而之前获取的偏移0x1E、0x1F处的字节将被用于控制数据复制的长度。



  sub_443F6C中,参数a1即为控制长度的字节,计算值”(2*a1+9)>>3”,结果作为复制数据的长度值,该函数被连续调用两次,完成目标的覆盖。

  覆盖前的栈:

  覆盖后的栈:

  接着调用sub_4428F0,利用之前覆盖的数据,构建一个Trampoline Shellcode片段,用于跳转执行RTF本身携带的Shellcode。

  在sub_43A78F中控制程序再次调用漏洞函数sub_443E34,最终覆盖函数sub_443E34的返回地址。通过构造并覆盖成功的ROP链跳转到Trampoline Shellcode处,最终成功跳转并执行自身携带的Shellcode。

  Shellcode进行异或自解密,并继续执行解密后的代码。

  读取被释放到目录下的package对象wd32PrvSE.wmf,进行异或解密,得到一个EXE文件。

  使用Process Hollowing技术将解密后的EXE隐藏于EQNEDT32.exe进程中执行。

  解密出的EXE将会复制自身的执行文件(即EQNEDT32.exe)到目录,并以当前时间创建文件名。接着访问URL:https://internetcasinoweblog.com/wp-admin/js/xfn/joel.exe(已失效),下载资源,写入下被创建的时间命名的文件,最终执行程序。

  如果下载失败,执行的将是一开始复制过来的EQNEDT32.exe,只是名字被更改。

公式编辑器CVE-2018-0798样本分析的更多相关文章

  1. CVE-2018-0798:Microsoft office 公式编辑器 Matrix record 字段栈溢出漏洞调试分析

    \x01 前言 2018 年 1 月 9 日,Office 公式编辑器再曝出新漏洞,编号为 CVE-2018-0798.提起公式编辑器大家都不陌生,之前的 CVE-2017-11882 和 CVE-2 ...

  2. CVE-2018-0802:Microsoft office 公式编辑器 font name 字段二次溢出漏洞调试分析

    \x01 前言 CVE-2018-0802 是继 CVE-2017-11882 发现的又一个关于 font name 字段的溢出漏洞,又称之为 "第二代噩梦公式",巧合的是两个漏洞 ...

  3. CVE-2017-11882:Microsoft office 公式编辑器 font name 字段栈溢出通杀漏洞调试分析

    \x01 漏洞简介 在 2017 年 11 月微软的例行系统补丁发布中,修复了一个 Office 远程代码执行漏洞(缓冲区溢出),编号为 CVE-2017-11882,又称为 "噩梦公式&q ...

  4. office2003安装公式编辑器mathtype5.2

    同事的一台电脑,xp系统,需要安装公式编辑器mathtype,安装完后,启动word时出现了宏的警告. 在菜单中,无论如何设置宏,都不能去除该提示框.删除了模板normal.dot,也不能解决该问题. ...

  5. 公式编辑器MathType基本使用方法总结----应付本科毕业论文完全没问题啦^_^

    本人计算数学专业毕业,写毕业论文和外文翻译的时候会遇到大量公式需要编辑,而且学校一般都要求用word.但是Word自带的公式编辑器只支持一种字体,当公式中涉及到特殊字体就不太方便了.如果用Latex来 ...

  6. ocky勒索软件恶意样本分析1

    locky勒索软件恶意样本分析1 1 locky勒索软件构成概述 前些时期爆发的Locky勒索软件病毒这边也拿到了一个样本,简要做如下分析.样本主要包含三个程序: A xx.js文件:Jscript脚 ...

  7. ocky勒索软件恶意样本分析2

    locky勒索软件恶意样本分析2 阿尔法实验室陈峰峰.胡进 前言 随着安全知识的普及,公民安全意识普遍提高了,恶意代码传播已经不局限于exe程序了,Locky敲诈者病毒就是其中之一,Locky敲诈者使 ...

  8. Mac下门罗币矿工样本分析

    背景 今天遇到一个JSONRPC的告警,怀疑挖矿木马,IOC是132.148.245.101,无其他信息,随即google一波. 查询网络 遇到了,主动下载样本分析,下载地址:http://rjj.q ...

  9. MS Office CVE-2015-1641 恶意 Exploit 样本分析

    MS Office CVE-2015-1641 恶意 Exploit 样本分析 在对最近的一个恶意 MS Office 文档样本进行分析时,我们发现了一些有趣的特性.这个文档利用 CVE-2015-1 ...

随机推荐

  1. 图形验证插件,百度编辑器拓展功能,NodeJs消息机制以及聊天室

    图形验证插件 网上找了很多图形验证插件,比较推荐verify.js <link rel="stylesheet" type="text/css" href ...

  2. 读《疯狂Java讲义》笔记总结一

    最近在读<疯狂Java讲义>,现把其中遇到的一些自己以前没掌握的点儿记录下来. 1.字符串相关 字符串不是基本类型,字符串是一个类,也就是一个引用类型. 字符串转int类型String a ...

  3. day4 对偶数、偶数位的操作

    1.函数fun()的功能:从低位开始取出整形变量s中偶数位上的数,依次构成一个新数放在t中.高位仍在高位. 效果理想:但是经测试的时候出现了错误 输入987654321时,打印出来的却是18681.经 ...

  4. sql解除死锁

    select spIdfrom master..SysProcesseswhere db_Name(dbID) = 'Tb_axxxxx'and spId <> @@SpIdand dbI ...

  5. 【笔记】thanos receiver的router模式

  6. 淘系工程师讲解的使用Spring特性优雅书写业务代码

    使用Spring特性优雅书写业务代码   大家在日常业务开发工作中相信多多少少遇到过下面这样的几个场景: 当某一个特定事件或动作发生以后,需要执行很多联动动作,如果串行去执行的话太耗时,如果引入消息中 ...

  7. Casbin + Gin + Gorm 学习探索

    Casbin 是一个强大的,开源的访问控制框架,权限管理机制支持多种访问控制模型: 并且支持多种编程语言: 文档地址:https://casbin.org/docs/zh-CN/overview Gi ...

  8. Typora + picgo + Chevereto 优雅地上传图片

    需求:由于经常使用typora写文章,但是配合picgo使用的sm.ms图床,github图床等,速度不稳定,因此我们想要利用自己的服务器搭建自己的图床,将自己文章的图片上传到自己的服务器中,优雅地写 ...

  9. Fiddler初学笔记

    Fiddler简介 Fiddller官网: www.fiddler2.com Fiddler是客户端与服务器端的http代理,是目前最常用的http抓包工具之一. Fiddler能够监听客户端和服务器 ...

  10. checklist 编写指南

    checklist 编写工具 checklist文档格式推荐使用思维导图.比如 MindMaster 和 processon.我喜欢用这些平台或者软件的思维导图大纲模式来编写 checklist. c ...