微软发布11月安全更新 电脑管家建议用户及时修复
【文章摘要】 腾讯电脑管家平安实验室对2017年Office破绽以及破绽攻击举行了深入的剖析和整理,并向全社会输出此讲述,希望更多的人能够领会Office破绽以及危害,进一步提高平安意识;同时也希望各家平安厂商能够同心协力,一起来为用户建设加倍平安的网络环境。第一节 引子
微软Office系统软件(Word/Excel/PowerPoint等),一直是电脑上最为常用的办公软件之一,在国内外都拥有大量的用户。另一方面,行使Office系列软件的破绽举行网络攻击已经成为黑客习用的手段,普遍运用于APT攻击,抓肉鸡,流传勒索病毒等。其中一种典型的攻击方式是“鱼叉攻击”:黑客将包罗破绽的文档伪装成为一个正常的Office文档,并经心组织文件名,然后投递到用户邮箱,若是用户不小心打开文档,恶意代码便会悄悄执行,用户完全没有感知。
另外,随着新版本的Office不停公布,微软逐渐住手了对于老版本Office的手艺支持,包罗提供平安更新。2017年10月,微软就正式住手了对Office 2007的手艺支持。这本是软件生命周期中不可避免的事情,但对于使用Office软件的用户来说,除非升级到更新的版本,否则将面临被黑客攻击的风险。然而,事实上现在仍有大量的用户选择不升级,而是继续使用老版本的Office软件。
针对上述情形,腾讯电脑管家平安实验室对2017年Office破绽以及破绽攻击举行了深入的剖析和整理,并向全社会输出此讲述,希望更多的人能够领会Office破绽以及危害,进一步提高平安意识;同时也希望各家平安厂商能够同心协力,一起来为用户建设加倍平安的网络环境。
第二节 Office破绽补丁数据及剖析
停止到10月,微软在2017年一共公布了372个Office破绽补丁,除了1月和2月之外,微软每个月的公布的Office补丁数目都在30个以上,其中9月最高,公布了74个补丁,每月公布的补丁详细数目详见下图:
从破绽补丁公布的数目来看,若是用户不实时使用Windows Update或者第三方平安软件打补丁修复破绽,将面临极大的平安风险。
凭据腾讯电脑管家的统计,现在大约有48%的用户仍然在使用低版本的Office软件,包罗Office 2007/Office 2003等;同时,微软对于Office 2007以上版本的也不是完全支持:对于Office 2010和Office 2013来说,支持SP2及以上版本,对于Office 2013来说,支持SP1及以上版本。Office各版本用户漫衍如下图:
对于这些使用低版本Office的用户来说,他们将不再见收到任何Office破绽的平安更新,纵然这个破绽已经被黑客掌握并频仍用于网络攻击。
更为糟糕的是,许多用户虽然使用的是较高版本的Office,可以收到Office破绽的平安更新通知,然则由于平安意识的缺乏,往往选择不安装平安更新。以今年曝光的RTF破绽CVE-2017-0199为例:
破绽编号
破绽曝光时长
补丁公布时间
未修复比例
CVE-2017-0199
6个月
2017年4月
23.81%
这个破绽在网络上公然曝光的时长已经跨越了6个月,黑客早已掌握该破绽的行使手艺,并发起了多起网络攻击;另一方面,微软在2017年4月份的平安更新中就公布了该破绽的补丁,电脑管家也多次提醒用户修复该破绽,但停止当前,仍然有跨越1/5的用户没有选择修复该破绽。
第三节 Office破绽攻击案例剖析
2017年注定是网络平安不镇静的一年,WannaCry勒索病毒行使微软SMB“永恒之蓝”破绽横扫全球计算机网络,让所有人都切身感受到了破绽作为网络攻击武器的壮大威力。其实在2017年,Office破绽攻击也层出不穷,对政府、企业和小我私家都造成了很大的威胁。下面我们针对一些典型的Office破绽攻击案例来做剖析。
(一) 行使Office破绽举行APT攻击
Office破绽经常用于APT攻击,对于高价值目的,甚至会使用未公然的Office 0Day破绽。2017年就曝光了数个Office0Day破绽野外攻击样本,而我们也捕捉了一些行使Office破绽的APT攻击样本。
CVE-2017-8759是2017年曝光的Office0Day破绽之一,在破绽曝光后的几天内,我们就捕捉到了攻击样本。攻击载体是一个名为《香港记者***.doc》的Word文档,通过钓鱼邮件发动鱼叉攻击。文档中嵌入了恶意载荷,触发CVE-2017-8759破绽后执行,会从指定URL下载一个名为whoamifile.jpeg的hta文件:
whoamifile.jpeg文件的功效是下载指定服务器上的youcandowhat.jepg文件到暂且目录并执行,该文件是一个远程控制木马LameRat的安装包。LameRat能够检测数十种国内外主流平安软件,并举行响应的绕过安装,适配当前主流的windows操作系统。
LameRat主要功效都通过下发种种插件完成,剖析发现该木马下发的插件多大数十种,能够实现种种庞大的定向功效:
(二) 行使Office破绽流传僵尸网络
僵尸网络的主要流传路径为海量发送钓鱼邮件。随着民众平安意识的提高,直接发送可执行文件的钓鱼文件被乐成打开的几率变得越来越低,而发送文档类型的文件则能大大提高点击率,因此Office破绽也成了僵尸网络流传者的最常用的手段之一。在CVE-2017-0199破绽曝光后,我们就阻挡到了大量行使该破绽的钓鱼邮件,邮件附件中携带了CVE-2017-0199破绽行使程序,一旦收件人在未打补丁的电脑上打开附件中的Doc文件,就会熏染Loki Bot僵尸网络木马:
流传的Loki Bot僵尸网络,会偷取大量帐号密码。
(三) 行使Office破绽流传勒索病毒
勒索病毒是近年来互联网平安面临的主要威胁之一。除了WannaCry,Petya等着名勒索病毒之外,迄今我们已经发现了数百种的勒索病毒及其变种,而Office破绽也成为了勒索病毒流传的主要手段之一。以下是我们近期阻挡到的行使CVE-2017-0199打包的敲诈者病毒邮件:
破绽触发后释放的木马是一个敲诈者病毒,能够加密电脑中的多种文档类型文件,而且用到RSA2048非对称加密,理论上无法破解,木马还会凭据加密文件的数目和巨细等来判断要勒索的比特币数目。
越来越多的攻击者加倍倾向于行使Office破绽文档来举行恶意行为,相比传统的可执行程序更具有迷惑性。若攻击者使用鱼叉或水坑攻击方式,并连系社会工程学手段,经心组织文档名及伪装内容,平安意识微弱的用户很容易中招。
第四节 破绽原理剖析
2017年曝光了好几个Office破绽以及破绽的行使方式,这一定程度上导致了Office破绽攻击的泛滥。接下来将从手艺角度去揭破这些破绽的原理,以及破绽修复的思索。我们信赖,只有深入明白这些破绽,才有可能做出更好的防御。
(一) 逻辑破绽CVE-2017-0199、CVE-2017-8570
CVE-2017-0199是Microsoft Office的OLE处置机制实现上存在的一个逻辑破绽,此破绽的成因主要是word在处置内嵌OLE2LINK工具时,通过网络更新工具时没有正确处置Content-Type所导致的一个逻辑破绽。攻击者可行使这个破绽组织恶意Office文件,当用户打开特殊组织的恶意Office文件后,无需其他的操作,就可以实现在用户系统上执行随便下令,从而控制用户系统。
这个破绽的行使异常简朴,不同于内存损坏破绽,它不需要做内存结构,不需要绕过微软接纳的一系列诸如ASLR、DEP之类的破绽缓解措施,就能实现从远程服务器下载执行随便代码,而且乐成率异常高,同时影响office所有版本。在2017年BlackHat黑帽大会上,CVE-2017-0199获得了最佳客户端平安破绽奖。
CVE-2017-0199涉及到两个危险的COM工具:
腾讯电脑管家Office专版护航办公安全
CLSID_SCRIPTLET = {06290bd3-48aa-11d2-8432-006008c3fbfc}
CLSID_HTA = {3050f4d8-98b5-11cf-bb82-00aa00bdce0b}
CLSID_HTA是一个示意Microsoft HTML Application(文件后缀.hta)的全局唯一标识符,由32个16进制字符组成。scriptlet又称为Windows Script Component(WSC),其设计目的是执行Javascript、VBScript以及PerlScript等剧本语言,同样也可以执行XML文件中的剧本代码。
微软在4月份公布补丁修复了CVE-2017-0199,分成两部门,一部门是针对Office的补丁,修改了MSO.dll,一部门是针对Windows的补丁,修改了ole32.dll,需要office补丁和Windows补丁两者连系一起,才气完整修复这个破绽。微软在补丁中加入了一套过滤机制,在office实验初始化这两个危险的COM工具时,直接拒绝掉。
单纯地过滤COM工具的GUID很容易,然则可以寻找另外的COM工具来绕过补丁,这导致了另外一个破绽:CVE-2017-8570的降生,平安研究人员另外找到了一个GUID为{06290BD2-48AA-11D2-8432-006008C3FBFC}的COM工具,它和之前的GUID异常类似:
{06290BD3-48AA-11D2-8432-006008C3FBFC}
{06290BD2-48AA-11D2-8432-006008C3FBFC}
可以看到两者只相差一位。这个新的GUID绕过了微软针对CVE-2017-0199的补丁,微软不得不继续添加过滤列表,在8月份继续公布补丁封堵了这个新的GUID。在可以想象的未来,预计这个过滤列表会继续增添下去。
(二) EPS破绽CVE-2017-0261、CVE-2017-0262
EPS是封装的PostScript(Encapsulated PostScript)花样。PostScript语言是Adobe 公司设计用于向任何支持PostScript语言的打印机打印文件的页面形貌语言。EPS图片实际上就是一个PostScript程序。
Office文档中可以嵌入种种花样的图片,例如GIF、JPG、PNG等等,也可以嵌入EPS图片,每种图片都有对应的处置模块,例如GIF图片由GIFIMP32.FLT处置,EPS图片由EPSIMP32.FLT处置。在打开Office文档时,会建立一个FLTLDR.EXE的历程,加载种种图片的处置模块,当文档中嵌入EPS图片时,EPSIMP32.FLT会被加载进来,用于渲染EPS图片。
CVE-2017-0261是一个EPS的UAF破绽,PostScript中,内陆VM中的工具分配和对内陆VM中的现有工具的修改由称为save和restore的功效完成,它们可以用来封装位于内陆VM中的PostScript语言程序的相关代码。restore能够释放新建的工具,并撤消从响应的save操作后对现有工具的修改,接纳从save操作后所分配的内存。当与forall运算符组适时,攻击者就可以实行类似Use-After-Free的破绽攻击了,下图显示了行使save和restore操作的伪代码:
通过操作save操作符之后的操作,攻击者能够操作内存结构,并将UAF破绽转换为读/写原语。攻击者建立了一个字符串,行使破绽将它的长度设置为0x7fffffff,基数为0。此时,攻击者拥有了读写随便用户内存的能力,EPS图片中的PostScript剧本可以进一步搜索gadgets来构建ROP链,使用ROP链来修改存放shellcode的内存块为可执行。这样恶意的shellcode就能够在FLTLDR.EXE历程中运行了。
CVE-2017-0262是一个EPS的类型混淆破绽,由forall操作符引发的,它可以改变执行流程,允许攻击者控制栈上的值。攻击者继而行使了两个数组工具,实现了EPSIMP32.FLT的基址泄露和随便地址读写:
然后进一步组织ROP链,通过ROP实现了shellcode的执行。
这两个破绽最终都实现了在FLTLDR.EXE历程中执行随便代码,但它是一个沙箱历程,权限很低,以是攻击者还需要行使内核提权破绽来实现沙箱逃逸,获取到系统的最高控制权。
由于剧本语言的灵活性,微软的一些破绽缓解机制如ASLR、DEP等相继被绕过,这使得微软在5月份的office补丁中做出了很激进的修复措施,直接克制了EPSIMP32.FLT的加载,也就是说,office不再支持EPS图片花样,一劳永逸地杜绝了所有的EPS破绽。
(三) .NET Framework破绽CVE-2017-8759
CVE-2017-8759本质上是一个.Net Framework破绽,影响所有主流的.NET Framework版本。现在主流的windows 7、windows 10等操作系统中都默认安装了.NET Framework,任何使用SOAP服务的软件都能通过.NET Framework触发,固然它也可以集成到office文档中,用户只要双击打开office文档,无需其他操作,即可触发该破绽,实现随便代码执行。破绽位于:
http://referencesource.microsoft.com/#System.Runtime.Remoting/metadata/wsdlparser.cs
中的PrintClientProxy函数中,该函数用于将剖析wsdl文件后获得的信息花样化成.cs代码,其中部门代码如下所示:
soap:address中的location指定了SOAP的URL地址,在6142行、6149行中,调用了WsdlParser.IsValidUrl()函数来花样化location指定的URL地址,这个函数代码如下所示:
这个函数功效很简朴,将剖析获得的URL地址前面加上@”,末尾再加上”,就返回了,例如,string value输入的URL地址是http://guanjia.qq.com,会被花样化成@”http://guanjia.qq.com”返回给调用者。6148行、6149行、6150行三行代码会花样化成如下所示的代码:
// base.ConfigureProxy(this.GetType(), @"”http://guanjia.qq.com”
一个wsdl文件中可以指定多个location,从以上代码中可以看到,只有第一个location才是有用的,从第二个最先,会加上注释符//,整个URL地址会被看成注释内容输出到.cs代码中,然后会建立csc.exe历程,由它编译天生一个名字类似于http*****.dll,这个DLL会被加载到office历程中,由于最终编译天生的.dll内里不会包罗注释的URL地址,在正常情形下,这里不会有任何问题。然则WsdlParser.IsValidUrl()函数中没有思量输入的string value会包罗一个换行符的情形,例如,我们捕捉的攻击样本中指定了如下所示的一个location:
WsdlParser.IsValidUrl()函数花样化后,会天生如下的代码:
我们可以看到注释符//只注释了base.ConfigureProxy(this.GetType(), @";,由于换行符的存在,它不会注释掉接下来的4行代码,这些代码会被编译到最后天生的http*****.dll中,被office历程加载后执行。
在样本中,通过代码:
System.Diagnostics.Process.Start(_url.Split('?')[1], _url.Split('?')[2]);
建立了mshta.exe历程,通过“_url.Split('?')[2]”指定让mshta.exe从攻击者控制的远程服务器中拉取到一个.db文件,内里嵌入了一段VBScript剧本,会由mshta.exe剖析执行,进一步从攻击者控制的远程服务器中拉取远控木马下载执行。
微软在9月份的补丁中修改了WsdlParser.IsValidUrl()函数,它循环遍历location中指定的每一个字符,对于换行符这样的特殊符号,不会输出它,对于不是数字也不是字母的字符,打印成\u****十六进制形式输出,例如,上述攻击者指定的有问题的location最终天生如下的代码:
这样就有用避免了最终天生的代码中泛起换行符的情形,也确保了注释符//能注释掉location中指定的内容。
(四) 类型混淆破绽CVE-2017-11826
CVE-2017-11826是一个类型混淆破绽,Microsoft Word的OOXML剖析器在处置docx文档的word/document.xml时,没有正确地验证标签工具是否闭合,造成类型混淆,通过经心组织标签和内存结构,最终可以造成随便代码执行。这个破绽影响所有版本的word。下图是我们捕捉到的一个行使该破绽的RTF样本:
该RTF首先会举行堆喷,做内存结构,然后释放一个带CVE-2017-11826破绽的.docx文档,触发破绽后,借助word中一个没有启用ASLR的msvbvm60.dll,组织ROP链,把shellcode所在的内存区设为可执行,实现在word中执行随便代码。
微软在10月份的补丁中修复了这个破绽,在处置没有闭合的标签时做了分外的判断,不会泛起之前的类型混淆问题。
第五节 破绽防御
由于许多用户仍然在使用低版本的Office,同时许多用户并没有养成实时打补丁的习惯,腾讯电脑管家除了推送破绽补丁之外,对于行使Office破绽举行的攻击,也做了针对性的防御方案,供偕行参考和指正:
1、绝大多数被黑客行使的Office破绽,好比早些年的CVE-2012-0158、CVE-2015-1641,以及2017年的CVE-2017-11826,都属于内存损坏型的破绽。这类破绽无一例外都要用到未开启ASLR的DLL来执行ROP,突破DEP。针对这点,腾讯电脑管家对Office系列软件的历程做了特殊处置,每当历程加载一个DLL时,会判断该DLL是否开启了ASLR,若是没有的话,会强制该DLL加载到另外一个随机的地址上去,这样硬编码的ROP就会失效,从而有用防御这类破绽;
2、对于EPS破绽,好比早些年的CVE-2015-2545和2017年的CVE-2017-0261、CVE-2017-0262,虽然也属于内存损坏型的破绽,然则由于能够执行EPS剧本,灵活性异常大,经心组织的话有可能绕过ASLR+DEP。微软为了根治这个问题,已经在今年4月份的Office补丁中禁用了EPS,管家针对一些没有安装EPS破绽补丁的Office也做了同样的处置,克制了处置EPS图片的EPSIMP32.FLT模块加载;
3、对于逻辑型破绽,好比CVE-2017-0199、CVE-2017-8570、.Net破绽CVE-2017-8759,由于不涉及到二进制层面的破绽行使,直接Bypass掉了微软以及平安软件对于破绽行使的缓解和防御机制。针对这类破绽,腾讯电脑管家加强了Office历程的自动防御逻辑,包罗凭据Office历程的关系链制订阻挡规则,克制Office建立高风险历程等。
第六节 结语
在本研究讲述撰写的同时,行使OfficeDDE(动态数据交换)特征的一种新型攻击手段已经在网络扩散。虽然该攻击需要用户交互,但由于平安意识的缺乏,仍然有不少用户中招。这无疑又给我们敲了一次警钟:无论已往,现在,照样未来,Office破绽攻击仍然会不停连续,也会不停泛起新的攻击手段。作为平安从业者,我们一方面需要不停加强用户平安教育,提高用户平安意识,另一方面,也需要不停加强自身产物的平安能力。任重道远,与诸君共勉!
2017年11月Flash漏洞月报