又出新玩法?微软公式编辑器系列漏洞新利用方式
来自样本库的一批奇怪的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
又出新玩法?微软公式编辑器系列漏洞新利用方式相关推荐
- android7玩法,QQ for Android v7.6.5 正式版发布 红包互动又双叒叕出新玩法
腾讯Android手机版QQ v7.6.5正式版发布,上一个正式版v7.6.3发布于5月25日,时隔13天又迎来了更新.本次升级主要是QQ视频拍摄功能全新升级,聊天时可发送会飞的魔性表情给好友,日迹拍 ...
- 用Unity制作一个很火的找不同游戏,包括核心玩法与关卡编辑器工具的实现
玩家们心里都清楚,其实游戏的品类超级多,有些人喜欢玩moba.射击竞技类的,有些人喜欢塔防.策略.回合制类的,而又有些人喜欢经营养成.休闲益智类的.休闲益智类游戏,虽没像moba类游戏的激烈操作带来的 ...
- 魔方图形 c语言,魔方小站带图案 带数字魔方的玩法教程 公式图解|3D动画
手机上百度或其他搜索引擎来的魔友,如果自动转码使网页排版错乱,请点上面"原网站"小字.或在地址栏输入 www.rubik.com.cn 看来你的魔方是个带图案的魔方,那么可能还原魔 ...
- 微信转账一次显示两个_微信转账又出新玩法!同时满足两个条件,收款转账畅通无阻...
随着移动支付市场的不断下沉,上至老人,下至小孩,现在对这种"隔空付款"的方式开始逐渐接受,给支付宝和微信带去收益的同时,也让移动支付在世界上的威名远扬.令人欣喜的是,微信支付虽然是 ...
- 无限幻斗那个服务器人多,《无限幻斗》旅团出新玩法 魔物狩猎探秘惊喜
网易首款跨次元实时共斗手游<无限幻斗>,近日推出了全新的旅团玩法,旅团成员在完成异界探险后,将有机会触发开启全新"魔物狩猎"副本.挑战猎魔Boss,将能获得丰厚的挑战奖 ...
- 有语音的计算机玩法,哈哈!刚出来的新玩法:喊一嗓子就能让电脑关机
哈哈!刚出来的新玩法:喊一嗓子就能让电脑关机 2020-12-23 18:44:12 4点赞 35收藏 1评论 创作立场声明:执行什么值得买社区指导原则 最近这天气真的越来越冷了,也会南方人会说:你们 ...
- 化妆品店5大智能玩法,引领美容美妆新零售趋势
打折疲软.促销乏力,化妆品实体零售困难重重,新零售到底能否给实体门店带来新生机? 当谜底未揭晓时,所有新的尝试都值得被鼓励 近两年来,化妆品实体零售渠道不断涌现新的零售模式,其中最容易操作,且与年轻消 ...
- 直播 TikTok Shop 2022最新玩法 卡位海外直播电商新流量
虎年开工,TikTok英国小店官宣开放申请的好消息便在跨境圈传开了,对于各大跨境卖家而言无疑是重大利好消息! 为了帮助大家更好地了解TikTok Shop最新发展情况,亿邦动力和TiChoo数据联合举 ...
- 微信状态出新玩法,又被网友玩坏了
微信8.0最"鸡肋"的几个Q里Q气的功能,除了动态表情之外,就当属一度登上热搜第一的[状态图]了???? 根据微信提供的20种标签主题,你可以"自定义"设置当天 ...
- MIT又出新玩法,利用AI可轻松分离视频中的乐器声音
本文由人工智能观察编译 译者:Sandy 均衡器是大概是被用来在音乐中加入低音的一种常用方式,但近日,麻省理工学院计算机科学与人工智能实验室(CSAIL)的研究人员研发了一个更好的解决方案.他们的深度 ...
最新文章
- Eureka与zookeeper
- jquery插件Loadmask
- 【Paper】2013_Cooperative control of multi-agent systems 二阶动态一致性
- Java SE 6 新特性: JMX 与系统管理(转载)-asp.net关注
- WCF学习之旅—WCF概述(四)
- PHP案例:单引号字符串与双引号字符串有什么区别?
- 我新买的GTX1050为何装上去一直是黑屏
- 2018年python工作好找吗-2018年IT行业薪资大揭秘:你拖后腿了吗?
- python3.6 +tkinter GUI编程 实现界面化的文本处理工具
- 【2016.4.6】结对编程 第二章 基础设计
- Spring Cloud Sleuth服务链路跟踪之入门篇(学习总结)
- 封装自己的DB类(PHP)
- 本地连接远程access数据库
- 网易云音乐html代码报告,网易云音乐H5案例欣赏:你的2017年度听歌报告
- android 启动第三方APP的方式
- android ip 黑白名单,“IP 黑白名单”功能说明
- 移动开发之三种近场通信
- 微信小程序——修改radio组件的大小
- 软件测试影响与分析,软件测试效率影响因素分析 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
- Web3 全栈开发指南
热门文章
- 计算机会议论文和sci,ei会议论文集算不算期刊_ieee会议论文集属于istp_会议论文集算发表么...
- php 四级联动插件,php四级联动
- win7科学计算机不支持,新CPU不支持Win7怎么回事?新一代主板装不了Win7的解决办法...
- 干货! IT信息资产分类与信息分级管理规定
- 计算机毕业设计Java学生课堂互动教学系统(源码+系统+mysql数据库+lw文档
- java语言有什么特点?
- 最小二乘支持向量机(LSSVM)推导
- linux 配置软件安装源
- 一个博士生接受怎样的训练是完整、全面的科研训练?
- excel转pdf排版怎么不变