来自样本库的一批奇怪的RTF样本。这批样本相比较CVE-2018-0802传统利用方式而言,采用了一种新的利用方式,能够绕过市面上大多数杀软,并且即使部分杀软能查杀,也无法正确识别漏洞。

技术细节

首先,经过分析,我们发现这批样本有一个通用特征:都内嵌了一个CFBF(Compound File Binary Format)对象,将该文件提取后发现只有一个"\x01Ole10Native"流。

在文本编辑器中浏览该文件也未发现明文的URL,文件路径或是命令等信息。

经过分析,我们发现这批样本是公式编辑器系列漏洞的新利用方式。可以用于构造和CVE-2017-11882,CVE-2018-0802相同触发机制,但静态特征更少的恶意样本。

首先可以观察到,这个CFBF对象的Root Entry带有一个CLSID {0002CE02-0000-0000-C000-000000000046}。

而这个CLSID对应的对象是Microsoft Equation 3.0,即该对象是一个公式3.0编辑器对象。

而在[MS-OLEDS]中可以查到"\x01Ole10Native"流的结构。前四个字节表示数据长度,后面的字节流均为对应的数据。但是可以发现,这段数据的含义并不显然。也许是shellcode,但是shellcode的头部并不在偏移量为0的位置。

我们来回顾一下之前在CVE-2017-11882中,公式数据被加载和读取的过程。

通过Unicode字符串"Equation Native"可以定位到数据流加载的过程。如下图所示。

注意到这里可能是对虚函数表的调用,28行的s_EquationNative是流名,则v10这个唯一的out变量应该对应于IStream,那么a2应该对应于IStorage。

进行标注后得到以下结果。

我们来梳理一下图中这一段的逻辑。

在第26~29行,公式编辑器首先尝试从CFBF对象中读取名为"Equation Native"的流。如果失败(v11不为0),则尝试读取名为"\x01Ole10Native"的流。

在第35行,公式编辑器根据流的类型,从流中读取不同大小的数据到一个变量中。如果流的类型是"Equation Native",则读取0x1C个字节;如果流的类型是"\x01Ole10Native",则读取4个字节。根据之前对于CVE-2017-11882等漏洞的分析,可以得知这里是在处理公式对象的OLE头。

在第38行,判断了数据的头部是否正确。如果流的类型是"\x01Ole10Native",则不作任何检查;如果流的类型是"Equation Native",则判断OLE头的前两个字节是不是0x001C(小端序),及随后的四个字节是不是0x00020000(小端序)。

在第40~43行,根据流的类型为接下来的公式数据分配内存空间。如果流的类型是"\x01Ole10Native",则流的前4个字节([v9+0])就是数据大小;如果流的类型是"Equation Native",则流的第8个字节处的DWORD就是数据大小,而图中的v14([esp+0x3C])正好是v13([esp+0x34])偏移量为8的位置。

在第50~53行,根据流的类型来读入公式数据。对两种流的处理实际是相同的。而在第66行的函数调用中,程序对读入的公式数据开始进行处理。

也就是说,两种不同的流,对应的数据,区别仅仅是数据头:"Equation Native"流的数据头是0x1C个字节,而"\x01Ole10Native"流的数据头仅仅是4个字节。

我们继续回到样本数据处进行查看。

前面的5个字节是公式头数据。按理说应该是如下格式。

但是实际上,上图中的第1、3、4三个字段是被公式编辑器的处理函数忽略掉了的。

我们可以注意到,该样本中的前五个字节中,在第1、3、4个字段有意地使用了错误的数值,使得静态特征更难被提取。

接下来的"0a","01"数据分别对应初始SIZE记录和LINE记录,然后"08 b3 c1"对应的是FONT表记录,即CVE-2017-11882/CVE-2018-0802漏洞。

随后的部分就是shellcode了。这里可以确定是CVE-2018-0802漏洞。

后面的分析与各厂商的CVE-2018-0802漏洞分析报告大同小异,就不再做具体说明了,欢迎进行讨论交流。

相关IOC信息

漏洞文档触发后的下载链接IP:23.249.161.109

Ifun.exe家族:FormBook,一种窃密木马

C&C:

www.pensandwoodworking.com

www.euroasianbridge.com

www.dlpestscontrol.com

www.salihatasarim.com

www.datascienceactuaries.net

www.wisataanambas.com

www.5nesglaz.online

www.tewyt.info

www.rahafim.com

www.gardenshades.com

www.beb-sef-sufficient.com

www.femmefeline.com

www.edosensei.com

www.outdoormerk.com

www.prfitvxnfe.info

www.bloggingsays.com

www.rahafim.com

又出新玩法?微软公式编辑器系列漏洞新利用方式相关推荐

  1. android7玩法,QQ for Android v7.6.5 正式版发布 红包互动又双叒叕出新玩法

    腾讯Android手机版QQ v7.6.5正式版发布,上一个正式版v7.6.3发布于5月25日,时隔13天又迎来了更新.本次升级主要是QQ视频拍摄功能全新升级,聊天时可发送会飞的魔性表情给好友,日迹拍 ...

  2. 用Unity制作一个很火的找不同游戏,包括核心玩法与关卡编辑器工具的实现

    玩家们心里都清楚,其实游戏的品类超级多,有些人喜欢玩moba.射击竞技类的,有些人喜欢塔防.策略.回合制类的,而又有些人喜欢经营养成.休闲益智类的.休闲益智类游戏,虽没像moba类游戏的激烈操作带来的 ...

  3. 魔方图形 c语言,魔方小站带图案 带数字魔方的玩法教程 公式图解|3D动画

    手机上百度或其他搜索引擎来的魔友,如果自动转码使网页排版错乱,请点上面"原网站"小字.或在地址栏输入 www.rubik.com.cn 看来你的魔方是个带图案的魔方,那么可能还原魔 ...

  4. 微信转账一次显示两个_微信转账又出新玩法!同时满足两个条件,收款转账畅通无阻...

    随着移动支付市场的不断下沉,上至老人,下至小孩,现在对这种"隔空付款"的方式开始逐渐接受,给支付宝和微信带去收益的同时,也让移动支付在世界上的威名远扬.令人欣喜的是,微信支付虽然是 ...

  5. 无限幻斗那个服务器人多,《无限幻斗》旅团出新玩法 魔物狩猎探秘惊喜

    网易首款跨次元实时共斗手游<无限幻斗>,近日推出了全新的旅团玩法,旅团成员在完成异界探险后,将有机会触发开启全新"魔物狩猎"副本.挑战猎魔Boss,将能获得丰厚的挑战奖 ...

  6. 有语音的计算机玩法,哈哈!刚出来的新玩法:喊一嗓子就能让电脑关机

    哈哈!刚出来的新玩法:喊一嗓子就能让电脑关机 2020-12-23 18:44:12 4点赞 35收藏 1评论 创作立场声明:执行什么值得买社区指导原则 最近这天气真的越来越冷了,也会南方人会说:你们 ...

  7. 化妆品店5大智能玩法,引领美容美妆新零售趋势

    打折疲软.促销乏力,化妆品实体零售困难重重,新零售到底能否给实体门店带来新生机? 当谜底未揭晓时,所有新的尝试都值得被鼓励 近两年来,化妆品实体零售渠道不断涌现新的零售模式,其中最容易操作,且与年轻消 ...

  8. 直播 TikTok Shop 2022最新玩法 卡位海外直播电商新流量

    虎年开工,TikTok英国小店官宣开放申请的好消息便在跨境圈传开了,对于各大跨境卖家而言无疑是重大利好消息! 为了帮助大家更好地了解TikTok Shop最新发展情况,亿邦动力和TiChoo数据联合举 ...

  9. 微信状态出新玩法,又被网友玩坏了

    微信8.0最"鸡肋"的几个Q里Q气的功能,除了动态表情之外,就当属一度登上热搜第一的[状态图]了???? 根据微信提供的20种标签主题,你可以"自定义"设置当天 ...

  10. MIT又出新玩法,利用AI可轻松分离视频中的乐器声音

    本文由人工智能观察编译 译者:Sandy 均衡器是大概是被用来在音乐中加入低音的一种常用方式,但近日,麻省理工学院计算机科学与人工智能实验室(CSAIL)的研究人员研发了一个更好的解决方案.他们的深度 ...

最新文章

  1. Eureka与zookeeper
  2. jquery插件Loadmask
  3. 【Paper】2013_Cooperative control of multi-agent systems 二阶动态一致性
  4. Java SE 6 新特性: JMX 与系统管理(转载)-asp.net关注
  5. WCF学习之旅—WCF概述(四)
  6. PHP案例:单引号字符串与双引号字符串有什么区别?
  7. 我新买的GTX1050为何装上去一直是黑屏
  8. 2018年python工作好找吗-2018年IT行业薪资大揭秘:你拖后腿了吗?
  9. python3.6 +tkinter GUI编程 实现界面化的文本处理工具
  10. 【2016.4.6】结对编程 第二章 基础设计
  11. Spring Cloud Sleuth服务链路跟踪之入门篇(学习总结)
  12. 封装自己的DB类(PHP)
  13. 本地连接远程access数据库
  14. 网易云音乐html代码报告,网易云音乐H5案例欣赏:你的2017年度听歌报告
  15. android 启动第三方APP的方式
  16. android ip 黑白名单,“IP 黑白名单”功能说明
  17. 移动开发之三种近场通信
  18. 微信小程序——修改radio组件的大小
  19. 软件测试影响与分析,软件测试效率影响因素分析 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  20. Web3 全栈开发指南

热门文章

  1. 计算机会议论文和sci,ei会议论文集算不算期刊_ieee会议论文集属于istp_会议论文集算发表么...
  2. php 四级联动插件,php四级联动
  3. win7科学计算机不支持,新CPU不支持Win7怎么回事?新一代主板装不了Win7的解决办法...
  4. 干货! IT信息资产分类与信息分级管理规定
  5. 计算机毕业设计Java学生课堂互动教学系统(源码+系统+mysql数据库+lw文档
  6. java语言有什么特点?
  7. 最小二乘支持向量机(LSSVM)推导
  8. linux 配置软件安装源
  9. 一个博士生接受怎样的训练是完整、全面的科研训练?
  10. excel转pdf排版怎么不变