CoffeeLoader 惡意軟件利用 GPU 加殼技術(shù)規(guī)避檢測
高級惡意軟件采用多重規(guī)避技術(shù)
Zscaler威脅實(shí)驗(yàn)室ThreatLabz發(fā)現(xiàn),自2024年9月開始活躍的CoffeeLoader惡意軟件家族采用多種技術(shù)規(guī)避終端安全檢測,以下載第二階段有效載荷。該惡意軟件運(yùn)用的高級技術(shù)包括:基于GPU的加殼、調(diào)用棧欺騙、休眠混淆和Windows纖程技術(shù)。該惡意軟件通過SmokeLoader傳播,兩者具有相似行為特征。
Zscaler在報告中指出:"CoffeeLoader實(shí)現(xiàn)了多項(xiàng)對抗終端安全軟件的功能,包括調(diào)用棧欺騙、休眠混淆和Windows纖程技術(shù)。該加載器采用我們命名為Armoury的加殼程序,通過在系統(tǒng)GPU上執(zhí)行代碼來阻礙虛擬環(huán)境分析。"
多階段攻擊流程分析
當(dāng)主控服務(wù)器不可用時,CoffeeLoader會啟用域名生成算法(DGA)。研究人員確認(rèn)該惡意軟件被用于部署Rhadamanthys信息竊取程序。
樣本采用獨(dú)特的惡意軟件加殼程序保護(hù),該程序利用系統(tǒng)GPU執(zhí)行代碼,大幅增加虛擬環(huán)境分析難度。由于仿冒華碩公司開發(fā)的合法Armoury Crate工具,專家將該加殼程序追蹤命名為Armoury。
CoffeeLoader投放器執(zhí)行安裝例程時,不同變種實(shí)現(xiàn)不同功能。其中一個版本將加殼DLL(ArmouryAIOSDK.dll)復(fù)制到用戶臨時目錄,通過rundll32.exe執(zhí)行,采用直接執(zhí)行(提升權(quán)限時)或UAC繞過(未提權(quán)時)方式。研究人員指出該變種不具備持久化能力。
其他版本通過以下方式實(shí)現(xiàn)持久化:將DLL復(fù)制至%PROGRAMDATA%(提權(quán)時)或%LOCALAPPDATA%(未提權(quán)時),設(shè)置嚴(yán)格文件權(quán)限,并通過schtasks.exe或Windows ITaskScheduler COM接口創(chuàng)建計(jì)劃任務(wù)(AsusUpdateServiceUA)。早期版本在用戶登錄時執(zhí)行,新版則設(shè)置為每10分鐘運(yùn)行一次。安裝完成后,投放器執(zhí)行CoffeeLoader的暫存組件后退出。
高級規(guī)避技術(shù)詳解
惡意軟件暫存組件創(chuàng)建掛起的dllhost.exe進(jìn)程,通過NtAllocateVirtualMemory、NtProtectVirtualMemory和NtWriteVirtualMemory注入主模塊。在終止前修改線程上下文執(zhí)行注入代碼。
主模塊采用DJB2算法解析API函數(shù),并運(yùn)用調(diào)用棧欺騙、休眠混淆和Windows纖程等高級規(guī)避技術(shù)。報告補(bǔ)充說明:"主模塊還通過哈希值解析API函數(shù)地址,但使用DJB2算法。該模塊實(shí)施了多項(xiàng)規(guī)避殺毒軟件(AV)和終端檢測響應(yīng)(EDR)的技術(shù)。"
CoffeeLoader支持多種命令,可注入執(zhí)行shellcode、可執(zhí)行文件和DLL。具體命令包括:休眠(0x58)、在指定進(jìn)程注入運(yùn)行shellcode(0x87)、更新休眠混淆方法和超時(0x89)、將可執(zhí)行載荷寫入臨時目錄并運(yùn)行(0x91)、將DLL載荷寫入臨時目錄并通過rundll32.exe執(zhí)行(0x93)。
該惡意軟件采用調(diào)用棧欺騙技術(shù)掩蓋函數(shù)調(diào)用來源,規(guī)避分析堆棧跟蹤的安全工具。通過建立合成堆棧幀和動態(tài)映射系統(tǒng)調(diào)用,避開用戶模式鉤子。在休眠混淆方面,CoffeeLoader在非活動狀態(tài)加密內(nèi)存,僅在執(zhí)行時解密。還通過修改內(nèi)存權(quán)限和為關(guān)鍵系統(tǒng)函數(shù)添加異常,繞過Windows控制流防護(hù)(CFG)。
與SmokeLoader的潛在關(guān)聯(lián)
ThreatLabz發(fā)現(xiàn)CoffeeLoader與SmokeLoader存在多項(xiàng)相似性,暗示兩者可能有關(guān)聯(lián)。兩個惡意軟件家族都使用暫存組件將主模塊注入其他進(jìn)程,基于系統(tǒng)詳情生成僵尸ID,并創(chuàng)建與僵尸ID關(guān)聯(lián)的互斥體名稱。它們都采用哈希解析導(dǎo)入項(xiàng),在全局結(jié)構(gòu)中存儲內(nèi)部變量,使用硬編碼RC4密鑰加密網(wǎng)絡(luò)流量。兩者都重度依賴底層Windows API,并通過修改文件屬性保持隱蔽。
在持久化機(jī)制方面,CoffeeLoader最新版本每10分鐘運(yùn)行計(jì)劃任務(wù)(無需提權(quán))。2024年12月?lián)Q出現(xiàn)新版SmokeLoader,與CoffeeLoader共享多項(xiàng)規(guī)避技術(shù)。但尚不確定CoffeeLoader是SmokeLoader的演進(jìn)版本,還是巧合相似。
報告總結(jié)指出:"CoffeeLoader加入了競爭激烈的惡意軟件加載器市場。開發(fā)者集成的紅隊(duì)攻防概念(如調(diào)用棧欺騙、休眠混淆和Windows纖程)使其具備競爭優(yōu)勢。雖然SmokeLoader傳播CoffeeLoader且兩者存在顯著相似性,但確切關(guān)系仍有待厘清。"報告最后提供了完整的入侵指標(biāo)(IOCs)。