最新国产福利在线_午夜国产日韩欧美一区_国产精品青青在线观看爽_日本免费自拍亚洲_亚洲第一无码在线观看_色噜噜狠狠爱综合视频_亚洲av免费观看在新更新_久久久免费观成人影院_别揉我奶头~嗯~啊~少妇视频_福利视频一区二区牛牛

新聞資訊
行業(yè)動(dòng)態(tài)

首頁(yè) > 行業(yè)動(dòng)態(tài)

火絨華南銷售及服務(wù)中心 | Rust后門樣本加載與傳播方式演變過程分析
近年來,隨著Rust語(yǔ)言在系統(tǒng)編程領(lǐng)域的廣泛應(yīng)用,基于該語(yǔ)言開發(fā)的惡意軟件樣本也隨之顯著增長(zhǎng),其特有的技術(shù)特性正逐漸成為網(wǎng)絡(luò)犯罪分子的新選擇,主要表現(xiàn)為以下幾點(diǎn):

1.Rust提供了對(duì)底層硬件的直接訪問能力,使得開發(fā)者能夠編寫出非常接近硬件底層的代碼。
2.Rust的內(nèi)存安全特性(如所有權(quán)模型和生命周期檢查)在一定程度上減少了常見的內(nèi)存漏洞,使得惡意軟件更加難以被檢測(cè)和防御。
3.Rust的跨平臺(tái)兼容性和高性能特性,使得惡意軟件可以更容易地在不同操作系統(tǒng)和硬件架構(gòu)之間傳播和運(yùn)行。
從攻擊角度來看,Rust的以下特性在惡意軟件編寫中被利用:

  • 內(nèi)聯(lián)匯編支持:Rust通過asm!宏支持x64內(nèi)聯(lián)匯編,允許開發(fā)者直接嵌入?yún)R編指令,從而實(shí)現(xiàn)對(duì)硬件的精細(xì)控制。
  • 直接操作內(nèi)存:Rust的unsafe關(guān)鍵字允許開發(fā)者繞過編譯器的安全檢查,直接操作內(nèi)存,這為惡意軟件編寫者提供了更大的靈活性和控制權(quán)。
  • 反編譯難度高:Rust的編譯器優(yōu)化和代碼生成特性使得惡意軟件的反編譯和分析變得更加困難,從而增加了惡意軟件的隱蔽性和防御難度。

目前,火絨在檢測(cè)Rust樣本過程中,已捕獲數(shù)十萬相關(guān)樣本,且樣本種類繁多。其中,排名前幾位的樣本類型主要集中在惡意軟件、漏洞利用工具、黑客工具和后門程序。通過對(duì)這些樣本進(jìn)行深入分析,我們發(fā)現(xiàn)大多數(shù)惡意軟件樣本利用了Rust的內(nèi)存特性來加載惡意代碼,并借助后端LLVM Pass進(jìn)行二次混淆,使得調(diào)試分析變得更加困難。

圖片

Rust樣本數(shù)量圖


隨著技術(shù)的持續(xù)發(fā)展,Rust生態(tài)系統(tǒng)日益成熟,新的惡意軟件樣本類型和攻擊手法也不斷涌現(xiàn)。因此,應(yīng)對(duì)和分析Rust樣本是有必要的。

接下來,本文將從多個(gè)角度剖析Rust在惡意軟件中的具體應(yīng)用,并對(duì)最新捕獲的Rust樣本進(jìn)行詳細(xì)分析。




Rust在惡意軟件中的應(yīng)用場(chǎng)景

Shellcode

Rust通過asm!宏支持內(nèi)聯(lián)匯編(Inline Assembly),允許開發(fā)者直接在代碼中嵌入特定架構(gòu)的機(jī)器指令。這一特性使病毒開發(fā)者在編寫Shellcode時(shí),能夠更加靈活且具有更強(qiáng)的控制力。

    use std::arch::asm;//Linuxfn main() {unsafe{asm!("mov rax, 60","mov rdi, 42","syscall",        );}}

    在Windows系統(tǒng)中,惡意軟件通常需要?jiǎng)討B(tài)獲取系統(tǒng)函數(shù)的地址來執(zhí)行惡意代碼。其具體流程為:首先通過解析進(jìn)程環(huán)境塊(PEB),獲取Kernel32.dll的基地址,然后進(jìn)一步獲取GetProcAddress函數(shù)的地址,最終實(shí)現(xiàn)任意函數(shù)的調(diào)用。以下是經(jīng)過Rust編譯的Shellcode具體實(shí)例。
    圖片
    Rust編寫的Shellcode

    Cobalt Strike

    Cobalt Strike通過Rust重寫的核心部分在于其通信協(xié)議的實(shí)現(xiàn),主要包括RSA加解密、AES加解密、Base64編解碼及配置文件的加密與解析。其具體流程為:首先提取配置信息,然后利用RSA對(duì)這些信息進(jìn)行加密,其中加密過程涉及用于AES解密協(xié)商的密鑰。

    圖片

    RSA公鑰

    圖片

    RSA加密


    隨后,對(duì)回傳的數(shù)據(jù)進(jìn)行AES加解密。

    圖片

    AES-CBC加解密


    對(duì)任務(wù)進(jìn)行解析后,利用命令行庫(kù)CMD實(shí)現(xiàn)跨平臺(tái)(Windows、Linux、macOS)的任務(wù)執(zhí)行。
    圖片
    C2 Task執(zhí)行

    Rootkit
    Rootkit是一種用于隱藏惡意軟件的工具,通常需要深入到操作系統(tǒng)的內(nèi)核層進(jìn)行操作。Rust語(yǔ)言憑借其內(nèi)存安全性和對(duì)硬件的直接訪問能力,逐漸成為編寫Rootkit的新選擇。
    以下是一個(gè)由Rust開發(fā)的Rootkit樣本。該樣本具備多種高級(jí)功能,包括進(jìn)程隱藏、進(jìn)程注入、內(nèi)核結(jié)束進(jìn)程,以及摘除進(jìn)程創(chuàng)建、線程創(chuàng)建、模塊加載和注冊(cè)表操作的回調(diào)。
    圖片

    Rootkit功能圖


    斷鏈隱藏驅(qū)動(dòng)、斷鏈隱藏進(jìn)程。

    圖片

    斷鏈隱藏驅(qū)動(dòng)

    圖片

    斷鏈隱藏進(jìn)程


    內(nèi)核結(jié)束進(jìn)程。
    圖片

    內(nèi)核結(jié)束進(jìn)程


    內(nèi)核APC Shellcode注入。
    圖片

    內(nèi)核APC Shellcode注入


    通過getAsyncKeyState獲取鍵盤數(shù)據(jù)。
    圖片

    getAsyncKeyState獲取鍵盤數(shù)據(jù)


    摘除進(jìn)程回調(diào)、線程回調(diào)、模塊加載回調(diào)、注冊(cè)表回調(diào)。

    圖片

    摘除進(jìn)程回調(diào)、線程回調(diào)、模塊加載回調(diào)、注冊(cè)表回調(diào)





    最新樣本分析

    近期,火絨威脅情報(bào)中心檢測(cè)到一批由Rust編寫的惡意樣本。這些樣本的主要行為是從遠(yuǎn)程網(wǎng)絡(luò)服務(wù)器獲取Shellcode并加載執(zhí)行。樣本的傳播方式不斷演變,包括通過MSI安裝包、EXE可執(zhí)行文件等多種形式。目前,火絨安全已支持查殺此類惡意樣本,能夠有效保護(hù)用戶的系統(tǒng)安全,為了進(jìn)一步提升防護(hù)能力,建議廣大用戶及時(shí)安裝或更新火絨安全軟件,以確保系統(tǒng)具備最新的防護(hù)能力,有效抵御新興威脅,防范潛在的安全風(fēng)險(xiǎn)。

    圖片

    查殺圖


    執(zhí)行流程圖如下:

    圖片
    流程圖


    wininstall.exe:
    在wininstall.exe中,Rust的main函數(shù)并不是直接執(zhí)行的,而是先配置一系列的異常處理機(jī)制、TLS回調(diào)以及堆棧等環(huán)境,在完成這些初始化操作后,main函數(shù)開始執(zhí)行。
    圖片

    main函數(shù)


    隨后,樣本會(huì)檢測(cè)當(dāng)前是否具有管理員權(quán)限。如果具備管理員權(quán)限,則通過創(chuàng)建計(jì)劃任務(wù)來實(shí)現(xiàn)權(quán)限維持,并從遠(yuǎn)程網(wǎng)絡(luò)服務(wù)器下載并執(zhí)行Shellcode。如果不具備管理員權(quán)限,則結(jié)束進(jìn)程。

    圖片

    管理員權(quán)限執(zhí)行

    圖片

    計(jì)劃任務(wù)


    通過PowerShell命令創(chuàng)建計(jì)劃任務(wù)。

    圖片
    計(jì)劃任務(wù):PowerShell

    在通過網(wǎng)絡(luò)請(qǐng)求獲取配置信息時(shí),樣本會(huì)設(shè)置自定義的User-Agent(UA)頭,以此來模擬合法流量并達(dá)到規(guī)避檢測(cè)的目的。

    圖片

    User-Agent(UA)


    隨后,樣本會(huì)在https://fanciful-gelato-78b95c.netlify.app/15429b.bin中下載惡意Shellcode代碼,并將其加載執(zhí)行。

    圖片

    下載惡意Shellcode代碼


    接下來,樣本通過申請(qǐng)內(nèi)存空間、復(fù)制惡意代碼并修改內(nèi)存屬性(設(shè)置為可執(zhí)行權(quán)限)的方式,加載并執(zhí)行Shellcode。

    圖片

    分配內(nèi)存


    最后,樣本通過創(chuàng)建新線程來實(shí)現(xiàn)執(zhí)行惡意代碼。

    圖片

    線程執(zhí)行


    對(duì)其惡意代碼進(jìn)行分析,其通過CLR(Common Language Runtime公共語(yǔ)言運(yùn)行庫(kù))內(nèi)存加載PE的方式執(zhí)行后門功能。

    圖片
    內(nèi)存加載PE
    圖片
    內(nèi)存PE

    對(duì)提取的PE文件進(jìn)行分析后,確認(rèn)其為Xworm 5.6遠(yuǎn)控木馬,后門通信地址為154.197.33.29:7000。該變種版本已將所有與"Xworm"相關(guān)的字段抹去,以規(guī)避檢測(cè)。

    圖片

    修改版Xworm 5.6


    huhu7.26.msi安裝:

    在初始版本中通過MSI安裝程序釋放并執(zhí)行惡意代碼,釋放的文件包括:

    • protector.exe(基于Rust編寫的惡意代碼加載器)。
    • Firefoxlatest.exe(合法的火狐瀏覽器安裝程序,用于偽裝)。
    • JPG文件。

    圖片

    MSI釋放文件


    通過對(duì)MSI安裝包的CustomAction進(jìn)行分析,可以發(fā)現(xiàn)protector.exe是由aicustact.dll的導(dǎo)出函數(shù)LaunchAPP啟動(dòng)執(zhí)行的。而火狐瀏覽器安裝程序則是通過viewer.exe以命令行方式進(jìn)行安裝的。

    圖片

    MSI主行為

    圖片

    AI_APP_FILE

    圖片
    執(zhí)行Rust加載器
    圖片
    命令行執(zhí)行火狐安裝程序

    初始版本的Rust加載器附帶了PDB符號(hào)文件。經(jīng)分析發(fā)現(xiàn),其行為與變種版本基本一致:均通過添加計(jì)劃任務(wù)實(shí)現(xiàn)持久化,并從網(wǎng)絡(luò)地址http://107.167.2.178/15429.bin下載并執(zhí)行惡意代碼。

    圖片

    下載惡意代碼


    后續(xù)加載過程與變種版本相同,具體步驟如下:先開辟一塊內(nèi)存空間,再將內(nèi)存的權(quán)限修改為可執(zhí)行,最后創(chuàng)建線程來執(zhí)行下載的惡意代碼。

    圖片
    分配內(nèi)存

    對(duì)網(wǎng)絡(luò)獲取的惡意代碼Shellcode進(jìn)行分析后,發(fā)現(xiàn)其執(zhí)行方式同樣是通過內(nèi)存加載PE文件。該版本與變種版本的主要區(qū)別在于,其中的Xworm后門為未修改的5.6版本。

    圖片