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