基于Cobalt Strike 和Office漏洞的入侵者反制研究

2018-06-29 01:58刘晨李春强丘国伟
网络空间安全 2018年1期
关键词:主动防御计算机网络网络安全

刘晨 李春强 丘国伟

摘 要:当今时代,虚拟的计算机网络空间已被视为一个主权国家极其重要的“第五空间”。网络安全的问题也与人们的生活更加密切。然而,传统的安全防御机制始终处于被动式的防御机制,不能对入侵者进行及时地制裁。通过入侵者反制研究,可以将被动式的防御变为主动的防御,更大限度地保障网络安全,并为攻击过后的溯源调查增加更多的依据。

关键词:网络安全 ;主动防御 ;计算机网络

中图分类号:TP393.08 文献标识码:B

Research on intruder intrusion based on cobalt strike and office vulnerabilities

Abstract: At present, cyberspace has been regarded as the "fifth space" after land, sea, air and sky". People also pay more and more attention to the problem of network security. However, the traditional security defense mechanism is always in the passive defense mechanism, and can not punish the intruder in time. Through the research of intruder, we can change the passive defense into active defense, and guarantee the network security to a greater extent. And add more evidence to the investigation after the attack.

Key words: network security; active defense; compute network

1 引言

众所周知,微软公司的Microsoft Office产品无论在国内还是国外都占有很大的市场量。而其软件的安全问题也引起了国内外安全组织或者黑客的关注。黑客们也从利用Microsoft Office的宏病毒进行入侵,变成了利用针对不同文档格式的解析漏洞进行入侵。

Office软件均采用了具有复杂数据结构的OLE2的复合文档类型。复杂的数据结构往往导致软件容易出行漏洞,近年来Office漏洞也在持续地暴露出来,并且在诸多已经发生的APT的案例中,有不计其数的入侵者利用Office漏洞来进行鱼叉式钓鱼攻击或其他社会工程学渗透。

通过分析近几年来的安全事件,不難发现利用Microsoft Office产品的漏洞来进行钓鱼攻击甚至APT攻击的,更是在网络攻击中占了很大的比重。其中,著名的APT事件中有利用word类型混淆漏洞的“丰收行动”事件、福岛核电站APT事件等,都利用了Office漏洞。可见,在全球范围内的很多APT攻击事件的黑客们,都喜欢利用Office漏洞来进行植入后门、长期监听等。同时,因为Microsoft Office的高频使用以及许多用户并不会及时更新等诸多原因,也正因此入侵者选择利用Office漏洞制作钓鱼文档是最为快捷实用的方法。

正因如上的种种客观因素,本文将研究利用蜜罐系统和Office漏洞进行组合来打破以往的被动式防御,而变成一种针对入侵者反制机制来进行主动性的防御,以达到对入侵者达到震慑性威慑效果。考虑到挖掘Office的0 day漏洞将会付出很多的时间成本和人力成本。所以在此次研究中,将会利用已知的Office 1day漏洞来作为主要的利用漏洞。本次研究中选出了比较具有代表性也是一个较新的Office漏洞CVE-2017-0199做了具体的描述。

鉴于此次研究更多是内网中的安全防御方向,所以本研究实验都将在局域网环境中进行。为了更加方便进行反制的使用者进行操作,本研究将利用已有的Cobalt Strike软件与漏洞文档相结合进行实验。

2 Microsoft Office文档格式分析

Microsoft Office文档具有复杂的数据结构是一种经典的复合文档,并且基于其OLE存储模式。也正因为其“文件中包换文件”使得Office文档可以集成各种数据或者组件,并且在这种文件系统的情况下,使得诸如音频或图像等信息,也可以作为独立的对象包含在文档里。

Microsoft Office 文档可以包含多种元数据。一个典型的Office Word 的文档逻辑结构如图1所示。

Microsoft Office应用程序正是因为其复杂的文档格式,导致其应用程序相对更容易出行漏洞。如图2所示,是Office漏洞分布情况,数据来自CVE漏洞库,统计图由个人统计而得。

3 Office文档的泄密问题

Microsoft Office办公套件无论对于企业还是个人都是使用率最高的软件。通过Forrester公司发布了一份报告可知,仅仅Office 2010就有近85%的公司选择。如图3是Forrester公司2013年10月20日做出的统计图。

毫无疑问,其泄密问题也受到很大的关注。而Office文档中隐含的一些信息的无意泄露,也经常会导致很大的损失。

3.1 Office的隐藏数据

Office文档中除了能够查看到的文字或图片等内容外,还隐匿了众多数据和信息与其中。虽然这些信息都是隐藏的,但是通过一些特定的工具就可以查看。表1之中详细地展示了Office文档中的隐藏信息。

为了保护这些隐藏的信息微软公司也推出了一款叫做“删除隐藏数”的相关插件,可以在拷贝或公开文档之前移除敏感数据,并且也有例如Workshare公司曾经推出过的实用办公文档保护软件,可以在拷贝或公开进行审查,并移除敏感的隐藏数据。

4 Office漏洞利用实例分析

4.1简述

本段中将详细阐述多种诱饵文档中其中一种利用CVE-2017-0199漏洞的RTF文档的使用过程。CVE-2017-0199漏洞简单说就是一个Microsoft Office文档可以指定URL Moniker从远程服务器上下载该文档的嵌入式资源。如果远程Server端提供了“application/hta”的MIME类型,那么下载的文件就会在后台被装载执行。

4.2 CVE-2017-0199漏洞分析

该漏洞利用Office OLE对象链接技术(Object Linking and Embedding),将包裹与其中的恶意链接对象嵌入在文档中,Office在调用COM(ComponentObjectModel 部件对象模型)对象(URL Moniker)将恶意链接指向HTA文件下载到本地文件夹中,URL Moniker通过识别响应头文件头中content-type中的字段信息,最后会调用mashta将HTA脚下载下来并且运行。

整个漏洞触发过程如下。嵌入在文档中的OLE2链接对象会令winword.exe通过隐藏与其中的URL下载第一阶段的恶意HTA文件并储存与临时Internet文件中。在下载到本地后,该HTA脚本会被“application / hta”进行处理。之后处理Content-Type为“application / hta”的文件将由Mshta程序进行,解析文件内容并且执行整个脚本。

简而言之,Office软件疏漏了请求对象类型与实际的content-type类型进行校验的过程,从而导致了任意代码执行漏洞的出现。

4.3 OLE技术和COM对象的简述

OLE技术是Microsoft Office的重要技术之一。OLE技术使得应用程序之间的数据交换的方法更加灵活、丰富。这项技术使得大多数用户可以简单的协调多个程序完成混合文档的建立。

COM作为一种跨平台的客户服务器系统开发技术,是ActiveX和OLE技术的基础,同时也具有开放的体系结构。COM的体系结构包括COM核心、统一的数据传输、持久存储和智能命名等几部分,具体结构如图4所示。

4.4 一个典型的反制流程

以下为一个典型的反制流程:

第一步:精心构造具有诱惑性内容的文档;

第二步:将各种类型的文档放入Kippo蜜罐中;

第三步:入侵者盜走文档并打开;

第四步:触发文档中的漏洞,获取对方电脑权限;

第五步:进行反制、溯源、取证;

第六步:将目标主机加入黑名单。

为了更大机率地提高成功性,在上述步骤中所提到的具有诱惑性内容的文档,将会设置Excel、Word、RTF、PowerPoint多种格文档格式来提高成功概率,并且在蜜罐系统中将布置大量且具有不同漏洞的诱饵文档。

除此之外,无论是蜜罐系统的拟真程度还是文档的名称或者内容都有可能影响到反制的成功概率。所以,要针对不同的防御目标进行不同的优化。

4.5 反制过程——诱饵文档制作及触发

实验环境如表2。首先,在Kali Linux系统中的Apache2服务器上放入将要以Hta方式解析的文档,路径为/var/www/html。如图5所示,名为cve.rtf的空白文件。下一步再使用“service apache2 start”指令开启阿帕奇服务器的服务功能。

cve.rtf中即为执行的文档,本次试验中将利用powershell执行并最终回弹Beacon到Kali系统中的Cobalt Strike软件中进行控制。

登录Cobalt Strike软件,在左上角的菜单栏中选择Cobalt Strike选项中的Listeners,如图6所示。

然后按上图7配置监听功能。此处Payload选择了windows/beacon_http/reverse_http模式。然后选择Attacks-->Web Drive-by-->Scripted Web Delivery。参考图8,并且按照图9配置。

然后将打开的对话框中的内容复制出来,如图10所示。

选择OK之后继续编辑cve.rtf文档。为了运行脚本获取对方主机权限并且隐藏打开的mashta和powershell的窗口,写入如下代码:

如上文中的代码,用户打开RTF文档后会在后台自动连接apache服务器上的cve.rtf文档并且执行。而cve.rtf执行后会触发Cobalt Strike写好的脚本或许主机权限并且返回Beacon到软件上。其中代码中:-w hidden 可以让powershell执行时不显示对话框。bypass参数可以绕过uac验证。而Run(c,0)可以隐藏下载cve.rtf时的对话框。此处为了更清晰的展示代码,并没有对代码进行混淆。

下一步,生成一个空白的Word文档,并在插入中选择对象,注意该步骤一定要勾选上“链接到文件”选项。之后把相应的URL填入,如图11所示。

插入之后填入相应的诱惑性内容,并保存为RTF文件。为了使入侵者在打开文档之后无需进行额外操作即可获得主机权限还需要进行如下的修改:首先右键以文本文档格式打开RTF文档然后搜索Object并且将\object\objautlink \rsltpict\,添加上Objupdate为:\object\objautlink\objupdate\rsltpict\ 。即可达到无需进一步操作即可获得目标主机权限的目的。

在内网环境下进行测试后,发现成功回弹Beacon(也即获得目标主机的控制权限),并获得主机权限,如图12所示。此时即可植入持续后门,监控对方电脑或者下载入侵者电脑中的文件为以后的溯源取证增加更多的線索和证据。

5 结束语

本研究为了能够更加贴近需求等要求,仍有许多需要完善的地方。

自动化反制。所谓自动化反制包含了两个方面。第一时间自动反制。在入侵者打开反制文档时,进行自动化反制,首先在第一时间阻止对方进一步的破坏行为并且植入后门方便以后的溯源取证调查动机等目的。而且在第一时间通知使用者。在入侵者打开反制文档时,及时通过云兵系统对使用者进行通知。

针对多平台的反制。目前来说本研究仅限于针对Windows系统。但是随着科技的进步,入侵者进行攻击的平台变得更加多样,并且随着安卓手机和树莓派等设备的成熟,愈来愈多的人可以利用这种便携设备安装Kali系统或其他系统进行渗透。也正因此,仍需要更加完善反制机制,并且不局限与利用Office漏洞进行反制。

基金项目:

论文得到核高基重大专项资助项目(项目编号:2012ZX01039-004-48)中国科学院网络测评技术重点实验室资助。

参考文献

[1] 岳彩松. MS Office漏洞挖掘与利用技术研究[D].上海交通大学,2008.

[2] 王俊卿,陈高峰,连强.基于MS Office漏洞利用技术的研究[J].微计算机信息,2012,28(10):364-365+408. [2017-10-12].

[3] 陈宇. Microsoft Office外接对象技术研究[D].哈尔滨理工大学,2006.

[4] 李小波,管海兵,李小勇,宦飞. Office文件加密机制的安全性[J].计算机应用,2010,30(S1):126-129.

[5] 刘浩阳. 计算机取证中Office文件的调查[J].信息网络安全,2012,(08):242-243.

猜你喜欢
主动防御计算机网络网络安全
以色列BIRD航空系统公司推出新型主动防御系统
基于应用型人才培养的《计算机网络》课程教学改革研究
变电站动静互联式的主动防御小动物入侵系统开发
全国多地联动2020年国家网络安全宣传周启动
浅析计算机网络安全的影响因素与防范措施
人工智能在计算机网络技术中的应用
计算机网络可靠性优化设计方法
新量子通信线路保障网络安全
坦克主动防御系统,只是看上去很美
保护个人信息安全,还看新法