劉晨 李春強 丘國偉



摘 要:當今時代,虛擬的計算機網絡空間已被視為一個主權國家極其重要的“第五空間”。網絡安全的問題也與人們的生活更加密切。然而,傳統的安全防御機制始終處于被動式的防御機制,不能對入侵者進行及時地制裁。通過入侵者反制研究,可以將被動式的防御變為主動的防御,更大限度地保障網絡安全,并為攻擊過后的溯源調查增加更多的依據。
關鍵詞:網絡安全 ;主動防御 ;計算機網絡
中圖分類號: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.