網路資安研究人員已識別出一項惡意程式(malware)活動,該活動利用 TON 區塊鏈、合法軟體,以及可信任的 Windows 元件,來建構具備韌性(resilient)的指揮與控制(command-and-control)基礎設施,能夠躲避傳統的資安防護措施。攻擊者將區塊鏈技術與廣泛使用的應用程式結合,以增加惡意程式偵測的難度,並破壞既有的傳統移除(takedown)作業。此活動反映出一個日益增長的趨勢:網路犯罪分子利用去中心化技術與合法軟體生態系,打造高度韌性的惡意程式基礎設施,使其能抵禦網域封鎖(domain blocking)以及傳統的資安防禦。
釣魚電子郵件啟動多階段攻擊鏈
攻擊一開始是以偽裝成與訂房相關的通訊內容的釣魚電子郵件。受害者會被導向一個 Google Share 連結,該連結會重新導向至惡意網站;網站會要求使用者直接下載 ZIP 檔案,或透過類似 ClickFix 的介面來下載。下載的封包包含一個惡意的 Windows 快捷方式(LNK)檔案,攻擊者會透過使用 Windows shell32.dll 程式庫中的圖示,將其偽裝成圖片。
一旦開啟該快捷方式檔案,惡意程式會在背景中靜默執行一段混淆(obfuscated)的 PowerShell 指令。攻擊者並未以明文方式儲存下載網域,而是將位址編碼成兩個較大的數值。內嵌的 PowerShell 指令碼會透過算術與位元運算來重建惡意網域,使資安工具在進行靜態分析時更難識別其基礎設施。
接著,PowerShell 有效載荷(payload)會檢查目標裝置上是否已安裝 Node.js 執行環境(runtime)。若目標裝置尚未安裝,惡意程式會從該計畫(project)的官方分發基礎設施下載合法的 Windows 版 Node.js,並將其解壓縮到使用者的 LocalAppData 目錄。攻擊者倚賴真實的軟體元件,而非僅依靠惡意執行檔,目的是讓其活動更容易與合法應用程式行為混同,並降低被偵測到的可能性。
JavaScript 有效載荷使用自訂虛擬機解譯器
在安裝或定位到 Node.js 之後,惡意程式會解密一段受 AES-128-CBC 加密與 Base64 編碼保護的 JavaScript 有效載荷。解密後的程式碼會透過合法的 Node.js 執行環境執行,且指揮與控制(command-and-control)的設定會以執行環境參數(runtime argument)形式提供。
研究人員指出,該 JavaScript 植入程式(implant)被高度混淆,且不是透過標準的 JavaScript 方式執行,而是透過自訂的虛擬機解譯器(virtual machine interpreter)執行。這種技術會大幅提升惡意程式分析的複雜度,因為它能阻止傳統以特徵碼(signature)為基礎的資安工具輕易辨識惡意程式碼。
使用區塊鏈託管的設定以支援 C2 更新
此攻擊使用 TON 區塊鏈作為具韌性的指揮與控制(command-and-control)基礎設施,使攻擊者能在不修改或重新散佈已安裝於受感染系統上的惡意程式的情況下,更新惡意指令。調查人員已辨識出數個與本次活動相關的歷史指揮與控制網域。然而,惡意程式並不僅依賴固定網域來取得指令。相反地,只要基礎設施遭到封鎖,運作者就能修改區塊鏈託管的設定資料,讓受感染系統在不需更換惡意程式本體的情況下,就能取得更新後的指揮與控制資訊。
惡意程式具備下載 Windows 執行檔、PowerShell 指令碼以及額外 JavaScript 有效載荷的能力。在執行下載的 Windows 程式之前,它會驗證可攜式執行檔(Portable Executable, PE)檔案標頭(header),並將檔案以隨機產生的名稱儲存在暫存目錄中;此外,它可能會嘗試將該檔案路徑加入 Microsoft Defender 的排除清單,以在執行期間降低被偵測到的機率。
建議資安團隊監控釣魚與未授權的軟體安裝
研究人員建議組織提高警覺,避免落入以旅行與訂房(booking)相關主題為內容的釣魚活動,特別是包含 Google Share 連結、會重新導向至可疑下載內容的電子郵件。他們也建議監控包含偽裝成圖片的 LNK 快捷方式檔案之 ZIP 封包,以及企業系統上的非預期 PowerShell 活動與未授權的 Node.js 安裝。
常見問題(FAQ)
在此惡意程式活動中,TON 區塊鏈被用於什麼用途?
TON 區塊鏈被用作具韌性的指揮與控制(command-and-control)基礎設施,使攻擊者能在不修改或重新散佈已安裝於受感染系統上的惡意程式的情況下,更新惡意指令。只要基礎設施遭到封鎖,運作者就能修改區塊鏈託管的設定資料,讓受感染系統能取得更新後的指揮與控制資訊。
惡意程式如何偽裝成合法軟體?
惡意程式會從該計畫的官方分發基礎設施下載合法的 Windows 版 Node.js,並透過真實的 Node.js 執行環境來執行加密的 JavaScript 有效載荷。透過倚賴受信任的軟體元件與 Windows 公用程式,攻擊者能讓其活動更容易與合法應用程式行為混同,從而降低被資安工具偵測到的可能性。