作者:深信服千里目安全實驗室
相關閱讀:
1、【Rootkit 系列研究】序章:懸頂的達摩克利斯之劍
2、【Rootkit 系列研究】Windows平臺的高隱匿、高持久化威脅
3、【Rootkit 系列研究】Linux平臺的高隱匿、高持久化威脅
4、【Rootkit 系列研究】Rootkit檢測技術發展現狀
5、【Rootkit 系列研究】Windows平臺的高隱匿、高持久化威脅(二)

從西方APT組織的攻擊歷史及已經泄露的網絡武器看,高隱藏、高持久化(Low&Slow)是其關鍵特征,而 Rootkit 則是達成此目的的重要技術之一。

在上一篇文章“【Rootkit 系列研究】序章:懸頂的達摩克利斯之劍”里,我們介紹了Rootkit的技術發展歷程、Rootkit背后的影子以及 Rootkit 檢測基本思想。本文首先從Rootkit的生存期可達成的效果,以及運用這項技術展開攻擊的可行性Windows Rootkit現狀分析四個角度展開討論,并結合歷史攻擊事件,分析掌握這項技術的APT組織所關注的目標群體可能造成的影響,最后總結Rootkit在不同層次攻擊活動中所處的地位

1.“低調”的Windows Rootkit

當你聽到Rootkit時,你的第一反應是什么,高難度、高隱藏?是的,近年來,隨著Windows安全機制的不斷完善,往Windows系統中植入一個Rootkit的技術門檻也被不斷拔高。可就算Rootkit在所有安全產品檢出的惡意軟件中占比率極低,也并不代表它帶來的威脅就可以忽略,恰恰相反,Rootkit的高門檻使其更多地被運用在更高質量的攻擊活動中,從這一角度來看,每一個客戶場景出現的Rootkit背后都可能隱藏著長期的攻擊活動

對于攻擊者來說,高投入的同時也意味著高收益,開發一款Rootkit不算簡單,但發現一個Rootkit同樣不簡單,一個普通惡意樣本的生存期可能在投入使用時便結束了,而一個Rootkit的生存期可以長達數年,甚至更久

從Vista開始Windows會對加載的驅動進行簽名驗證,這使得攻擊者的植入成本變高,而PatchGuard也增加了攻擊者對系統內核篡改的成本。基于此,Windows Rootkit在野的聲音仿佛小了許多,我們對它的關注度也在降低,但它帶來的威脅真的就可以忽視了嗎?還是說更應該理解為“小聲音,高威脅”。

從下圖我們可以看出,無論Windows Rootkit在野聲音有多小,它都未曾消失過

2.從生存期看Windows Rootkit

讓我們把APT攻擊的階段簡化,在初始打點階段攻擊者可能會采用漏洞利用或釣魚攻擊,毫無疑問,近幾年也是釣魚攻擊大行其道地幾年。

以文檔釣魚為例,收到的釣魚郵件可能會像這樣

當然,我們也可能收到偽裝成文檔的PE文件

它也有可能長這樣

盡管形式還算多樣,但細心的你一定已經發現了,它們或多或少都存在著一些可識別的特征,在經歷過釣魚的反復洗禮后,甚至會有部分人不管什么郵件都直接丟VT跑一圈(當然這樣做不好,畢竟誤傳敏感文件還是比較嚴重的),這些特征讓攻擊活動變得非常容易暴露。

再假定攻擊活動已經進行到權限維持之后,我們也會排查到下述類似情況

當然,這樣做會顯得有些過于直接,攻擊者可能會采用更為復雜的手法,比如DLL劫持,一方面避免了持久化的痕跡,另一方面在免殺上也取得了一定效果,但我們仍然可以觀測到

這樣來看,發現一個異常也不算太難,對吧,畢竟攻擊者在每個環節都或多或少地留下了一些痕跡,無論我們哪個環節捕獲到了威脅,都可以向前和向后反溯,還原攻擊鏈路。但由于真實環境足夠復雜,也不是所有人員都具備安全知識和安全意識,導致攻擊活動通常也能成功,甚至持續很長時間不被發現。但至少,當你感知到它可能存在威脅時,還是能比較容易地發現它。

那么,這樣的威脅我們還是可以稱之為“擺在明面上”的威脅,你只需要更加耐心和細心地將它們找出來,而隨著安全體系建設地逐漸完整和全員安全意識地不斷提高,此類攻擊的生存期也會不斷縮短

回過頭來,我們再看一看Windows Rootkit,歷史上APT組織Strider曾利用一款名為Remsec的惡意軟件對多個國家,包括政府機構在內的系統進行了長達五年之久的監控

其實這里少說了一個詞“至少”,該Rootkit幫助攻擊者完成了至少長達五年的攻擊活動,這期間包括俄羅斯、伊朗、盧旺達、中國、瑞典、比利時在內的多個國家的政府機構、科學研究中心、軍事組織、電信提供商和金融機構都有被感染。

且該Rootkit的功能非常完善,具有密碼竊取、鍵盤記錄、后門控制等多種功能,試想這樣一個惡意軟件對上述目標進行著長達至少五年的監控,是否足夠讓人警惕呢?

Remsec被發現之時,研究員們對它的評價是“一種幾乎不可能被檢測到的惡意軟件”,而這也是一直以來大家對Rootkit的認識,這一點是否非常值得我們深思呢,究竟是Windows Rootkit慢慢銷聲匿跡了,還是受限于能力不足導致其檢出率如此之低,而生存期又如此之長呢?

其實對于攻擊者來說,打點技巧是多種多樣的,并不一定要選擇像釣魚這樣會留下明顯痕跡的技巧,對于那些使用未知技巧,甚至是0day進行攻擊的活動,我們想要在打點階段捕獲它們的可能性較低,這種情況下,捕獲攻擊者在后門植入、持久化等階段留下的痕跡,并基于此反溯,還原攻擊鏈路會是一個不錯的選擇,而Rootkit會把這些痕跡通通隱藏,讓我們的命中難度劇增。下圖顯示了近年來在野0day數量

3.從達成效果看Windows Rootkit

那么Rootkit究竟能達成什么樣的效果呢?

以一個操作圖形接口的Rootkit為例,它在任務管理器中隱藏了calc.exe

換句話說,Rootkit可以把攻擊者不想讓你發現的攻擊痕跡進行隱藏,比如我們在進程異常排查中,會關注那些有著異常通信或是可疑模塊加載的進程。

以白加黑技術為例,該技術雖然能在免殺上取得良好效果,但如果同時存在異常通信和可疑模塊(未簽名的dll),我們就還是能較為容易地定位到異常點。

而通過一些簡單的技巧,就可以在一定程度上對白加黑利用中的惡意dll進行隱藏

而Rootkit能達成的隱藏效果,會遠勝于上圖情況,當使用Rootkit從分析工具中徹底隱去這些異常點時,你還能快速地判定該進程有問題嗎?

當然,此處僅是過濾了異常模塊,這也只是Rootkit能做到的一小部分,除此以外,服務、端口、流量等也都可以通過Rootkit進行操作,那么你想看到什么,攻擊者就可以讓你看到什么,“擺在明面上”的威脅就轉變成了“隱藏在暗地里”的威脅,想在主機上發現異常就會變得極其困難。

4.從可行性來看Windows Rootkit

前面的內容提到,Windows引入了兩大安全機制來對抗Rootkit,分別是簽名驗證和PatchGuard,我們將針對這兩個點分別展開討論。

4.1簽名驗證

關于這部分內容,國外安全研究員Bill Demirkapi在Black Hat 2021的議題《Demystifying Modern Windows Rootkits》中給出了答案,相應的解決方案分別為直接購買濫用泄露證書尋找“0day”驅動

4.1.1 購買證書

這種方式其實沒什么好說的,攻擊者唯一需要考慮的問題,就是購買渠道是否足夠可靠,是否存在身份暴露的風險。

4.1.2 濫用泄露證書

從可行性上來說,Windows根本不關心證書是否已經過期或者已經被吊銷,通過泄露的證書,攻擊者就可以生成在任意Windows版本下都有效的驅動簽名

由于不需要購買證書,在降低成本的同時也避免了因購買渠道不可靠而暴露身份的風險,此外,通過這種方式進行植入所需的前置條件也不算多,與挖掘“0day”驅動的方式相比,技術難度降低很多,當然,掌握了泄露證書的情報后,相關安全廠商可以針對此類Rootkit進行查殺攔截

下圖是收集到的一些歷史泄露證書,從此圖可以看出泄露的情報并不少見

4.1.3 “0day”驅動利用

從可行性來說,一定存在著可被利用的“0day”驅動,而歷史上,就曾有知名的APT組織利用具有合法簽名驅動程序來進行惡意驅動的加載,該組織是俄羅斯APT黑客組織Turla,它利用的合法驅動為VirtualBox,下文是對該利用過程的描述

4.2 PatchGuard

網上有著包含win7、win10在內的不少開源項目,攻擊者可通過集成這些項目繞過PatchGuard,往內核中植入惡意代碼,實現Rootkit功能

5.從現狀來看Windows Rootkit

當我們嘗試在VT上進行Hunting,會發現無效證書的利用非常普遍

其實,就算你遇到一個有著合法簽名的Rootkit也不算什么新鮮事了

回過頭來單看2021,Windows Rootkit攻擊更多地集中在游戲行業(我想,這也是它們相對而言較快暴露的一個原因,傳播量變大的同時,也遭受了更多的關注),但當Rootkit調轉槍頭對準更高價值的目標時,當它們的目的不再是簡單地獲利時,當它們的動靜更小隱藏更具針對性時,我們是否做好應對準備了呢?畢竟從技術角度而言,APT組織又有什么理由拒絕Rootkit呢?

值得注意的是,當APT組織拿起Rootkit這個武器時,它們槍頭要對準的將會是包括政府、軍事在內的各種重要組織機構,它們的目的將不再是簡單地獲利,而是對目標地長期監控重要情報的竊取,這一點從歷史APT運用Rootkit進行的攻擊事件中不難發現。

6.總結

基于社工和釣魚結合的攻擊活動雖能以較小的成本拿下目標,但留下的明顯痕跡會導致其生存期驟減,很容易在打點階段就暴露,而通過其它未知渠道打點后,借助合法進程、機制完成惡意活動(如Lazarus對Get-MpPreference的利用),或通過白加黑(如dll劫持,LOLBINS)等方式進行后門安置和權限維持等,雖然在免殺層面有著不錯的效果,卻不能很好地隱匿攻擊痕跡

Rootkit更多地對應在后門安置、持久化階段,掌握這項技術的攻擊者也會有著更高的技術水平,他們或許會更青睞于一些高級的打點技巧,以降低每個環節被捕獲的可能性,當然,越高價值的目標越會吸引更高成本的投入,我們想要從容應對也就更加困難,而事實上,是否有APT組織正利用著此技術進行攻擊活動也尚未可知。

參考鏈接

1.https://en.wikipedia.org/wiki/Project_Sauron

2.https://en.wikipedia.org/wiki/Project_Sauron

3.https://www.sciencealert.com/scientists-just-found-an-advanced-form-of-malware-that-s-been-hiding-for-at-least-5-years

4.https://arstechnica.com/information-technology/2016/08/researchers-crack-open-unusually-advanced-malware-that-hid-for-5-years/

5.https://arstechnica.com/information-technology/2016/08/researchers-crack-open-unusually-advanced-malware-that-hid-for-5-years/

6.https://www.inverse.com/article/19401-project-sauron-malware-strider

7.https://www.infosecurity-magazine.com/news/project-sauron-has-been-spying/

8.https://www.infosecurity-magazine.com/news/project-sauron-has-been-spying/

9.https://www.ptsecurity.com/ww-en/analytics/rootkits-evolution-and-detection-methods/>

10.https://decoded.avast.io/martinchlumecky/dirtymoe-rootkit-driver/

11.https://i.blackhat.com/USA-20/Wednesday/us-20-Demirkapi-Demystifying-Modern-Windows-Rootkits.pdf

12.https://www.lastline.com/labsblog/dissecting-turla-rootkit-malware-using-dynamic-analysis/

13.https://www.chinaz.com/2021/1022/1319390.shtml


Paper 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1868/