劉晨 李春強(qiáng) 丘國偉
摘 要:當(dāng)今時代,虛擬的計算機(jī)網(wǎng)絡(luò)空間已被視為一個主權(quán)國家極其重要的“第五空間”。網(wǎng)絡(luò)安全的問題也與人們的生活更加密切。然而,傳統(tǒng)的安全防御機(jī)制始終處于被動式的防御機(jī)制,不能對入侵者進(jìn)行及時地制裁。通過入侵者反制研究,可以將被動式的防御變?yōu)橹鲃拥姆烙笙薅鹊乇U暇W(wǎng)絡(luò)安全,并為攻擊過后的溯源調(diào)查增加更多的依據(jù)。
關(guān)鍵詞:網(wǎng)絡(luò)安全 ;主動防御 ;計算機(jī)網(wǎng)絡(luò)
中圖分類號:TP393.08 文獻(xiàn)標(biāo)識碼: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產(chǎn)品無論在國內(nèi)還是國外都占有很大的市場量。而其軟件的安全問題也引起了國內(nèi)外安全組織或者黑客的關(guān)注。黑客們也從利用Microsoft Office的宏病毒進(jìn)行入侵,變成了利用針對不同文檔格式的解析漏洞進(jìn)行入侵。
Office軟件均采用了具有復(fù)雜數(shù)據(jù)結(jié)構(gòu)的OLE2的復(fù)合文檔類型。復(fù)雜的數(shù)據(jù)結(jié)構(gòu)往往導(dǎo)致軟件容易出行漏洞,近年來Office漏洞也在持續(xù)地暴露出來,并且在諸多已經(jīng)發(fā)生的APT的案例中,有不計其數(shù)的入侵者利用Office漏洞來進(jìn)行魚叉式釣魚攻擊或其他社會工程學(xué)滲透。
通過分析近幾年來的安全事件,不難發(fā)現(xiàn)利用Microsoft Office產(chǎn)品的漏洞來進(jìn)行釣魚攻擊甚至APT攻擊的,更是在網(wǎng)絡(luò)攻擊中占了很大的比重。其中,著名的APT事件中有利用word類型混淆漏洞的“豐收行動”事件、福島核電站APT事件等,都利用了Office漏洞。可見,在全球范圍內(nèi)的很多APT攻擊事件的黑客們,都喜歡利用Office漏洞來進(jìn)行植入后門、長期監(jiān)聽等。同時,因為Microsoft Office的高頻使用以及許多用戶并不會及時更新等諸多原因,也正因此入侵者選擇利用Office漏洞制作釣魚文檔是最為快捷實(shí)用的方法。
正因如上的種種客觀因素,本文將研究利用蜜罐系統(tǒng)和Office漏洞進(jìn)行組合來打破以往的被動式防御,而變成一種針對入侵者反制機(jī)制來進(jìn)行主動性的防御,以達(dá)到對入侵者達(dá)到震懾性威懾效果??紤]到挖掘Office的0 day漏洞將會付出很多的時間成本和人力成本。所以在此次研究中,將會利用已知的Office 1day漏洞來作為主要的利用漏洞。本次研究中選出了比較具有代表性也是一個較新的Office漏洞CVE-2017-0199做了具體的描述。
鑒于此次研究更多是內(nèi)網(wǎng)中的安全防御方向,所以本研究實(shí)驗都將在局域網(wǎng)環(huán)境中進(jìn)行。為了更加方便進(jìn)行反制的使用者進(jìn)行操作,本研究將利用已有的Cobalt Strike軟件與漏洞文檔相結(jié)合進(jìn)行實(shí)驗。
2 Microsoft Office文檔格式分析
Microsoft Office文檔具有復(fù)雜的數(shù)據(jù)結(jié)構(gòu)是一種經(jīng)典的復(fù)合文檔,并且基于其OLE存儲模式。也正因為其“文件中包換文件”使得Office文檔可以集成各種數(shù)據(jù)或者組件,并且在這種文件系統(tǒng)的情況下,使得諸如音頻或圖像等信息,也可以作為獨(dú)立的對象包含在文檔里。
Microsoft Office 文檔可以包含多種元數(shù)據(jù)。一個典型的Office Word 的文檔邏輯結(jié)構(gòu)如圖1所示。
Microsoft Office應(yīng)用程序正是因為其復(fù)雜的文檔格式,導(dǎo)致其應(yīng)用程序相對更容易出行漏洞。如圖2所示,是Office漏洞分布情況,數(shù)據(jù)來自CVE漏洞庫,統(tǒng)計圖由個人統(tǒng)計而得。
3 Office文檔的泄密問題
Microsoft Office辦公套件無論對于企業(yè)還是個人都是使用率最高的軟件。通過Forrester公司發(fā)布了一份報告可知,僅僅Office 2010就有近85%的公司選擇。如圖3是Forrester公司2013年10月20日做出的統(tǒng)計圖。
毫無疑問,其泄密問題也受到很大的關(guān)注。而Office文檔中隱含的一些信息的無意泄露,也經(jīng)常會導(dǎo)致很大的損失。
3.1 Office的隱藏數(shù)據(jù)
Office文檔中除了能夠查看到的文字或圖片等內(nèi)容外,還隱匿了眾多數(shù)據(jù)和信息與其中。雖然這些信息都是隱藏的,但是通過一些特定的工具就可以查看。表1之中詳細(xì)地展示了Office文檔中的隱藏信息。
為了保護(hù)這些隱藏的信息微軟公司也推出了一款叫做“刪除隱藏數(shù)”的相關(guān)插件,可以在拷貝或公開文檔之前移除敏感數(shù)據(jù),并且也有例如Workshare公司曾經(jīng)推出過的實(shí)用辦公文檔保護(hù)軟件,可以在拷貝或公開進(jìn)行審查,并移除敏感的隱藏數(shù)據(jù)。
4 Office漏洞利用實(shí)例分析
4.1簡述
本段中將詳細(xì)闡述多種誘餌文檔中其中一種利用CVE-2017-0199漏洞的RTF文檔的使用過程。CVE-2017-0199漏洞簡單說就是一個Microsoft Office文檔可以指定URL Moniker從遠(yuǎn)程服務(wù)器上下載該文檔的嵌入式資源。如果遠(yuǎn)程Server端提供了“application/hta”的MIME類型,那么下載的文件就會在后臺被裝載執(zhí)行。
4.2 CVE-2017-0199漏洞分析
該漏洞利用Office OLE對象鏈接技術(shù)(Object Linking and Embedding),將包裹與其中的惡意鏈接對象嵌入在文檔中,Office在調(diào)用COM(ComponentObjectModel 部件對象模型)對象(URL Moniker)將惡意鏈接指向HTA文件下載到本地文件夾中,URL Moniker通過識別響應(yīng)頭文件頭中content-type中的字段信息,最后會調(diào)用mashta將HTA腳下載下來并且運(yùn)行。
整個漏洞觸發(fā)過程如下。嵌入在文檔中的OLE2鏈接對象會令winword.exe通過隱藏與其中的URL下載第一階段的惡意HTA文件并儲存與臨時Internet文件中。在下載到本地后,該HTA腳本會被“application / hta”進(jìn)行處理。之后處理Content-Type為“application / hta”的文件將由Mshta程序進(jìn)行,解析文件內(nèi)容并且執(zhí)行整個腳本。
簡而言之,Office軟件疏漏了請求對象類型與實(shí)際的content-type類型進(jìn)行校驗的過程,從而導(dǎo)致了任意代碼執(zhí)行漏洞的出現(xiàn)。
4.3 OLE技術(shù)和COM對象的簡述
OLE技術(shù)是Microsoft Office的重要技術(shù)之一。OLE技術(shù)使得應(yīng)用程序之間的數(shù)據(jù)交換的方法更加靈活、豐富。這項技術(shù)使得大多數(shù)用戶可以簡單的協(xié)調(diào)多個程序完成混合文檔的建立。
COM作為一種跨平臺的客戶服務(wù)器系統(tǒng)開發(fā)技術(shù),是ActiveX和OLE技術(shù)的基礎(chǔ),同時也具有開放的體系結(jié)構(gòu)。COM的體系結(jié)構(gòu)包括COM核心、統(tǒng)一的數(shù)據(jù)傳輸、持久存儲和智能命名等幾部分,具體結(jié)構(gòu)如圖4所示。
4.4 一個典型的反制流程
以下為一個典型的反制流程:
第一步:精心構(gòu)造具有誘惑性內(nèi)容的文檔;
第二步:將各種類型的文檔放入Kippo蜜罐中;
第三步:入侵者盜走文檔并打開;
第四步:觸發(fā)文檔中的漏洞,獲取對方電腦權(quán)限;
第五步:進(jìn)行反制、溯源、取證;
第六步:將目標(biāo)主機(jī)加入黑名單。
為了更大機(jī)率地提高成功性,在上述步驟中所提到的具有誘惑性內(nèi)容的文檔,將會設(shè)置Excel、Word、RTF、PowerPoint多種格文檔格式來提高成功概率,并且在蜜罐系統(tǒng)中將布置大量且具有不同漏洞的誘餌文檔。
除此之外,無論是蜜罐系統(tǒng)的擬真程度還是文檔的名稱或者內(nèi)容都有可能影響到反制的成功概率。所以,要針對不同的防御目標(biāo)進(jìn)行不同的優(yōu)化。
4.5 反制過程——誘餌文檔制作及觸發(fā)
實(shí)驗環(huán)境如表2。首先,在Kali Linux系統(tǒng)中的Apache2服務(wù)器上放入將要以Hta方式解析的文檔,路徑為/var/www/html。如圖5所示,名為cve.rtf的空白文件。下一步再使用“service apache2 start”指令開啟阿帕奇服務(wù)器的服務(wù)功能。
cve.rtf中即為執(zhí)行的文檔,本次試驗中將利用powershell執(zhí)行并最終回彈Beacon到Kali系統(tǒng)中的Cobalt Strike軟件中進(jìn)行控制。
登錄Cobalt Strike軟件,在左上角的菜單欄中選擇Cobalt Strike選項中的Listeners,如圖6所示。
然后按上圖7配置監(jiān)聽功能。此處Payload選擇了windows/beacon_http/reverse_http模式。然后選擇Attacks-->Web Drive-by-->Scripted Web Delivery。參考圖8,并且按照圖9配置。
然后將打開的對話框中的內(nèi)容復(fù)制出來,如圖10所示。
選擇OK之后繼續(xù)編輯cve.rtf文檔。為了運(yùn)行腳本獲取對方主機(jī)權(quán)限并且隱藏打開的mashta和powershell的窗口,寫入如下代碼:
如上文中的代碼,用戶打開RTF文檔后會在后臺自動連接apache服務(wù)器上的cve.rtf文檔并且執(zhí)行。而cve.rtf執(zhí)行后會觸發(fā)Cobalt Strike寫好的腳本或許主機(jī)權(quán)限并且返回Beacon到軟件上。其中代碼中:-w hidden 可以讓powershell執(zhí)行時不顯示對話框。bypass參數(shù)可以繞過uac驗證。而Run(c,0)可以隱藏下載cve.rtf時的對話框。此處為了更清晰的展示代碼,并沒有對代碼進(jìn)行混淆。
下一步,生成一個空白的Word文檔,并在插入中選擇對象,注意該步驟一定要勾選上“鏈接到文件”選項。之后把相應(yīng)的URL填入,如圖11所示。
插入之后填入相應(yīng)的誘惑性內(nèi)容,并保存為RTF文件。為了使入侵者在打開文檔之后無需進(jìn)行額外操作即可獲得主機(jī)權(quán)限還需要進(jìn)行如下的修改:首先右鍵以文本文檔格式打開RTF文檔然后搜索Object并且將\object\objautlink \rsltpict\,添加上Objupdate為:\object\objautlink\objupdate\rsltpict\ 。即可達(dá)到無需進(jìn)一步操作即可獲得目標(biāo)主機(jī)權(quán)限的目的。
在內(nèi)網(wǎng)環(huán)境下進(jìn)行測試后,發(fā)現(xiàn)成功回彈Beacon(也即獲得目標(biāo)主機(jī)的控制權(quán)限),并獲得主機(jī)權(quán)限,如圖12所示。此時即可植入持續(xù)后門,監(jiān)控對方電腦或者下載入侵者電腦中的文件為以后的溯源取證增加更多的線索和證據(jù)。
5 結(jié)束語
本研究為了能夠更加貼近需求等要求,仍有許多需要完善的地方。
自動化反制。所謂自動化反制包含了兩個方面。第一時間自動反制。在入侵者打開反制文檔時,進(jìn)行自動化反制,首先在第一時間阻止對方進(jìn)一步的破壞行為并且植入后門方便以后的溯源取證調(diào)查動機(jī)等目的。而且在第一時間通知使用者。在入侵者打開反制文檔時,及時通過云兵系統(tǒng)對使用者進(jìn)行通知。
針對多平臺的反制。目前來說本研究僅限于針對Windows系統(tǒng)。但是隨著科技的進(jìn)步,入侵者進(jìn)行攻擊的平臺變得更加多樣,并且隨著安卓手機(jī)和樹莓派等設(shè)備的成熟,愈來愈多的人可以利用這種便攜設(shè)備安裝Kali系統(tǒng)或其他系統(tǒng)進(jìn)行滲透。也正因此,仍需要更加完善反制機(jī)制,并且不局限與利用Office漏洞進(jìn)行反制。
基金項目:
論文得到核高基重大專項資助項目(項目編號:2012ZX01039-004-48)中國科學(xué)院網(wǎng)絡(luò)測評技術(shù)重點(diǎn)實(shí)驗室資助。
參考文獻(xiàn)
[1] 岳彩松. MS Office漏洞挖掘與利用技術(shù)研究[D].上海交通大學(xué),2008.
[2] 王俊卿,陳高峰,連強(qiáng).基于MS Office漏洞利用技術(shù)的研究[J].微計算機(jī)信息,2012,28(10):364-365+408. [2017-10-12].
[3] 陳宇. Microsoft Office外接對象技術(shù)研究[D].哈爾濱理工大學(xué),2006.
[4] 李小波,管海兵,李小勇,宦飛. Office文件加密機(jī)制的安全性[J].計算機(jī)應(yīng)用,2010,30(S1):126-129.
[5] 劉浩陽. 計算機(jī)取證中Office文件的調(diào)查[J].信息網(wǎng)絡(luò)安全,2012,(08):242-243.