利用了Office公式编辑器特殊处理逻辑的最新免杀技术分析(CVE-2017-11882)
作者:网友投稿 时间:2018-09-15 09:24
2018年8月24日,360威胁情报中心捕获到一个专门为乌克兰语使用者设计的钓鱼文档:该文档为RTF文件格式,且有详细的文档内容。经过分析确认这是首次发现的针对Office公式编辑器特殊处理逻辑而专门设计的用于绕过杀毒软件查杀的漏洞利用样本,涉及的漏洞正是CVE-2017-11882。
由于漏洞触发后的Payload已失效,360威胁情报中心在本文中专门针对样本使用的特殊免杀技术进行详细分析,并提醒各杀毒软件厂商做好针对该利用方式的检测。由于该免杀技术已经出现在在野利用的样本中,后续可能会有大量实际攻击样本使用该免杀手段逃过杀软检测,形成新的威胁。


文档内容


Google内容翻译
免杀效果及样本特点 免杀效果捕获到的样本在VirusTotal上查杀效果如下,首次上传时仅有4家杀软可以查杀,且仅有两家杀软能正确识别漏洞,如果稍加改动几乎可以躲过所有杀软的查杀:


捕获到的特殊样本在RTF控制字“\objdata”的header后面居然不是一个CompoundFile Binary Format(复合二进制文档)流,其紧跟的直接就是公式对象的数据(MTEF data),甚至连公式对象的头部数据(Equation Native Header)都没有:


而这样一个“畸形”的CVE-2017-11882漏洞利用文档,竟然能成功触发漏洞利用。
我们先复习一下正常的RTF文档中利用Office公式编辑器漏洞的方式,以CVE-2017-11882为例:
首先,RTF文档中会被插入一个objdata,紧跟在RTF控制字“\objdata”后,随后的数据结构为4字节的版本标识、format_id(embed代表嵌入式)、OLE流名字(Equation.3)等等:
Header:
01050000 // version
02000000 // format_id (embed)
0b000000
4571756174696f6e2e3300 // "Equation.3" could be anything
0000000000000000
410f0000 // data length
在“\objdata”的header后紧跟OLE对象流,可以看到其特殊的CompoundFile Binary Format(复合二进制文档)标识:D0 CF 11 E0 …


紧跟的OLE对象流是一个复合二进制文件(Compound File Binary Format),通过解析可以看到这是一个Office 公式3.0编辑器对象,RootEntry带有一个公式编辑器的CLSID {0002CE02-0000-0000-C000-000000000046}:


包含的Office 公式3.0编辑器对象由公式头+公式数据组成:



