圖片來源: 

Elastic

Elastic旗下的安全實驗室揭露北韓駭客Lazarus的攻擊行動,研究人員看到駭客鎖定加密貨幣交易平臺的區塊鏈工程師,散布macOS惡意程式Kandykorn。

攻擊者先是在公開的Discord伺服器佯稱區塊鏈工程師,利用社交工程手法,提供加密貨幣套利機器人(arbitrage bot),引誘目標人士下載帶有惡意程式碼的ZIP壓縮檔。一旦目標人士執行其中的Main.py指令碼,就有可能導致電腦被植入惡意程式。

乍看之下,這個指令碼沒有惡意內容,似乎執行的是普通的功能,只是將其他的Python指令碼當作模組導入,然而研究人員分析watcher.py指令碼內容,發現攻擊者的意圖。

在整個攻擊鏈當中,Main.py會觸發另一個指令碼watcher.py,然後從雲端檔案儲存服務Google Drive下載testSpeed.py,而這個指令碼再從另一個Google Drive網址取得名為FinderTools的Python檔案。FinderTools下載、執行惡意酬載Sugarloader,最終連線遠端伺服器取得Kandykorn,並於記憶體內執行。此後門程式具備列出受害電腦存放的檔案、執行惡意程式或命令、洩漏資料、終止處理程序的功能。

惡意程式載入工具Sugarloader在攻擊流程扮演關鍵角色

值得一提的是,駭客使用的惡意酬載Sugarloader,先後以不同的檔案名稱.sld和.log出現於攻擊流程。

駭客利用打包程式進行混淆處理,導致採用靜態分析做法的資安系統,能夠解析的程式較為有限。研究人員發現對方在程式碼當中,利用含有跳轉(JMP)的起始函數,將標頭指定到尚未定義的記憶體位址,然後於記憶體內解壓縮可執行檔。由於對方利用了這種手法,截至研究人員揭露這起攻擊行動的時候,惡意軟體分析平臺VirusTotal所有的防毒引擎皆將Sugarloader視為無害。

這個惡意程式的主要功能之一,就是從C2下載Kandykorn的有效酬載。根據研究人員的分析,駭客同時設置了C2的備援IP位址,以防主要伺服器無法存取的情況。一旦此惡意程式的設定組態載入記憶體並解密,就會建立與遠端伺服器的連線並取得Kandykorn,並透過反射式載入(Reflective Binary Loading)手法,濫用NSCreateObjectFileImageFromMemory、NSLinkModule等API,在特定處理程序所使用的記憶體區域當中,執行惡意酬載。

而為了能夠持續在受害電腦運作,駭客也透過Sugarloader建立名為Hloader的惡意程式,並將其偽裝成Discord主程式,同樣地,VirusTotal所有的防毒引擎也將該惡意程式視為無害。

過程中,攻擊者運用了相當罕見的手法,研究人員稱為執行流程挾持(Execution Flow Hijacking)。攻擊者鎖定通常會隨著電腦開機啟動的即時通訊軟體Discord,而使用載入程式Hloader的目的,就是同時啟動Discord執行檔與.log酬載(即Sugarloader的另一個型態)。

具體而言,攻擊者會將原本的Discord主程式更名,並以Hloader替代、執行,載入.log,讓此可執行檔在記憶體內運作,完全不會寫入磁碟。之後,再將Discord主程式、Hloader改回原本的檔案名稱。

熱門新聞

Advertisement