首頁 > 新聞 > 智能 > 正文

        熱議:BlackCat 勒索軟件啟用了新的簽名內核驅動程序

        2023-06-10 12:17:27來源:ZAKER科技  

        我們將在本文中詳細介紹發生在 2023 年 2 月的 BlackCat 勒索軟件事件,研究人員在其中發現了一種新型逃避功能。


        (相關資料圖)

        2022 年 12 月下旬,Mandiant、Sophos 和 Sentinel One 的研究人員發現惡意內核驅動程序是通過幾個微軟硬件開發人員帳戶 ( 由微軟 Windows 硬件開發人員計劃認證 ) 簽名的,微軟隨后撤銷了幾個在這些攻擊中被濫用的微軟硬件開發者賬戶。

        我們將在本文中介紹有關 2023 年 2 月發生的 BlackCat 勒索軟件事件,該變體與三家安全商 2022 年 12 月下旬披露的惡意驅動程序重疊。眾所周知,BlackCat 在逃避功能上使用了多種技術,比如使用禁用和修改工具或使用安全模式引導技術。

        本文重點分析揭示了這種新功能,它涉及使用簽名內核驅動程序進行逃避。我們認為這個新的內核驅動程序是一個最新版本,繼承了以前研究中披露的示例的主要功能。該驅動程序與單獨的用戶客戶機可執行文件一起使用,試圖控制、暫停和終止部署在攻擊目標上的安全代理的各種進程。

        攻擊者使用不同的方法對其惡意內核驅動程序進行簽名:通常是通過濫用 Microsoft 簽名門戶、使用泄露和被盜的證書或使用地下服務。在示例中,攻擊者試圖部署 Mandiant 披露的舊驅動程序,該驅動程序通過 Microsoft 簽名 ( SHA256: b2f955b3e6107f831ebe67997f8586d4fe9f3e98 ) 。由于該驅動程序之前已經被發現并檢測到,攻擊者部署了另一個由被盜或泄露的交叉簽名證書簽名的內核驅動程序。

        惡意簽名的內核驅動程序

        我們觀察到的 2023 年 2 月的勒索軟件事件證明,勒索軟件運營商及其附屬機構對獲得他們在攻擊中使用的勒索軟件有效負載的特權級訪問非常感興趣。他們通常使用包含低權限組件的勒索軟件家族,以避免在最終有效負載被釋放后被安全產品檢測到。跟蹤分析發現,大多數與內核相關的有效負載通常是在企圖逃避階段被發現的。

        內核級攻擊的分布大多數與內核相關的有效負載都是在企圖逃避階段被發現的

        一些勒索軟件攻擊試圖遵守微軟的代碼簽名要求。這使得惡意攻擊者可以靈活地在釋放實際負載之前編譯為特定任務 ( 通常涉及削弱防御和逃避 ) 設計的內核模塊。攻擊者可以采取以下方法:

        1. 使用代碼簽名證書,該證書要么是泄露的,要么是竊取的,要么是從黑市購買的。

        2. 通過模仿合法機構并按照微軟的流程獲取交叉簽名證書 ( 前提是微軟允許對內核模式代碼進行交叉簽名 ) ,濫用微軟的門戶來發布簽名的內核模塊,獲得新的有效代碼簽名證書,以及從黑市購買與真實身份相關的有效代碼簽名證書和 / 或擴展驗證(EV)證書。

        顯示攻擊者如何遵守微軟代碼簽名要求的圖表

        對簽名驅動程序的分析

        接下來,我們將研究二月 BlackCat 攻擊中使用的簽名驅動程序(ktgn.sys)。下圖顯示了這些新簽署的驅動程序的其他示例,以及它們是如何被用作 BlackCat 逃避程序的。

        BlackCa 在逃避階段釋放的文件

        通過虛擬機保護的用戶代理 tjr.exe 將內核驅動程序釋放到用戶臨時目錄 C:%User%AppDataLocalTempKtgn.sys。然后安裝被釋放的驅動程序,名稱為 Ktgn,啟動值為 System(在系統重新啟動時啟動)。通過我們對用戶與該驅動程序交互時發生的情況的分析,我們觀察到它只使用了一個公開的設備輸入和輸出控制(IOCTL)代碼—— Kill Process,該代碼用于阻止安裝在系統上的安全代理進程。

        與此同時,驅動程序 ktgn.sys 使用當前吊銷的有效數字簽名從 "BopSoft" ( 它也曾被其他攻擊者用于代碼簽名 ) 簽名,可以成功加載到執行簽名策略的 64 位 Windows 安裝中,該驅動程序使用 Safengine Protector v2.4.0.0 工具進行混淆,這使得靜態分析技術不可靠。通過加載被混淆的驅動程序并嘗試構建一個用戶模式客戶端來觀察暴露的 IOCTL 接口,我們可以確定每個 IOCTL 代碼的函數。最后,我們觀察到相同的內核驅動程序被不同的代碼簽名證書簽名。

        具有不同簽名者的驅動程序變體用于混淆二進制文件的封裝程序

        由于它沒有注冊卸載回調函數,因此只有在釋放或修改服務注冊表項后重新啟動系統時,才能卸載驅動程序。

        服務控制管理器無法停止該服務缺少卸載函數的驅動程序

        一個名為 \.keHeperDriverLink 的符號鏈接被創建,該符號允許用戶模式客戶端與其連接和通信。請注意,該鏈接只允許一個連接,如果多個客戶端試圖同時連接,系統將崩潰。

        正在檢查另一個用戶模式進程是否正在嘗試連接到驅動程序暴露的 IOCTL 接口

        這個客戶機支持 10 個不同的命令,每個命令實現一個特定的功能,該功能由內核驅動程序通過適當的 IOCTL 接口執行。驅動程序和用戶模式客戶端之間的通信使用 irp_mj_devicide_control 處理程序通過以下代碼發生,每個 IOCTL 代碼及其對應的功能:

        222088h:激活驅動程序

        22208ch:取消激活驅動程序

        222094h:終止進程

        222184h:刪除文件

        222188h:強制刪除文件

        22218ch:復制文件

        222190h:強制復制文件

        2221c8h:注冊進程 / 線程對象通知

        2221c4h:注銷進程 / 線程對象通知

        222264h:重啟系統

        根據我們對內核驅動程序的分析,它似乎仍在開發和測試中,因為它的結構不是很好,而且它的一些功能目前還不能使用。接下來將介紹各種 IOCTL 接口的詳細信息。

        IOCTL 222088h

        在執行任何其他操作之前,必須首先調用 IOCTL 222088h 來激活驅動程序。如果未調用此代碼,驅動程序將不接受任何操作,并將返回消息 STATUS_ACCESS_DENIED。用戶模式客戶端將此激活字節數組發送給驅動程序。

        激活是對位于驅動程序中的大小為 0x42 的硬編碼字節數組進行簡單的字節比較。如果比較通過,它將設置一個 BOOLEAN 標志,該標志將在任何操作之前進行檢查。

        運行內存中的激活字節數復制激活字節以測試驅動程序操作

        IOCTL 22208 ch

        IOCTL 22208Ch 在用戶模式客戶端完成取消之前在 IOCTL 代碼 222088h 中設置的標志的操作后被調用。這將使驅動程序失效并停止處理任何新的操作。

        客戶端將需要傳遞 IOCTL 代碼 222088h 中傳遞的相同字節數組,以便成功完成操作。

        IOCTL 222094 h

        IOCTL 222094h 用于阻止任何用戶模式進程(甚至是受保護的進程)。Tt 從用戶代理接收進程 ID,然后在目標進程上下文中創建內核線程。創建的內核線程調用 ZwTerminateProcess API 來終止目標進程。

        檢查驅動程序是否激活

        IOCTL 222094h 終止進程

        IOCTL 222184 h

        IOCTL 222184h 用于刪除特定的文件路徑。

        IOCTL 222184h 刪除文件路徑

        IOCTL 222188 h

        IOCTL 222188h 強制刪除文件。為此,內核驅動程序執行以下操作:

        1. 它嘗試使用暴力方法打開系統上的所有進程(從 PID=0x4 到 PID=0x27FFD);

        2. 當它成功地打開一個進程時,它會嘗試引用進程內的所有句柄,再次使用暴力方法(從 HANDLE=0x4 開始到 HANDLE=0x27FFD);

        3. 當它成功引用句柄時,它使用 ObQueryNameString API 將句柄映射到名稱。當找到匹配項時,內核驅動程序關閉句柄。

        此操作將確保關閉對該文件的所有引用,并且該操作可以成功完成,而不會出現任何錯誤,說明該文件正被其他應用程序使用。

        暴力破解 PID暴力破解句柄

        IOCTL 22218 ch

        IOCTL 22218Ch 用于復制文件。

        IOCTL 22218Ch 用于復制文件

        IOCTL 222190 h

        IOCTL 222190h 用于強制復制文件。驅動程序使用與強制刪除相同的操作(IOCTL 代碼:222188h)。它使用暴力方法關閉所有進程對文件的所有引用,然后復制文件。

        IOCTL 2221C4h 和 IOCTL 2221C8h

        IOCTL 2221C4h 和 2221C8h 都用于注冊和注銷進程 / 線程通知回調。然而,在撰寫本文時,這兩條路徑都是無法實現的,這表明它們仍處于開發或測試階段。

        注冊對象通知的偽代碼注銷對象通知的偽代碼對象通知函數的偽代碼

        IOCTL 222264 h

        IOCTL 222264h 通過調用 HalReturnToFirmware API 重啟系統。

        總結

        攻擊者通過終端保護平臺 ( EPP ) 和終端檢測與響應 ( EDR ) 技術,正在積極尋求對 Windows 操作系統的高權限訪問的惡意攻擊,繞過各類防護措施。由于這些添加的保護層,攻擊者傾向于選擇阻力最小的方法,通過內核層(甚至更低級別)運行惡意代碼。所以我們認為,這種威脅會一直存在。

        惡意攻擊者將繼續使用 rootkit 對安全工具隱藏惡意代碼,繞過防御,并在很長一段時間內不會被檢測到。這些 rootkit 將被惡意組織大量使用,他們既擁有逆向工程低級系統組件的技能,又擁有開發此類工具所需的資源。這些惡意攻擊者還擁有足夠的財力,可以從黑市購買 rootkit 或購買代碼簽名證書來構建 rootkit。這意味著涉及這類 rootkit 的主要危險在于它們能夠隱藏復雜的有針對性的攻擊,這些攻擊將在攻擊的早期使用,允許攻擊者在受害者環境中啟動實際有效負載之前就逃脫檢測。

        緩解措施

        代碼簽名證書通常會被攻擊者濫用,因為它們在攻擊中提供了額外的混淆層。對于組織來說,泄露的密鑰不僅會帶來安全風險,還會導致對原始簽名軟件的聲譽和信任的喪失。企業應該通過實現最佳實踐來保護他們的證書,例如減少對私鑰的訪問,從而降低對證書進行未經授權訪問的風險。為私鑰使用強密碼和其他身份驗證方法還可以幫助保護它們免受惡意攻擊者的竊取或破壞。此外,使用單獨的測試簽名證書 ( 用于測試環境中使用的預發布代碼 ) 可以最大限度地減少實際發布簽名證書在攻擊中被濫用的可能性。

        對于一般的勒索軟件攻擊,組織可以實現一個系統的安全框架,分配資源來建立一個強大的防御策略。建議如下:

        盤點資產和數據;

        識別授權和未經授權的設備和軟件;

        審計事件和事件日志;

        管理硬件和軟件配置;

        僅在必要時授予管理員權限和訪問權限;

        監控網口、協議和服務;

        為合法應用程序建立軟件許可列表;

        實施數據保護、備份和恢復措施;

        啟用多因素身份驗證 ( MFA ) ;

        在系統各層部署最新版本的安全解決方案;

        注意攻擊的早期跡象;

        保護潛在的入口點 ( 如終端、電子郵件、web 和網絡 ) ,組織可以檢測并防范惡意元素和可疑活動,從而保護自己免受勒索軟件攻擊。

        關鍵詞:

        責任編輯:hnmd003

        相關閱讀

        相關閱讀

        推薦閱讀

        亚洲av永久无码精品网站| WWW亚洲色大成网络.COM| gogo全球高清大胆亚洲| 亚洲一卡2卡3卡4卡5卡6卡| 亚洲白嫩在线观看| 亚洲v高清理论电影| 亚洲成a人片在线观看日本| 亚洲精品夜夜夜妓女网 | 亚洲午夜久久久影院伊人| 久久久久国产成人精品亚洲午夜 | 亚洲香蕉免费有线视频| 亚洲一区二区电影| 久久亚洲熟女cc98cm| 亚洲精品高清国产麻豆专区| 亚洲精品国产第1页| 亚洲国产美女视频| 亚洲mv国产精品mv日本mv| 亚洲狠狠成人综合网| 亚洲人片在线观看天堂无码| 亚洲色偷偷偷综合网| 亚洲av无码专区国产不乱码| 337p日本欧洲亚洲大胆人人 | 噜噜噜亚洲色成人网站∨| 亚洲色图综合网站| 久久久久精品国产亚洲AV无码| 最新国产成人亚洲精品影院| 亚洲人成色在线观看| 国产综合激情在线亚洲第一页| 亚洲精品国产自在久久| 国内精品99亚洲免费高清| 亚洲日韩精品无码专区网址 | 亚洲乱妇熟女爽到高潮的片| 蜜桃传媒一区二区亚洲AV| 亚洲精品久久久www | 亚洲人成人网站18禁| 狠狠入ady亚洲精品| 久久亚洲国产精品五月天婷| 国产亚洲婷婷香蕉久久精品| 久久精品国产亚洲AV高清热 | 亚洲国产精品美女| 亚洲欧美成人综合久久久|