操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊


    、介紹

    本文首先從Rootkit的生存期、可達成的效果,以及運用這項技術展開攻擊的可行性Windows Rootkit現狀分析四個角度展開討論,并結合歷史攻擊事件,分析掌握這項技術的APT組織所關注的目標群體可能造成的影響,最后總結Rootkit在不同層次攻擊活動中所處的地位

    二、“低調”的Windows Rootkit

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

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

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

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

    三、從生存期看Windows Rootkit

    【安全學習文檔】可私信我領取

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

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

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

    它也有可能長成這樣

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

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

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

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

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

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

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

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

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

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

    四、從達成效果看Windows Rootkit

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

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

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

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

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

    .

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

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

    五、從可行性來看Windows Rootkit

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

    1. 簽名驗證

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

    1.1 購買證書

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

    1.2 濫用泄露證書

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

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

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

    1.3 “0day”驅動利用

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

    2. PatchGuard

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

    六、從現狀來看Windows Rootkit

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

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

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

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

    七、總結

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

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

    以制作動作游戲聞名世界的Capcom最近曝出烏龍事件。在Capcom出品的《街頭霸王5》一次更新中,它內置了一個用來防止玩家作弊的驅動程序Capcom.sys,然而這個反作弊驅動卻闖了大禍,剛發布不久就被曝光其實是一個高度危險的后門,它可以幫助任意程序獲得系統內核權限,當然也會被木馬病毒輕易利用,比如繞過沙箱、破壞殺毒軟件、HIPS等防護產品,完全瓦解系統安全體系。

    Capcom中文名為卡普空株式會社,代表性游戲有《生化危機》、《街頭霸王》、《鬼泣》等,可以說很多70后、80后玩家都是玩著Capcom的游戲長大的。然而此次《街頭霸王5》的后門事件卻讓Capcom陷入窘境,為此專門致歉并發布了升級補丁。這里我們建議相關游戲用戶盡快升級補丁,同時提醒各大安全廠商注意,盡快針對存在后門的Capcom.sys版本進行防御。根據測試,目前國內外仍有大量殺毒軟件可以被惡意程序利用Capcom后門輕松擊潰。

    以下我們將對Capcom.sys進行深入分析,揭秘該驅動后門對系統安全造成的巨大隱患。

    0x1 逆向分析Capcom.sys

    Capcom.sys所做的就是關閉操作系統的安全機制并提升自己游戲為管理員權限,目的在于能夠對系統上所有的文件進行操作。它預留了接口讓應用層的程序(游戲)調用,來實現一些更高級、更自由的操作,比如防止游戲內存修改,驗證正版用戶等。接下來我們開始逆向分析 Capcom.sys,看看此神奇的驅動到底做了什么。。。

    最關鍵的函數有如下5個:

    1:關閉SMEP(Supervisor Mode Execution Protection)

    那么啥是SMEP呢?SMEP全稱是Supervisor Mode Execution Protection。監管模式執行保護。存在與CR4中的第20位處。

    SMEP的引入是Intel考慮到系統安全而新增的機制。我們知道CPU提供了環權限的機制,也就是我們平常所說的ring0,ring3。當然還有ring1和ring2(甚至ring-1)。只不過windows操作系統只使用了2個環(ring0和ring3)。環的產生意味著權限的產生。不同環的權限等極也是不同的,環的數字越小,則權限越高。SMEP的存在就是為了防止不同環訪問不同權限的頁面而產生的。

    在未開啟SMEP前,Supervisor Mode(ring0-2)所對應的page entry屬性可以是user或者Supervisor,也就是說page entry.u/s可以為0,也可以為1。User mode(ring-3)所對應的page entry屬性只能是user(page entry.u/s=0)。

    在開啟SMEP后,Supervisor Mode(ring0-2)所對應的page entry.u/s只能為0。這也就意味著Supervisor Mode(ring0-2)將無法訪問User mode(ring3)的頁面。

    Capcom.sys正是利用了這點,關閉了SMEP,使得ring0的模式可以訪問ring3的代碼,這里所指的ring3的代碼也就是合法的shellcode了。不過這比shellcode更生猛,因為Capcom.sys可以直接訪問ring3的函數。

    2:開啟SMEP(Supervisor Mode Execution Protection)

    3.驅動的IOCtl通信函數(只取關鍵部分)

    我們可以知道,當控制碼為0xAA012044時,代表的是32位模式,當控制碼為0xAA013044時,代表的是64位模式。此驅動樣本為64位,所以我們著重研究64位的控制碼0xAA013044即可。

    4.漏洞利用函數

    我們可以知道,所被調用的函數類型大致為void(*)(PVOID(*)(PUNICODE_STRING))。即該函數的第一個參數為MmGetSystemRoutineAddress的地址。

    在這里有一個非常關鍵的地方,條件判斷的第一句話,這里猜想是Capcom為了防止此驅動濫用而設置的暗樁。所以我們構造shellcode的時候需要特別注意。

    5.解密Device Name函數

    這里看的有點辣眼睛,但是我們不需要理他。因為我們可以直接使用WinObj來得知他創建的設備符號鏈接名為:Htsysm72FB。有了此符號鏈接名,我們可以使用CreateFile函數來打開它的驅動設備并且發送控制碼來利用了。。

    至此,逆向分析到此結束,我們來總結一下:Capcom.sys初衷只是為Capcom自家人提供的一種反作弊的插件,從他的設備名字符串混淆與調用暗樁可以看出,他并不想讓別人使用它,但是這并沒有什么用。從軟件安全角度上去看,此sys沒有加殼是被利用的最致命因素之一。攻擊者只需要繞過暗樁,即可調用它的驅動。

    0x2 利用前的準備工作

    基于之前的分析,我們知道了設備名稱的符號連接為Htsysm72FB,根據微軟的定義。我們需要在他前面加上file:///\.\。然后使用CreateFile函數來打開他的設備。

    接著開始準備shellcode。

    第一行,前8個字節是為了繞過暗樁而加入的,前8個字節需要填寫利用函數的入口地址(也就是第二行)。

    第二行,實現的是CALL $+8處 等價于push第三行(利用函數的地址) && Rip=第四行(POP RAX)

    第三行,為我們需要填寫的利用函數地址。

    最后一行,跳向我們的利用函數地址處。

    在該模板內填寫相應的內容即可。

    最后,開始向Capcom.sys發送控制碼來利用此驅動。值得注意的是0xAA013044為64位模式,0xAA012044為32位模式。需要傳遞的shellcode為之前的模板+8處,以此來繞過暗樁。

    0x3 基于Capcom.sys實現無簽名加載驅動

    無簽名加載驅動的話題已經很老套了。

    具體分析請參考j00ru的“A quick insight into the Driver Signature Enforcement“這篇文章

    以及MJ0011的這篇pdf

    http://www.powerofcommunity.net/poc2012/mj0011.pdf

    結合兩位大牛的文章,我們知道在WIN7上,可以通過修改nt!g_CiEnabled為0來繞過,目的是讓操作系統以為你在WINPE模式中。在WIN8及以上此驗證轉移到了ci!g_CiOptions上?,F在我們在WIN10 14393上做這個實驗,驗證同樣在ci!g_CiOptions。但是不同與WIN8的是,WIN10 已經把ci!g_CiOptions加入到了PatchGuard的豪華套餐中。倘若修改不還原或者修改時機恰巧撞遇PatchGuard的檢測。那么一瞬間你將進入藍屏的節奏…關于PatchGuard,讀者可自行搜索相關內容,這里不再展述。

    1.尋找ci!g_CiOptions(Windows\System32\CI.dll)

    可以發現,該變量存在于CipInitialize 函數中,但是此函數未導出,不過慶幸的是。CI.dll給我們導出了CiInitialize函數,改函數最后會調用CipInitialize。

    那么我們的思路很簡單,首先獲取導出函數地址CiInitialize,根據它找到CipInitialize函數,最后根據CipInitialize找到g_CiOptions,然后修改為8即可(由于在WIN10 14393版本上進入測試簽名模式時,該值為8)。當然得先保存一份之前的數值,便于還原。

    2.注意要點

    a.IRQL(中斷請求等極)

    還記得sys的調用函數嗎,它的形式如下:

    關閉中斷->調用Ring3利用函數->開啟中斷。

    我們注意到,再執行我們的利用函數的過程中,中斷始終是處于關閉的狀態,也就是說我們的IRQL(中斷請求等極)一直處于Dispatch級別,而大多數內核函數調用的要求是IRQL==PASSIVE_LEVEL。這就會造成概率性藍屏。所以我們必須在我們的利用函數頭尾處加入_enable和_disable,來手動的配合它的流程,這樣我們就可以避免IRQL的問題了。

    b.禁用KeStackAttachProcess(CR3切換)

    由于該函數會切換CR3(頁目錄表基址)。并且最終返回到當前進程的CR3。而我們當前是在Ring0模式。所以顯示會發生奇妙的藍屏。。。

    c.利用函數盡量簡短

    因為在WIN10 14393版本上,經過測試SMEP已被加入PatchGuard豪華套餐中。所以需要盡快的將SMEP恢復,這也就意味著我們的利用函數需要盡量的簡短。當然了,時運不濟的話,可能就在那一瞬間就被檢測到了。

    d.配合動態PatchGuard

    一般而言,做到以上3點,加載/卸載驅動1-5次之間的藍屏幾率是很小的。但是如果需要完美的話,那就要動態的干PatchGuard了。我們知道,在WIN7以及WIN8已經有牛實現了動態干PatchGuard并已放出,但是在WIN10上目前并沒有公開放出源代碼。不過國內已經有研究者實現了這一攻擊效果。

    0x4 題外話

    對于在微軟新簽名機制(具體請使用搜索引擎搜索)下有簽名的朋友來說,這并沒有什么用。但是如果被壞人利用了,那就比較尷尬了。因為此驅動有合法簽名,大多數殺毒軟件還沒有對其攔截,而當壞人進入內核后,那就可以想干啥就干啥了。

    0x5 對各大安全廠商的建議

    由于Capcom公司目前已經道歉,并承諾不再使用此類手段的情況來看。安全廠商完全可以把該Capcom.sys列入黑名單中,以此徹底絕殺針對該后門的一切利用。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有