1. 簡介

網路安全的環境特點在於惡意軟體開發的複雜度不斷提升,駭客總是不停地想出新招來繞過安全防護。在眾多惡意軟體類型中,載入器(loaders)在攻擊的初期階段扮演關鍵角色,負責傳遞並執行後續的 Payloads。HijackLoader(也被稱為 IDAT Loader 和 GHOSTPULSE)是2023年冒出來的一款相對新的惡意載入器。 1 這款載入器靠著它的模組化架構脫穎而出,這點在其他載入器中並不常見。 4 HijackLoader有能力部署多種第二階段的 Payloads ,包括像是LummaC2和RedLine Stealer這類資訊竊取軟體,以及遠端存取木馬(RATs)。 1 它持續更新並引入採用進階規避技術的新模組,顯示這款惡意軟體正在不斷開發與精進,因此需要對它的能力進行徹底的技術分析。 1 了解這些高明的規避策略,對於開發有效的檢測與緩解策略來對抗HijackLoader及類似的演進威脅來說至關重要。

HijackLoader來襲:資安高手的反制心法與技術祕笈 | 資訊安全新聞

像HijackLoader這樣的惡意載入器持續精進,從新增創新的規避模組可以看出,這在惡意軟體開發領域中標示了一個重要趨勢。這個趨勢指向對高級反分析與反檢測能力的日益重視。對資安專家來說,這意味著必須承諾持續學習並調整他們的分析技術與安全工具。惡意軟體作者會不斷因應已實施的安全措施來調整他們的方法。HijackLoader中出現的新規避技術直接顯示了這種適應行為,凸顯資安社群需要主動理解並對抗這些新開發方法的必要性。此外,HijackLoader內建的模組化設計顯示出高度靈活與適應性的框架。這種架構允許輕鬆整合新功能,包括創新的規避策略。這樣的模組化對靜態分析構成相當大的挑戰,因為若不逐一檢查每個模組並了解它們之間的互動,可能無法輕易看出完整的惡意攻擊範圍。

2. HijackLoader規避技術的深入分析

2.1. 呼叫堆疊偽造(Call Stack Spoofing)

呼叫堆疊是電腦程式設計中用來追蹤程式內有效的函數呼叫的基本資料結構。它採用後進先出(LIFO)的原則運作,每次函數呼叫都會在堆疊中新增一個框架,包含像是返回位址和函數參數等資訊。 1 EBP(基底指標)在瀏覽這個堆疊時扮演關鍵角色,讓除錯工具和分析工具能重建程式執行到某個特定點時的函數呼叫順序。傳統上,堆疊追蹤依賴EBP值的鏈結來跟隨這個呼叫順序。 8

HijackLoader使用一種叫做呼叫堆疊偽造的技術來隱藏其函數呼叫的來源,包括API和系統呼叫。 1 這種方法涉及利用EBP指標鏈來導航堆疊,但HijackLoader並非揭示真實的呼叫順序,而是用偽造的框架取代合法的堆疊框架,有效隱藏惡意呼叫的存在。這個過程從惡意軟體從堆疊框架中取得返回位址指標(位於EBP+4)開始。如果這個返回位址不在NTDLL或kernelbase(核心系統函式庫)的預期記憶體區域內,HijackLoader會收集返回位址指標和堆疊框架的實際返回位址。隨後,返回位址指標會被「更新」(patched),用從合法系統DLL的文字區段中隨機取出的位址替換。這個特定的DLL由HijackLoader的SM模組指定。 1 這個更新過程會反覆進行,直到達到堆疊限制,或連續三個堆疊框架的返回位址都位於NTDLL或kernelbase的文字區段內為止。 1 值得注意的是,HijackLoader內的多個模組都使用了這種呼叫堆疊偽造技術,包括ti、modCreateProcess、modUAC和modTask。 1 類似的呼叫堆疊偽造技術也在其他惡意軟體家族中觀察到,例如 CoffeeLoader 也採用這種方法作為規避策略。 2 呼叫堆疊偽造的效力在於它能阻礙端點檢測工具。透過偽造呼叫堆疊,HijackLoader讓這些工具更難追蹤惡意攻擊的真正來源。 1 此外,使用假的堆疊框架也能規避依賴精確追蹤呼叫堆疊執行流程的檢測機制。 11

利用合法系統DLL的文字區段提供替代返回位址的做法,是HijackLoader呼叫堆疊偽造的一個顯著特點。這種方法顯示出故意將偽造的堆疊框架融入系統正常執行流程的企圖,從而讓使用返回位址完整性檢測變得更具挑戰性。安全工具通常會檢查返回位址是否指向有效且已載入的模組。透過使用從合法DLL取得的位址,HijackLoader增加了偽造堆疊框架在這些基本驗證檢查中顯得不那麼可疑的可能性。此外,觀察到HijackLoader內不同模組在實現呼叫堆疊偽造時的變化,有些模組結合了Heaven's Gate和直接系統呼叫,而其他則依賴帶有偽造堆疊的直接API呼叫,這指向一個經過深思熟慮的設計。這種設計可能目的為最大化惡意軟體在多樣系統設定和安全產品功能中的規避能力。這種分層方法,對某些模組使用更複雜的技術如Heaven's Gate,對其他則使用較簡單的偽造,增強了惡意軟體整體對檢測的抵抗力。

2.2. 反虛擬機(Anti-VM)檢查

HijackLoader包含一個名為ANTIVM的專用模組,專門設計用來識別並規避虛擬機和沙箱等分析環境。 1 這個模組根據一個名為ANTIVM_STRUCT的設定結構進行一系列檢查。 1 其中一項檢查涉及計算CPUID指令的平均執行時間,並將此值與預定義的閾值進行比較。 1 由於虛擬化的開銷,虛擬機執行此指令的時間通常較高。 13 ANTIVM模組還會檢查ECX暫存器中執行CPUID指令後的特定位元(即hypervisor present bit)來判斷是否有虛擬監督器存在。 1 此外,該模組還會取得虛擬監督器CPUID資訊的最大輸入值。 1 也會進行資源檢查,將總實體記憶體和處理器數量與預定義的最小值進行比較。 1 沙箱通常會為分析環境分配有限的資源。 1 進一步的檢查包括驗證電腦名稱是否僅由數字組成 1 以及使用者名稱是否與 Hardcode值(如"george")相符。 .Concurrent 該模組還會判斷HijackLoader是否從桌面資料夾或其子資料夾中執行。 1 最後,系統的總實體記憶體和處理器數量會與已知為沙箱環境的特定值進行比較。 1 這些反虛擬機檢查的主要目的是阻礙自動化惡意軟體分析,並防止惡意軟體在受控環境中暴露其惡意能力。 1 針對這些檢查存在多種繞過技術,包括修改虛擬機的設定或操控系統呼叫返回的值。 14

HijackLoader內部實現多重反虛擬機檢查,顯示出一個深思熟慮且強大的策略,目的在增強其規避分析環境的能力。這種多方面的方法比單一檢測方法更能提高成功規避的可能性。透過針對虛擬化環境的各方面進行檢查,例如CPU計時、虛擬監督器特定標誌、系統資源可用性以及特定系統屬性,HijackLoader讓沙箱難以在所有這些參數上完美模擬真實系統。此外,檢查特定使用者名稱和執行路徑(特別是桌面資料夾)的加入,顯示出試圖與典型使用者行為模式對齊並避免在標準分析設定中執行的意圖。惡意軟體常依賴社交工程策略誘導使用者執行它。檢查從桌面資料夾執行的行為(這是下載檔案的常見位置)與此策略一致。同樣,特定的 Hardcode使用者名稱可能是惡意軟體開發階段的遺留物,或是針對已知分析環境的特定檢查。

2.3. 透過排程任務實現持久性

HijackLoader利用modTask和modTask64模組透過建立排程任務在受感染的系統上實現持久性。 1 這些模組依賴從PERSDATA模組取得的設定設定。 1 這些設定包括定義排程任務何時觸發的參數,例如使用者登入時或定期間隔。設定還指定任務旗標(Task flags)、執行頻率(以分鐘為單位)以及任務名稱。 1 一般來說,惡意軟體常利用排程任務作為在被滲透的Windows系統上實現持久性的機制。 25 這通常透過使用命令列工具schtasks.exe實現,該工具允許以程式方式建立和管理排程任務。 25 透過利用此工具,惡意軟體可以設定任務在特定時間或回應特定系統事件時執行惡意 Payloads ,確保即使系統重啟後惡意軟體仍保持有效。 25 常見做法包括將惡意 Payloads 放置在使用者可寫入的目錄中,例如AppData\Roaming,以方便排程任務執行。 25 檢測惡意排程任務通常涉及監控具有不尋常或可疑名稱、不規則執行時間或位於非預期目錄中的 Payloads 的任務等策略。 25

設定排程任務觸發的靈活性,允許在使用者登入時或定期間隔執行,顯示HijackLoader在不同使用者行為模式下維持持久性的適應性。將任務排程在使用者登入時執行,確保每次使用者開始其工作階段時惡意軟體都會執行。相反地,按定期間隔排程則保證即使使用者不常登出也能持續執行,為維持持久性提供一定程度的 Redundancy 。此外,HijackLoader依賴標準Windows工具如任務排程器,使其持久性機制更難與合法排程任務區分開來。這需要對任務的設定細節和相關程序進行仔細且徹底的分析,以識別任何惡意意圖。濫用內建系統功能是惡意軟體常用的規避策略。透過利用任務排程器,HijackLoader有效地將其惡意攻擊與合法系統管理任務混合,使僅基於所用工具的檢測變得無效。

2.4. 程序黑名單檢查

HijackLoader內建一個機制,檢查與防毒軟體常相關聯的特定程序是否存在,例如avgsvc.exe和avastsvc.exe。 1 如果惡意軟體檢測到這些目標程序正在系統上運行,它會故意延遲自己的執行5秒鐘。 1 這種延遲的主要目的是可能規避安全產品在程式啟動後立即進行的即時檢測或分析。 2 這種方法與允許清單策略形成對比,後者只允許明確批准的程序在系統上運行。 32

特別針對已知防毒程序延遲執行的行為,顯示HijackLoader在設計時已意識到系統上常見的安全解決方案。這表明它故意試圖繞過這些安全產品在啟動時常進行的初始掃描或行為監控。防毒軟體通常在啟動新程序時進行徹底檢查。透過在檢測到這些特定防毒程序時延遲執行,HijackLoader可能用於避免這種初始審查,或讓防毒軟體在惡意軟體開始其惡意攻擊前完成初始檢查。僅5秒的相對短暫延遲,可能是在最大化規避潛力與需要合理迅速執行惡意 Payloads 之間的計算平衡。過長的延遲可能在典型使用者環境中引起懷疑,而短暫延遲可能足以繞過某些即時分析類型,且不會顯著影響惡意軟體初始階段的感知執行時間。

2.5. 模組加密與隱寫術(Steganography)

為了防止靜態分析輕易揭露其惡意程式碼,HijackLoader對其各模組採用加密。 1 觀察到的主要儲存這些加密模組的方法,是將它們放置在PNG檔案中,特別是利用這些圖像檔案的IDAT標頭。 1 然而,分析也發現HijackLoader有時採取更隱秘的方式,直接將模組嵌入PNG圖像的像素結構中。這種技術稱為隱寫術(steganography),用於進一步隱藏惡意程式碼。 1 隱寫術本質上是將資料隱藏在看似無害的其他資料中的做法。 1 惡意軟體(可能包括HijackLoader)常用的一種隱寫方法是最低有效位元(LSB)編碼。 41 這種技術涉及修改像素值的最低有效位元,這些變化通常人眼難以察覺,但可用於編碼隱藏資料。使用隱寫術證明能有效規避傳統安全工具,這些工具可能未設計為檢查圖像像素資料中是否隱藏惡意內容。 40 技術分析已深入研究HijackLoader用於解析和解密嵌入這些PNG檔案中模組的具體方法。 1

觀察到HijackLoader策略的轉變,從主要利用IDAT標頭轉向偶爾將模組直接嵌入PNG圖像的像素結構,標誌著其隱寫術技術的進化。這一進展可能主要目的在實現更高的隱秘性。雖然IDAT標頭是PNG檔案中隱藏資料的常見位置,但安全工具可能特別設定為檢查這些區域。透過將資料嵌入像素結構中,HijackLoader使檢測變得更加複雜,因為這需要對圖像資料本身進行更深入的分析。此外,策略性地使用PNG檔案作為惡意模組的載體,利用了圖像檔案的廣泛流行和感知安全性。這種方法使惡意軟體可能繞過使用者和一些基本安全過濾器的初步審查。使用者通常習慣於遇到並開啟圖像檔案,透過將惡意程式碼隱藏在這些看似無害的檔案中,攻擊者可以利用這種固有的信任來傳遞其 Payloads ,而不會立即引起懷疑。

2.6. Heaven's Gate技術

Heaven's Gate技術是一種高級方法,允許在64位元作業系統上運行的32位元程序執行64位元程式碼。 1 在HijackLoader中,ti模組特別採用此技術,從32位元程序執行x64直接系統呼叫。此背景下切換到64位元執行的主要動機是繞過 User-mode hooks 。這些 Hooks 通常由安全軟體放置在64位元系統上32位元版本的系統DLL中,以監控API呼叫。 1 32位元與64位元執行模式之間的轉換,透過在低階位元碼執行期間操作CPU的段選擇器(特別是程式碼段CS選擇器),將其值從0x23(代表32位元模式)更改為0x33(代表64位元模式)來實現。 51 Heaven's Gate技術也在其他惡意軟體家族中觀察到,用於類似的規避目的。 2 這種技術對傳統32位元分析工具構成重大挑戰,凸顯需要能識別並處理程式執行期間位元切換的分析工具。 50

HijackLoader採用Heaven's Gate技術,顯示出對32位元與64位元環境架構差異的清晰理解。這也表明其針對64位元系統中32位元使用者空間內更常見的安全措施進行規避的目標努力。許多端點安全解決方案依賴在程序使用者空間內 Hooks 和監控API呼叫。透過切換到64位元模式以透過直接系統呼叫執行關鍵操作,HijackLoader可能繞過這些32位元 Hooks ,有效地在這些安全機制的直接可見範圍外運作。此外,將Heaven's Gate與呼叫堆疊偽造結合,代表了一種高級、多層次的規避策略。這種組合不僅透過堆疊操作隱藏函數呼叫的來源,還在不同的位元環境中執行呼叫,為分析增加了另一層複雜性。即使分析師成功追蹤呼叫堆疊,實際的系統呼叫執行仍在64位元環境中進行,可能超出初始32位元分析的範圍。

2.7. 系統DLL重新映射(Remapping)

HijackLoader採用一種技術,將關鍵系統DLL(特別是ntdll.dllwow64cpu.dll)的.text區段從磁碟重新映射到程序的記憶體中。 1 此重新映射過程的主要目標是消除安全軟體可能插入以監控惡意軟體API呼叫的 User-mode hooks 。 1 一般來說,惡意軟體利用多種技術繞過或移除 User-mode hooks ,包括直接從磁碟載入乾淨、無 Hooks 的DLL副本,或使用直接系統呼叫與作業系統核心互動,而不經過被 Hooks 的API函數。 55 HijackLoader利用Heaven's Gate技術呼叫原生API NtWriteVirtualMemoryNtProtectVirtualMemory。這些呼叫在執行重新映射操作中至關重要,允許惡意軟體用磁碟上原始、無 Hooks 的版本覆蓋記憶體中可能被 Hooks 的DLL區段。 53

HijackLoader策略性地決定重新映射ntdll.dllwow64cpu.dll,顯示出在不同執行環境中規避 User-mode hooks 的全面方法。ntdll.dll是32位元和64位元程序用於系統呼叫的核心系統函式庫。wow64cpu.dll則專門用於支援64位元系統上32位元程序的執行。透過針對這兩個關鍵DLL,HijackLoader最大化其在不被 User-mode hooks 機制監控的情況下運作的機會,無論惡意軟體是以32位元還是64位元程序運行。重新映射像ntdll.dll這樣的核心系統DLL是一種重要的規避技術,通常需要提升的權限和小心執行以避免系統不穩定。這凸顯了HijackLoader的高級技術水準,顯示出高度的技術專業知識和對實現隱秘運作的強烈關注。

2.8. Mutex檢查

HijackLoader內的MUTEX模組設計為包含特定的mutex名稱。 1 在進行其惡意攻擊之前,HijackLoader會檢查系統上是否已存在具有此特定名稱的mutex。 1 如果惡意軟體發現設定名稱的mutex已存在,它將終止其執行。 1 這種行為常被惡意軟體實現,以防止多次感染同一系統,這可能導致資源消耗增加和檢測可能性提高。它還可以作為同一惡意軟體不同元件或實例之間協調的機制。在更廣泛的惡意軟體分析背景下,mutex常用於多種目的,包括防止重複感染,確保任何時候只有單一惡意軟體實例運行,以及促進惡意軟體不同部分之間的進程間通訊。 65 值得注意的是,惡意軟體使用的mutex名稱有時對於特定惡意軟體家族或活動是獨特的,因此可以作為威脅檢測的寶貴妥協指標(IOCs)。 66

HijackLoader實現mutex檢查,表明其確保受感染系統上僅有一個惡意軟體實例活躍運行的機制。這種方法可能用於節省系統資源或減少觸發安全軟體多次警報的機會,這些警報可能監控 Redundancy 或衝突的惡意程序。透過在執行前檢查特定名稱mutex的存在,HijackLoader可以避免不必要的活動重複。雖然Zscaler文章未明確透露HijackLoader使用的具體mutex名稱,但專用MUTEX模組的存在表明這可能是一個靜態值或潛在動態生成的值。如果能透過進一步分析HijackLoader樣本發現此mutex名稱,它可能成為檢測與此惡意軟體相關感染的可靠指標。

2.9. 自訂注入(Custom Injection)

HijackLoader包含一個CUSTOMINJECT模組,其中嵌入了一個看似合法的可執行檔案。 1 這個看似無害的可執行檔案隨後被惡意軟體用來將惡意程式碼直接注入其自身程序記憶體中。 1 此外,CUSTOMINJECTPATH模組指定了一個自訂路徑,在注入發生前在此路徑創建此程序。 1 在更廣泛的惡意軟體技術領域中,程序注入是一種常見策略,用於在另一個(通常是合法的)程序的環境中執行惡意程式碼。此技術用於多種原因,包括規避安全軟體檢測和提升權限。 1 存在多種特定的程序注入技術,例如程序挖空(process hollowing)、DLL注入和反射式DLL注入(reflective DLL injection)。 53

將惡意程式碼注入合法可執行檔案的策略,使HijackLoader可能繼承該程序的屬性,更重要的是其信任等級。這對於規避來說是一個顯著優勢,因為安全軟體通常會維護白名單或對已知合法應用程式施加較寬鬆的審查。透過在這樣的程序記憶體空間內運作,HijackLoader的惡意攻擊可能對行為監控系統或應用程式控制規則顯得不那麼可疑。此外,根據CUSTOMINJECTPATH模組指定的自訂路徑創建此程序,可能為惡意軟體服務於多個目的。這可能是試圖避免基於合法軟體典型執行位置的檢測,或者旨在建立一個有利於執行注入惡意程式碼的特定或受控環境。

2.10. TinycallProxy模組

HijackLoader包含一個名為TinycallProxy的模組,作為執行API呼叫的中介或代理。 1 當HijackLoader需要呼叫Windows API函數時,它可以利用TinycallProxy模組來促進此呼叫。API呼叫所需的資訊,包括API函數的記憶體位址、所需的參數數量以及實際參數本身,作為引數傳遞給此代理模組。 1 HijackLoader不是直接呼叫API函數,而是將控制權轉移給TinycallProxy模組,該模組隨後使用提供的引數執行底層API呼叫。值得注意的是,HijackLoader中還存在此模組的64位元版本,名為TinycallProxy64。 1 使用API呼叫代理可以為惡意軟體在規避方面提供多種潛在好處。 84 它可以透過模糊惡意軟體打算進行的直接API呼叫來複雜化靜態分析努力。這種間接性也可能干擾依賴直接觀察API函數呼叫的較簡單API呼叫監控形式。此外,使用API呼叫代理可以與其他規避技術(如呼叫堆疊偽造)策略性結合,進一步增強惡意軟體的隱秘性。

在HijackLoader內實現專用代理模組來處理API呼叫,表明其故意抽象並可能混淆惡意軟體與作業系統功能的互動。HijackLoader不是直接呼叫Windows API,而是引入了TinycallProxy模組作為中介層。這種間接層次可以使靜態分析工具更難直接識別惡意軟體進行的特定API呼叫及其傳遞的參數。32位元和64位元版本的TinycallProxy模組的存在,與HijackLoader使用Heaven's Gate技術及其在32位元和64位元環境中運作的整體能力一致。這種雙重能力確保HijackLoader無論當前程序位元如何,都能維持其規避策略並有效執行API呼叫,在不同架構背景下提供一致的功能。

3. HijackLoader規避技術的潛在影響

HijackLoader採用的新穎且高明的規避技術,對包括端點檢測與回應(EDR)系統、防毒軟體和沙箱環境在內的眾多傳統安全解決方案帶來重大挑戰。 1 呼叫堆疊偽造(Call Stack Spoofing)能有效誤導依賴分析呼叫堆疊來辨識惡意行為的EDR工具。 11 透過偽造呼叫順序,惡意呼叫的真正來源被隱藏,讓這些工具難以準確歸因活動。HijackLoader實現的反虛擬機(Anti-VM)檢查,可能導致惡意軟體在沙箱環境中執行時表現得像無害軟體。 16 如果惡意軟體檢測到自己運行在虛擬機中,它可能會避免執行其預定的惡意行動,從而阻止分析師觀察其真實能力。透過排程任務實現的持久性,確保HijackLoader能長期存取受損系統並反覆執行其 Payloads ,可能繞過沙箱解決方案通常有限的分析時間。 25 程序黑名單檢查和延遲執行策略有助於HijackLoader規避防毒產品的即時檢測。 2 當防毒程序運行時延遲其活動,惡意軟體可能避開初始掃描和行為監控。模組加密與隱寫術(Steganography)旨在阻礙靜態分析和基於特徵碼的檢測。 39 加密模組使得不進行執行時分析就難以理解其功能,而隱寫術則讓惡意軟體能將其元件隱藏在看似無害的圖像檔案中。Heaven's Gate技術和系統DLL重新映射特別針對繞過 User-mode hooks ,這是許多安全產品監控API呼叫的常見方法。 50 透過從32位元程序在64位元模式下執行關鍵操作,或移除系統DLL中的 Hooks,HijackLoader能在不被這些監控機制觀察的情況下運作。自訂注入(Custom Injection)到合法程序中,讓惡意軟體能偽裝成可信軟體執行,可能規避基於程序聲譽或命令列分析的檢測。 75 最後,使用TinycallProxy模組執行API呼叫增加了一層間接性,這能模糊惡意軟體與作業系統的互動並複雜化分析。 84

HijackLoader成功規避安全解決方案可能帶來嚴重後果。它為第二階段 Payloads 的傳遞鋪平道路,這些 Payloads 可能包括設計用來竊取敏感資料的資訊竊取軟體、能加密關鍵檔案的勒索軟體,以及進一步危害受感染系統的其他形式惡意軟體。 1 最終,成功規避可能導致系統完全受損、資料竊取,以及從受感染主機發起進一步惡意攻擊的潛在可能性。

HijackLoader採用的多層次方法,涉及協同使用多種規避技術,大幅增加了安全產品有效檢測和防止其惡意攻擊的難度。透過結合不同規避方法,HijackLoader打造了一個複雜且具韌性的防禦來對抗分析與檢測。即使某個技術被安全解決方案識別並應對,其他技術仍可能讓惡意軟體繼續執行其預定行動。此外,HijackLoader的不斷演進,標誌著新增和精進的規避策略,顯示其開發者持續努力保持對最新安全防禦的競爭優勢。這要求資安社群不斷適應與創新,以有效應對這一持續威脅。

4. 緩解策略與防禦機制

要有效對抗HijackLoader採用的進階規避技術,需要採取多面向方法,結合多層安全控制措施。

表1:HijackLoader反虛擬機檢查與緩解策略

檢查描述

技術細節

目的

潛在緩解策略

CPUID平均執行時間

計算並與閾值比較。

檢測虛擬機中較慢的執行速度。

使用能精確模擬CPU計時的沙箱。

虛擬監督器存在位元(Hypervisor Present Bit)

檢查CPUID後ECX的第31位元。

檢測虛擬監督器的存在。

使用不依賴虛擬監督器的檢測方法。設定虛擬機隱藏虛擬監督器旗標。

虛擬監督器CPUID最大輸入值

取得最大輸入值。

另一個虛擬監督器的指標。

沙箱環境應模擬真實的虛擬監督器資訊。

總實體記憶體與處理器數量

與預定義的最小值比較。

檢測沙箱中的有限資源。

為分析環境分配真實的資源。

電腦名稱檢查

驗證名稱是否僅由數字組成。

檢測虛擬機預設或自動化的命名慣例。

設定分析環境使用真實的電腦名稱。

使用者名稱檢查

與 Hardcode值(如"george")比對。

檢測分析環境中使用的特定使用者名稱。

使用多樣且真實使用者名稱的分析環境。

從桌面資料夾執行

驗證是否從桌面或其子資料夾執行。

針對常見的下載位置。

不論執行路徑如何都分析檔案。

特定記憶體與處理器數量比較

與特定沙箱值比較。

檢測已知的沙箱設定。

持續更新沙箱設定以避免被檢測。

呼叫堆疊偽造(Call Stack Spoofing): 實施更進階的呼叫堆疊分析技術,超越簡單的返回位址驗證。這可能涉及追蹤執行緒建立API的來源,並識別顯示合成或偽造堆疊框架的模式。 11 利用Windows事件追蹤(ETW)監控呼叫堆疊事件,也有助於識別異常和可疑的操作。 12

反虛擬機(Anti-VM)檢查: 採用進階沙箱技術,能精確模擬真實系統環境的特性。這包括精確模擬CPU計時、真實分配系統資源,以及準確呈現系統屬性。 20 持續開發和精進技術,以檢測並對抗常見的反虛擬機檢查,例如與CPUID指令相關的檢查。 15

透過排程任務實現持久性: 實施嚴格的監控和記錄所有排程任務建立與執行的事件。安全解決方案應尋找名稱不尋常或可疑、不規則執行時間,或設定為從非標準或可疑位置執行 Payloads 的任務。 25 利用威脅情報饋送識別已知的惡意排程任務模式和設定。

程序黑名單檢查: 實施行為分析技術,能檢測程序中延遲執行的模式,特別是在檢查特定安全相關程序後。 34 安全解決方案應專注於分析程序在整個執行過程中的整體行為,而非僅依賴其初始行動。

模組加密與隱寫術(Steganography): 採用深度檔案分析技術,能檢查圖像檔案的像素資料是否存在嵌入的惡意程式碼。 43 利用動態分析環境觀察模組在運行時解密並載入記憶體的過程。 96

Heaven's Gate技術: 實施專為處理程序執行期間位元切換設計的分析工具。這些工具應能無縫分析同一程序中的32位元和64位元程式碼段。 50 安全解決方案也應監控32位元程序中32位元與64位元程式碼段之間不尋常且意外的轉換。

系統DLL重新映射: 實施強大的監控機制,檢測程序試圖在記憶體中修改或重新映射系統DLL(如ntdll.dllwow64cpu.dll)的行為。 55 這可能表明試圖移除 User-mode hooks 。採用核心層級監控也有助於檢測對關鍵系統檔案和記憶體區域的未授權修改。

Mutex檢查: 利用威脅情報平台識別過去分析中與HijackLoader相關的已知mutex名稱。 66 安全解決方案應監控這些已知惡意名稱的mutex創建,以及具有可疑或不尋常命名模式的mutex創建。

客製注入(Custom Injection): 實施全面的程序監控和異常檢測能力,識別不尋常的程序注入活動,特別是針對合法且知名程序時。 78 分析在非標準或意外檔案路徑中創建的程序行為。

TinycallProxy模組: 監控涉及使用代理模組的間接API呼叫模式。 89 安全分析應專注於檢查傳遞給此類代理模組的引數,以確定正在執行的底層API呼叫。

防禦像HijackLoader這樣進階惡意軟體的關鍵在於採用深度防禦策略。這涉及整合多層安全控制,包括網路監控、強大的端點保護和先進的行為分析能力。僅依賴單一安全產品或有限的檢測技術,通常不足以對抗HijackLoader這類惡意軟體採用的多樣且適應性強的規避策略。持續的威脅情報收集與分析也至關重要。保持了解HijackLoader及其他新興惡意軟體威脅使用的最新規避技術,使資安團隊能主動調整其防禦機制和分析方法。

表2:HijackLoader規避技術與緩解策略

規避技術

技術描述

潛在影響

緩解策略

呼叫堆疊偽造(Call Stack Spoofing)

偽造呼叫堆疊框架以隱藏函數呼叫的來源。

誤導依賴呼叫堆疊分析的EDR工具。

實施進階呼叫堆疊分析,追蹤執行緒啟動API,利用ETW檢測異常。

反虛擬機檢查(Anti-VM Checks)

執行多項檢查以檢測虛擬機和沙箱。

在分析環境中導致無害行為。

採用進階沙箱技術,檢測並對抗常見的反虛擬機檢查。

透過排程任務實現持久性

建立排程任務以執行惡意 Payloads 。

確保長期存取與執行,繞過時間有限的分析。

監控任務建立與執行,利用威脅情報識別已知惡意模式。

程序黑名單檢查(Process Blocklisting)

檢查防毒程序並延遲執行。

規避安全產品的即時檢測。

實施行為分析以檢測延遲執行。

模組加密與隱寫術(Module Encryption and Steganography)

加密模組並將其隱藏在PNG檔案中(IDAT或像素資料)。

阻礙靜態分析與基於特徵碼的檢測。

採用深度檔案分析,利用動態分析觀察模組載入。

Heaven's Gate技術

從32位元程序執行64位元程式碼。

繞過32位元 User-mode hooks 。

使用能識別位元切換的分析工具,監控位元轉換。

系統DLL重新映射(Remapping of System DLLs)

從磁碟將系統DLL的.text區段重新映射到記憶體。

移除 User-mode hooks 。

監控DLL重新映射,實施核心層級監控。

Mutex檢查

檢查特定mutex名稱,若存在則終止執行。

避免重複感染或與其他實例協調。

利用威脅情報識別已知mutex名稱,監控可疑mutex創建。

自訂注入(Custom Injection)

將惡意程式碼注入合法可執行檔案。

繼承合法程序的信任,規避檢測。

實施強大的程序監控與異常檢測,分析非標準路徑中的程序。

TinycallProxy模組

作為代理執行API呼叫。

模糊直接API呼叫,複雜化分析。

監控間接API呼叫,分析傳遞給代理模組的引數。

5. 結論

HijackLoader代表了一款高級的惡意載入器,結合了多樣化的新穎規避技術,顯示出對隱秘性和阻礙分析的顯著重視。這些技術包括呼叫堆疊偽造、反虛擬機檢查、透過排程任務實現持久性、程序黑名單檢查、模組加密結合隱寫術、Heaven's Gate技術、系統DLL重新映射、Mutex檢查、自訂注入以及API呼叫代理,這些共同對現有安全解決方案構成相當大的挑戰。這些規避技術的多層次特性,多種技術協同使用,進一步複雜化了檢測與緩解工作。HijackLoader的不斷開發與精進,從引入新模組及其規避策略的演進可見一斑,凸顯了威脅環境的持續與動態本質。要有效對抗此類進階威脅,資安社群需要採取主動且適應性的方法,特徵在於持續研究、開發高級分析工具,以及實施強大且多層次的防禦策略。惡意軟體開發者與資安社群之間的持續戰鬥,要求承諾主動防禦並培養持續學習與適應的文化,以領先這些不斷演進的威脅。

參考文獻

  1. New HijackLoader Evasion Tactics | ThreatLabz - Zscaler https://www.zscaler.com/blogs/security-research/analyzing-new-hijackloader-evasion-tactics
  2. New Malware Loaders Use Call Stack Spoofing, GitHub C2, and ... https://thehackernews.com/2025/04/new-malware-loaders-use-call-stack.html
  3. HijackLoader | Red Canary Threat Detection Report https://redcanary.com/threat-detection-report/threats/hijackloader/
  4. HijackLoader Updates | ThreatLabz - Zscaler https://www.zscaler.com/blogs/security-research/hijackloader-updates
  5. More stealthy Hijack Loader malware emerges - SC Media https://www.scworld.com/brief/more-stealthy-hijack-loader-malware-emerges
  6. Return Oriented Programming (ROP) attacks - Infosec https://www.infosecinstitute.com/resources/hacking/return-oriented-programming-rop-attacks/
  7. A Pentester's Guide to Exploiting Buffer Overflow Vulnerabilities - Cobalt.io https://www.cobalt.io/blog/pentester-guide-to-exploiting-buffer-overflow-vulnerabilities
  8. Traditional stack-trace technique based on EBP chaining. - ResearchGate https://www.researchgate.net/figure/Traditional-stack-trace-technique-based-on-EBP-chaining_fig1_323922951
  9. The NT Insider:Stacking the Deck -- Finding Your Way Through the Stack - OSR Online https://www.osronline.com/article.cfm%5Eid=202.htm
  10. CoffeeLoader: A Brew of Stealthy Techniques | ThreatLabz - Zscaler https://www.zscaler.com/blogs/security-research/coffeeloader-brew-stealthy-techniques
  11. Reflective call stack detections and evasions | IBM https://www.ibm.com/think/x-force/reflective-call-stack-detections-evasions
  12. Doubling Down: Detecting In-Memory Threats with Kernel ETW Call ... https://www.elastic.co/security-labs/doubling-down-etw-callstacks
  13. Detect VM environment using cpuid | by Andrea Bocchetti | Medium https://medium.com/@andreabocchetti88/detect-vm-environment-using-cpuid-f461e89f81c0
  14. Anti-VM-CpuCycles : r/cybersecurity - Reddit https://www.reddit.com/r/cybersecurity/comments/1en5ndd/antivmcpucycles/
  15. Anti-VM, Anti-Debug & Anti-\* Bypass Part - 1 · ThreatBreach Blogs https://blog.threatbreach.io/posts/anti-vm-anti-debug--anti--bypass-part---1/
  16. Malware Anti-VM Techniques - Cynet https://www.cynet.com/attack-techniques-hands-on/malware-anti-vm-techniques/
  17. Defeating malware's Anti-VM techniques (CPUID-Based Instructions) | Rayanfam Blog https://rayanfam.com/topics/defeating-malware-anti-vm-techniques-cpuid-based-instructions/
  18. void-stack/Hypervisor-Detection: Detects virtual machines and malware analysis environments - GitHub https://github.com/void-stack/Hypervisor-Detection
  19. Common sandbox evasion techniques - Nature's cheats https://evasion.tymyrddin.dev/docs/sandbox/techniques
  20. Malware Sandbox Evasion Techniques: A Comprehensive Guide - VMRay https://www.vmray.com/sandbox-evasion-techniques/
  21. Virtualization/Sandbox Evasion: System Checks - Unprotect Project https://unprotect.it/technique/virtualizationsandbox-evasion-system-checks/
  22. 2017 Volume 6 Evasive Malware Tricks How Malware Evades Detection by Sandboxes https://www.isaca.org/resources/isaca-journal/issues/2017/volume-6/evasive-malware-tricks-how-malware-evades-detection-by-sandboxes
  23. Navigating the Vast Ocean of Sandbox Evasions - Unit 42 https://unit42.paloaltonetworks.com/sandbox-evasion-memory-detection/
  24. Scrut1ny/Hypervisor-Phantom: Advanced malware analysis tool for evading detection from advanced malware. - GitHub https://github.com/Scrut1ny/Hypervisor-Phantom
  25. Shenanigans of Scheduled Tasks - Logpoint https://www.logpoint.com/en/blog/emerging-threats/shenanigans-of-scheduled-tasks/
  26. Scheduled Task - Red Canary Threat Detection Report https://redcanary.com/threat-detection-report/techniques/scheduled-task/
  27. Exploring Persistence Mechanisms in Windows Scheduled Tasks - Security Blue Team https://www.securityblue.team/blog/posts/persistence-mechanisms-windows-scheduled-tasks
  28. Shenanigans of Scheduled Tasks - Logpoint https://www.logpoint.com/en/blog/shenanigans-of-scheduled-tasks/
  29. Programmatically Creating a Scheduled Task in Windows - 0x8004130f Error https://stackoverflow.com/questions/477616/programmatically-creating-a-scheduled-task-in-windows-0x8004130f-error
  30. Automated Rapid Response to Suspicious Remote Scheduled Task Creation - Palo Alto Networks Blog https://www.paloaltonetworks.com/blog/security-operations/automated-rapid-response-to-suspicious-remote-scheduled-task-creation/
  31. Suspicious Execution via Scheduled Task | Elastic Security Solution [8.17] https://www.elastic.co/guide/en/security/current/suspicious-execution-via-scheduled-task.html
  32. Allowlisting vs Blocklisting: The Challenges - Jscrambler https://jscrambler.com/blog/allowlisting-vs-blocklisting
  33. Application Whitelisting vs. Application Blacklisting: Pros and Cons - ColorTokens https://colortokens.com/blogs/application-whitelisting-application-blacklisting-pros-cons/
  34. 10 Malware Detection Techniques - CrowdStrike https://www.crowdstrike.com/en-us/cybersecurity-101/malware/malware-detection/
  35. Researchers Uncover Hijack Loader Malware Using Stolen Code-Signing Certificates https://thehackernews.com/2024/10/researchers-uncover-hijack-loader.html
  36. HijackLoader | 346316f470d2 | VMRay Platform Report https://www.vmray.com/analyses/_mb/346316f470d2/report/overview.html
  37. Unveiling UAC-0184: The Steganography Saga of the IDAT Loader Delivering Remcos RAT to a Ukraine Entity in Finland - Morphisec https://www.morphisec.com/blog/unveiling-uac-0184-the-remcos-rat-steganography-saga/
  38. Steganography | News & Insights | The Hacker News https://thehackernews.com/search/label/Steganography
  39. Stegomalware - Wikipedia https://en.wikipedia.org/wiki/Stegomalware
  40. Steganography Explained: How XWorm Hides Inside Images - The Hacker News https://thehackernews.com/2025/03/steganography-explained-how-xworm-hides.html
  41. What is Steganography in Cybersecurity? Detecting Hidden Malware - SiteLock https://www.sitelock.com/blog/what-is-steganography/
  42. What You Need to Know About Stegomalware | Fortra Email Security https://emailsecurity.fortra.com/blog/what-need-to-know-about-stegomalware
  43. How Steganography Allows Attackers to Evade Detection | eSecurity ... https://www.esecurityplanet.com/threats/how-steganography-allows-attackers-to-evade-detection/
  44. Hidden Malware in Plain Sight: How Steganography Threatens Your Files (And How to Stop It) - odix Content Disarm and Reconstruction (CDR) https://www.odi-x.com/news/hidden-malware-in-plain-sight-how-steganography-threatens-your-files-and-how-to-stop-it/
  45. Protecting Against Malware Concealed in PNG Images | Office of Innovative Technologies - University of Tennessee, Knoxville https://oit.utk.edu/security/learning-library/article-archive/protecting-against-malware-concealed-in-png-images/
  46. Worok, the malware that hides in PNG image files - TuxCare https://tuxcare.com/blog/worok-the-malware-that-hides-in-png-image-files/
  47. How It Works: Steganography Hides Malware in Image Files - Virus Bulletin https://www.virusbulletin.com/virusbulletin/2016/04/how-it-works-steganography-hides-malware-image-files
  48. Protect Users from Malware in Images | Ericom Software https://www.ericom.com/blog/protect-from-malware-hidden-in-images-files/
  49. HijackLoader Targets Hotels: A Technical Analysis | by Alpine Security - Medium https://alpine-sec.medium.com/hijackloader-targets-hotels-a-technical-analysis-c2795fc4f3a3
  50. Bypassing Heaven's Gate Technique Using Black-Box Testing - PubMed https://pubmed.ncbi.nlm.nih.gov/38067790/
  51. Bypassing Heaven's Gate Technique Using Black-Box Testing - PMC https://pmc.ncbi.nlm.nih.gov/articles/PMC10708677/
  52. Heaven's Gate - Kaspersky IT Encyclopedia https://encyclopedia.kaspersky.com/glossary/heavens-gate/
  53. HijackLoader Expands Techniques to Improve Defense Evasion - CrowdStrike https://www.crowdstrike.com/en-us/blog/hijackloader-expands-techniques/
  54. LummaC2 Revisited: What's Making this Stealer Stealthier and More Lethal - SpyCloud https://spycloud.com/blog/lummac2-malware-stealthier-capabilities/
  55. Agent Tesla: Evading EDR by Removing API Hooks - HP Wolf Security Blog https://threatresearch.ext.hp.com/agent-tesla-evading-edr-by-removing-api-hooks/
  56. Return oriented programming with arguments using arbitrary EBP - Stack Overflow https://stackoverflow.com/questions/61333756/return-oriented-programming-with-arguments-using-arbitrary-ebp
  57. EDR Evasion with Hardware Breakpoints: The Blindside Technique - Cymulate https://cymulate.com/blog/blindside-a-new-technique-for-edr-evasion-with-hardware-breakpoints/
  58. Full DLL Unhooking with C++ - Red Team Notes https://www.ired.team/offensive-security/defense-evasion/how-to-unhook-a-dll-using-c++
  59. Extracting Syscalls from a Suspended Process - Cymulate https://cymulate.com/blog/extracting-syscalls-from-a-suspended-process/
  60. Introduction to EDR Evasion: API Hooking - Redfox Security - Pen Testing Services https://redfoxsec.com/blog/introduction-to-edr-evasion-api-hooking/
  61. User-mode API hooks and bypasses - itm8.com https://itm8.com/articles/user-mode-api-hooks-and-bypasses
  62. A Deep Dive Into Malicious Direct Syscall Detection - Palo Alto Networks Blog https://www.paloaltonetworks.com/blog/security-operations/a-deep-dive-into-malicious-direct-syscall-detection/
  63. Hooks - Evasion techniques - Check Point Software Technologies https://evasions.checkpoint.com/src/Evasions/techniques/hooks.html
  64. Abusing VBS Enclaves to Create Evasive Malware - Akamai https://www.akamai.com/blog/security-research/2025-february-abusing-vbs-enclaves-evasive-malware
  65. How to Analyze Malware with x64dbg https://www.varonis.com/blog/how-to-use-x64dbg-malware-analysis
  66. Malware Detection Avoidance through Mutexes - GRIN https://www.grin.com/document/1138722
  67. Malware Payload Control via IPC using Mutex | by S12 - H4CK | Medium https://medium.com/@s12deff/malware-payload-control-via-ipc-using-mutex-a290054eebd2
  68. Converging paths - Analysis of recent Lumma Stealer campaigns - Inde Technology https://www.inde.nz/blog/converging-paths-analysis-of-recent-lumma-stealer-campaigns
  69. HijackLoader | a15ddd90e6ad | VMRay Platform Report https://www.vmray.com/analyses/_mb/a15ddd90e6ad/report/overview.html
  70. The mutex vaccine for malwares - Intelliroot https://www.intelliroot.com/blog/the-mutex-vaccine-for-malwares
  71. How Malware Generates Mutex Names to Evade Detection - SANS Internet Storm Center https://isc.sans.edu/diary/19429
  72. Looking at Mutex Objects for Malware Discovery and Indicators of Compromise https://www.sans.org/blog/looking-at-mutex-objects-for-malware-discovery-indicators-of-compromise/
  73. Search for Malware Mutexes in Threat Intelligence Lookup - ANY.RUN https://any.run/cybersecurity-blog/mutex-search-in-ti-lookup/
  74. Malware Mutexes in Cyber Threat Intelligence | by Chad Warner - Medium https://warnerchad.medium.com/malware-mutexes-in-cyber-threat-intelligence-5311416807e5
  75. MITRE ATT&CK T1055 Process Injection - Picus Security https://www.picussecurity.com/resource/blog/t1055-process-injection
  76. Malware Development: Process Injection - YouTube https://www.youtube.com/watch?v=A6EKDAKBXPs
  77. 10+ Most Common Types of Malware Injection Attacks - Host Duplex Blog https://www.hostduplex.com/blog/types-of-malware-injection-attacks/
  78. Process Injection - Red Canary Threat Detection Report https://redcanary.com/threat-detection-report/techniques/process-injection/
  79. Ten process injection techniques: A technical survey of common and trending process injection techniques | Elastic Blog https://www.elastic.co/blog/ten-process-injection-techniques-technical-survey-common-and-trending-process
  80. What is Process Injection​​​? Techniques & Preventions - SentinelOne https://www.sentinelone.com/cybersecurity-101/cybersecurity/process-injection/
  81. The Definitive Guide to Linux Process Injection - Akamai https://www.akamai.com/blog/security-research/the-definitive-guide-to-linux-process-injection
  82. Process Injection Attacks and Detection Course - HTB Academy https://academy.hackthebox.com/course/preview/process-injection-attacks-and-detection
  83. Process Injection Using Windows Thread Pools - SafeBreach https://www.safebreach.com/blog/process-injection-using-windows-thread-pools/
  84. ProxyBack Malware Turns User Systems Into Proxies Without Consent - Unit 42 https://unit42.paloaltonetworks.com/proxyback-malware-turns-user-systems-into-proxies-without-consent/
  85. ProxyNation: Malware-Driven Proxy Surge - LevelBlue https://levelblue.com/blogs/labs-research/proxynation-the-dark-nexus-between-proxy-apps-and-malware
  86. Labeless Part 6: How to Resolve Obfuscated API Calls in the Ngioweb Proxy Malware https://research.checkpoint.com/2018/labeless-part-6-how-to-resolve-obfuscated-api-calls-in-the-ngioweb-proxy-malware/
  87. Deploying Antivirus APIs in Proxies & ICAP Servers: Enhancing Security at the Network Perimeter - Cloudmersive https://cloudmersive.com/article/Deploying-Antivirus-APIs-in-Proxies-&-ICAP-Servers:-Enhancing-Security-at-the-Network-Perimeter
  88. Proxy Detection via API: How to Detect Fraudulent IPs - SEON https://seon.io/resources/proxy-detection-via-api/
  89. A malware classification method based on directed API call relationships - PMC https://pmc.ncbi.nlm.nih.gov/articles/PMC11913307/
  90. A malware classification method based on directed API call relationships | PLOS One https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0299706
  91. API Abuse in the Cloud - Red Canary Threat Detection Report https://redcanary.com/threat-detection-report/trends/api-abuse/
  92. Just Carry A Ladder: – Why Your EDR Let Pikabot Jump Through - VMRay https://www.vmray.com/just-carry-a-ladder-why-your-edr-let-pikabot-jump-through/
  93. There Is More Than One Way to Sleep: Dive Deep Into the Implementations of API Hammering by Various Malware Families https://unit42.paloaltonetworks.com/api-hammering-malware-families/
  94. Malware Analysis Spotlight: Why Your EDR Let Pikabot Jump Through - BankInfoSecurity https://www.bankinfosecurity.com/whitepapers/malware-analysis-spotlight-your-edr-let-pikabot-jump-through-w-13846
  95. External malware blocklist for antivirus | invalid parameter 6.2.0 - Fortinet Document Library https://docs.fortinet.com/document/%20fortigate/6.2.0/cookbook/254346/external-malware-blocklist-for-antivirus
  96. Uncovering .NET Malware Obfuscated by Encryption and Virtualization https://unit42.paloaltonetworks.com/malware-obfuscation-techniques/
  97. Understand Encryption in Malware: From Basics to XOR - ANY.RUN's Cybersecurity Blog https://any.run/cybersecurity-blog/encryption-in-malware/
  98. Intruders in the Library: Exploring DLL Hijacking - Unit 42 https://unit42.paloaltonetworks.com/dll-hijacking-techniques/
  99. Detect, prevent and respond: A deep dive on malicious DLLs - Logpoint https://www.logpoint.com/en/blog/deep-dive-on-malicious-dlls/
  100. Ongoing Malvertising Campaign leads to Ransomware | Rapid7 Blog https://www.rapid7.com/blog/post/2024/05/13/ongoing-malvertising-campaign-leads-to-ransomware/
  101. Deep Malware and Phishing Analysis - Joe Sandbox Hypervisor https://www.joesecurity.org/joe-sandbox-hypervisor
  102. Finding Anomalous Behavior in Windows | by Tahir | Medium https://medium.com/@tahirbalarabe2/finding-anomalous-behavior-in-windows-fe43ba5d5142
  103. What processes would indicate my computer is infected with malware? https://security.stackexchange.com/questions/109751/what-processes-would-indicate-my-computer-is-infected-with-malware
  104. How to identify Malware in Task Manager and Stop it - MalwareFox https://www.malwarefox.com/identify-malware-in-task-manager/