深入分析 Lazarus 組織的記憶體常駐攻擊手法
近期資安研究揭露了與北韓關聯的 Lazarus 組織正針對金融與加密貨幣產業,部署一套名為 RemotePE 的跨平台遠端存取木馬(RAT。這類攻擊最棘手的地方在於它採用了多階段的載入機制,且核心模組完全在記憶體中執行,不會在硬碟留下任何檔案軌跡,這讓傳統基於檔案掃描的防毒軟體幾乎失效。
理解攻擊鏈的三個階段
為了讓後端或系統工程師更容易理解,我們可以將這次的攻擊過程拆解為三個遞進的階段。攻擊者並非一次將所有惡意程式丟入目標主機,而是採取分段載入,以降低被偵測的機率。
第一階段是 DPAPILoader。這是一個 DLL 動態連結庫檔案,其核心目的是解密。它利用了 Windows 的 DPAPI(資料保護 API),這是一個 Windows 內建用來加密使用者密碼或機密資料的機制。攻擊者利用此機制將後續的載入器加密儲存在硬碟中,只有在執行時才會解密,目的是躲避靜態掃描。
第二階段是 RemotePELoader。一旦 DPAPILoader 完成解密,它會啟動這個載入器。RemotePELoader 的任務是與 C2(命令與控制伺服器)建立連線,並從遠端下載最終的惡意模組。在下載之前,它會執行高度專業的反偵測操作,例如使用 Hell's Gate 技術來繞過 EDR(端點偵測與回應系統)對系統呼叫的監控,以及對 ETW(Windows 事件追蹤)進行補丁修改,讓系統無法記錄其可疑行為。
第三階段是 RemotePE。這是最終的 RAT 核心模組,由 C++ 編寫。最關鍵的是,它採取 Memory-only 執行方式,也就是直接在記憶體中運行而不需要寫入硬碟。這意味著即使電腦重新啟動,除非載入器再次運作,否則硬碟中找不到任何關於這個 RAT 的檔案殘留,極大地增加了數位鑑識的難度。
RemotePE 的功能與破壞力
RemotePE 具備完整的遠端控制能力,可以執行以下操作:修改 C2 設定、管理 DLL 模組、操作檔案系統、監控並殺掉特定進程以及讓程式進入睡眠狀態以躲避即時監控。
值得注意的一個細節是其檔案刪除機制。當攻擊者決定刪除檔案時,RemotePE 會將該檔案用固定位元組覆寫七次,然後才重新命名並刪除。這種做法是為了防止鑑識人員使用資料恢復軟體找回被刪除的證據,顯示出該組織對隱蔽性的極高要求。
攻擊路徑:從社交工程開始
技術再強,也需要進入點。這次攻擊的起點是典型的社交工程。攻擊者在 Telegram 上偽裝成交易公司的員工,透過偽造的 Calendly 或 Picktime 等會議預約網站誘騙目標員工點擊,進而控制受害者的裝置。這提醒我們,技術防禦雖然重要,但人員的意識(Security Awareness)才是第一道防線。
工程實務的啟示
對於維運與資安工程師來說,這次案例揭示了現代惡意軟體的趨勢:從檔案導向轉向記憶體導向。
首先,不能過度依賴對硬碟檔案的掃描。當惡意程式在記憶體中運行時,我們需要關注的是異常的網路連線行為(例如對未知 C2 伺服器的連線)以及不尋常的記憶體分配模式。
其次,監控系統呼叫(System Calls)的異常至關重要。由於攻擊者會嘗試繞過 ETW 或使用 Hell's Gate 等技術,因此需要更深層的內核監控或行為分析工具來捕捉這些繞過行為。
最後,這類工具被設計用於長期的潛伏觀察,而非立即爆發。攻擊者可能會在系統中潛伏數月,直到找到最適合出擊的時機進行大規模盜款。因此,建立持續性的威脅獵捕(Threat Hunting)機制,而非僅僅依賴警報觸發,才是對抗此類高級持續性威脅(APT)的有效方法。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。