Malware

深入銀狐 Part 1:載荷落地,Inno Setup 與 Pascal 的隱形載入鏈

銀狐 APT 以 Inno Setup 安裝器夾帶惡意 Pascal 腳本,在安裝過程即完成環境偵測、把整個 C 槽加入 Defender 排除、偵測防護軟體後停用網卡阻斷回報,再解密投放下一階段載入器 men.exe——本文還原這條偽裝成正常安裝的落地載入鏈。

Dinlon · 發布

地區 China · Taiwan · Japan · Korea · India · APAC 產業 政府 · 公共基礎設施 · 醫療 · 教育與研發 · 金融 · 電子商務 · 遊戲 · 資安 平台 Windows 歸因信心 high
actor Silver Fox(銀狐) malware ValleyRAT malware KKRAT technique Inno Setup Pascal Script abuse

Key findings

  • 銀狐組織自 2025 年 7 月起大規模採用此 Inno Setup 載入框架,持續活躍至 2025 年 12 月;本文樣本為演化中期版本,採集後約五個月(撰文時)於 VirusTotal 仍僅 13/70 家引擎判定為惡意。
  • 攻擊者把 Inno Setup 內嵌的 Pascal Script 當成執行框架,讓解包落地、防護繞過與反回報全部在「安裝過程」內完成,第一層檔案看起來就像正常軟體分發。
  • 腳本會將整個 C:\ 加入 Windows Defender 排除清單,並在偵測到 360、QQ 等中國常見防護程序時停用所有已啟用網卡,阻斷端點的即時回報與遠端查詢。
  • 下一階段載入器 men.exe 固定投放到 C:\ProgramData\WindowsData\,並以合法 LINE 官方安裝包作為誘餌同時啟動,掩護受害者察覺。
  • 該載入框架所有樣本共用同一組解壓密碼 htLcENyRFYwXsHFnUnqK,可作為跨樣本狩獵的 pivot。

前言

自 2024 年起,我們觀察到大量釣魚站點假冒 LINE 電腦版、Telegram 等通訊與辦公軟體,藉此投放以 ValleyRAT、KKRAT、Sliver 等 C2 框架建構的遠端控制木馬,最終目的多指向竊取資料、商業間諜與後續社交工程。這些攻擊行為來自進階長期威脅 Silver Fox(下稱銀狐組織),由中國地區與東南亞多個黑灰產業團體構成。其攻擊目標涵蓋中國、台灣、韓國、日本、印度等多個亞太地區國家;涉及產業廣泛,從政府單位、公共基礎設施、醫療衛生、教育與研發,到金融、電子商務、遊戲與資安產業等都在其攻擊目標之列。

我們長期追蹤該威脅實體,蒐集整理大量威脅情資與惡意樣本。本次節選一個具代表性的樣本作為案例,示範如何透過多種工具分析銀狐組織投放的惡意程式,還原惡意程式開發時的設計邏輯,同時分享分析過程中的常見問題與看法。

該樣本於 2025 年 9 月自銀狐組織架設之釣魚站點採集,具備強韌的核心載入能力與多階段免殺機制,至今(撰文時 2026 年 2 月)於 VirusTotal 上仍僅有 13/70 家引擎將其判定為惡意。依據我們的長期追蹤觀察,此系列惡意程式的載入框架最早可回溯至 2025 年 3 月出現,並自 2025 年 7 月起遭銀狐組織大規模採用,持續活躍至 2025 年 12 月期間,其間伴隨多次變異與功能升級。本文所分析的樣本屬於其演化中期版本,整體攻擊流程與技術選型已趨成熟。

本文將該樣本的攻擊階段拆分為四個主章節:安裝器落地、核心控制與免殺、ValleyRAT 載入器與 Rootkit 驅動群。本章聚焦在受害者自釣魚站點下載並執行安裝檔後,惡意程式如何在端點完成第一階段的解包落地、環境偵測與防護繞過,並把下一階段的載入器悄悄部署到固定位置——讓看似正常的安裝流程,轉變為可持續擴張的多階段攻擊起點。

本文僅供防禦研究、事件應變、威脅狩獵與教育用途。文中提及之樣本與工具可能具風險,請僅在隔離、可還原且不連接生產網路之環境中測試。本文不鼓勵、協助或默許任何未經授權之行為;文中所提及之第三方平台與產品名稱僅作技術描述之用。

樣本識別

取得樣本後,先以工具計算 MD5 確認檔案雜湊值是否正確,並透過開源情資查詢掃描資訊。

File:     hysij.exe
Size:     116778195 (111 Mb)
MD5:      7979B24EC49575A1F1A3367F7B888D0E
Compiled: Sat, Oct 30 2010, 20:54:54 - 32 Bit EXE

File Hash 工具顯示 hysij.exe 的大小、MD5 與編譯時間

檔案顯示的編譯時間為 2010 年,明顯與採集時間不符。此時間戳被刻意偽造,不能直接用來判定樣本年代,屬常見混淆手段。

分析惡意程式會透過靜態、動態等方法進行,第一步是確認目標適合哪一種分析方式。使用 DIE(Detect It Easy)掃描目標特徵,可在 Installer 欄位看到樣本是以 Inno Setup 5.3.10 打包的安裝檔,語言為 Object Pascal(Delphi),並帶有 Inno Setup Installer data 的 overlay。

DIE 掃描結果:Embarcadero Delphi、Object Pascal、Inno Setup Module 5.3.10、含 overlay

Inno Setup 是開源的安裝程式製作軟體,可在安裝過程中執行 Pascal 指令碼。攻擊者可藉由寫入並執行惡意 Pascal Script,在安裝時達成初步混淆與防禦規避。利用 Inno Setup 或 NSIS 作為安裝器的手法至少在 2010 年就已有案例,但多半只把惡意程式當一般檔案安裝,未特別濫用 Pascal 的邏輯能力;自 2022 年 Inno Stealer 被公開揭露濫用 Pascal 腳本執行的手法後,不少惡意程式開始利用此技術,濫用量急劇上升。

攻擊流程總覽

本樣本的安裝階段可抽象為以下流程:使用者啟動時請求 UAC 以管理員權限執行,安裝器隨即投放檔案並利用腳本破壞防護,將檔案解密後執行下一階段病毒,並啟動誘餌文件欺騙受害者。

惡意 Inno Setup 載入鏈:installer.exe 執行後產生 installer.tmp,投放 DropFile 並執行 Pascal Script,載入 Loader.exe 並顯示誘餌 Decoy.exe

解包與腳本分析

針對此類檔案,可對樣本使用 InnoUnpacker(innounp)解包,取得資源與執行腳本:

innounp.exe -v -m -x -dmal hysij.exe
  -m:取得執行腳本
  -x:導出檔案
  -d:資料夾名稱

若解包顯示失敗,可改用最新版 InnoUnpacker 以處理新版本的 Inno Setup 安裝檔。

innounp 解包輸出:{app} 下的 funzip.b、man.dat、main.xml、Server.log 與 embedded 下的 CompiledCode.bin、install_script.iss 等

解包結果大致可分為主目錄的安裝配置檔、位於 {app} 的資源,以及位於 embedded 目錄的安裝時腳本。各檔案的 SHA256 如下:

解包後各檔案的 SHA256 雜湊表

首先檢視位於主目錄的安裝配置檔 install_script.iss。主要檔案 funzip.bman.datmain.xmlServer.log 一開始被投放到 C:\ProgramData\WindowsData 目錄,安裝過程中不顯示任何介面。雖然看起來可疑,但這份配置本身沒有實際惡意行為;由於此階段的檔案皆已加密或編碼,掃描引擎無法直接偵測其中是否含有惡意邏輯。

install_script.iss 內容:DefaultDirName 指向 C:\ProgramData\WindowsData,[Files] 區段投放 funzip.b、man.dat、main.xml、Server.log

接著檢查 CompiledCode.bin,此檔案為 Pascal Script 編譯後的位元碼。可使用 ifpsdasm 或 Inno Setup Decompiler 取得反組譯結果,據此還原腳本邏輯。

Inno Setup Decompiler 反組譯 CompiledCode.bin,左側可見 BASE64DECODE、ISDEFENDERRUNNING、ADDDEFENDEREXCLUSION、IS360PROCESSRUNNING、DISABLENETWORKADAPTERS 等函式

分析 Pascal Script 後,可解析出安裝時會執行以下行為:

  1. 讀取 funzip.b,以 Base64 解碼並輸出為 funzip.exe
  2. 建立目錄 C:\ProgramData\WindowsData\C:\Users\Public\Pictures\WindowsData\
  3. 檢查 C:\ProgramData\WindowsData\Server.log 是否存在,同時刪除 C:\Users\Public\Pictures\WindowsData\Server.log 避免既有檔案干擾,隨後將 Server.log 移動至該位置。
  4. 透過 WMI 查詢 Windows Defender 是否啟用。若啟用,執行 powershell.exe -Command "Add-MpPreference -ExclusionPath 'C:\'",將整個 C:\ 加入 Defender 排除清單。
  5. 透過 WMI 查詢以下程序是否存在:MsMpEng.exe360tray.exe360Tray.exeQQPCRTP.exeQQPCTRay.exekxetray.exe。若偵測到任一程序,則將 Win32_NetworkAdapterNetEnabled = TRUE 的網卡設為 Disable,停用所有已啟用的網路介面,推測用於破壞端點在安裝當下的即時回報與遠端查詢機會。
  6. 使用 funzip.exe 解壓 main.xml,帶入密碼參數 -phtLcENyRFYwXsHFnUnqK;該密碼字串由兩個子字串組合而成,且該框架下所有樣本皆使用此密碼保護。
  7. 啟動 C:\ProgramData\WindowsData\setup.exe,這是官方版本的 LINE 安裝包,用以混淆受害者。
  8. 啟動 C:\ProgramData\WindowsData\men.exe,執行下一階段的攻擊。

將行為抽象化,還原出以下流程:

InnoDrop 處理流程:installer.tmp 投放 man.dat、main.xml、Server.log、funzip.b,經 Base64 解碼、移動檔案、防毒檢查、防毒規避、解壓檔案,最終執行 men.exe 與 setup.exe

在投放的檔案中,man.dat 體積異常偏大,且在安裝腳本與後續流程中未見被引用。結合其常見用法,推測為用來增加樣本體積、降低被上傳至線上沙箱或延後掃描處理的填充檔。

至此,安裝器完成了解包落地、環境偵測、防護繞過與阻斷回報機制,最後才將誘餌與下一階段載入器執行。透過多階段包裝,得以防止靜態解析工具在第一層掃描到惡意行為,使其看起來就像正常的安裝程式。

環境重建與動態採樣

若想建立「執行安裝檔後」的環境卻不想執行下一階段的 men.exe,可在與樣本 hysij.exe 同目錄下執行以下腳本建立環境:

# unpack.ps1
$MalDir = 'mal'

$XmlPath = Join-Path -Path ".\$MalDir" -ChildPath '{app}\main.xml'
$OutDir  = Join-Path -Path ".\$MalDir" -ChildPath '{app}'
$manPath = Join-Path -Path ".\$MalDir" -ChildPath '{app}\men.exe'
$logPath = Join-Path -Path ".\$MalDir" -ChildPath '{app}\Server.log'

innounp -v -m -x "-d$MalDir" hysij.exe

if (-not (Test-Path -Path 'C:\ProgramData\WindowsData')) {
    mkdir 'C:\ProgramData\WindowsData'
    mkdir 'C:\Users\Public\Pictures\WindowsData'
}

7z x -y -phtLcENyRFYwXsHFnUnqK $XmlPath "-o$OutDir"

cp $manPath 'C:\ProgramData\WindowsData\men.exe'
cp $logPath 'C:\Users\Public\Pictures\WindowsData\Server.log'

若想以動態方式採樣,可使用 API Monitor 對 CreateProcess 設下斷點,當執行到 men.exe 時選擇跳過(Skip Call),即可在不執行下一階段的情況下取得檔案。需注意的是,銀狐組織在其他變種中使用不同的啟動方式,將導致無法透過 Windows API 的 CreateProcess 直接攔截。

API Monitor 在 CreateProcessW 攔截到 lpCommandLine 為 C:\ProgramData\WindowsData\men.exe,勾選 Skip Call 可略過執行

變種觀察

追蹤本系列樣本時,於安裝器的執行腳本中觀察到許多有趣的變種:

  • 將檔案分割為兩個以上的子檔案,利用多次 copy /b 指令合併,並使用 PowerShell 腳本替換載荷內容。
  • 執行過去使用的工具,但該安裝檔並未部署該工具(此現象在下一階段亦有觀察到)。
  • 改用 NSIS 或其他安裝軟體,且使用最新版本以提升舊版工具的分析難度。
  • 破壞安裝檔格式,使其可被正常執行但無法被工具解析。
  • 直接啟動改為由排程任務啟動,混淆 PPID 關係。

技術統整

這些技術本身並不新,但被整合在安裝流程中,形成一條不容易被察覺的載入鏈入口。銀狐組織擅長的正是把多個技術組合在同一個攻擊階段,同時以快速的變異與新興技術,拖延偵測與回報時間。各技術與 ATT&CK 的對照見文末的 MITRE ATT&CK mapping 表。

結語

本章呈現銀狐載入鏈的落地階段。即使看起來是最容易被忽略的安裝流程,卻是最重要的第一階段:攻擊者把安裝器當成腳本執行框架,將解包落地、防護繞過、反回報一次完成,並把真正的惡意核心延後展開,替下一階段的載荷開路,使重要技術與惡意組件需要更長時間才被偵測。這種設計把最容易被靜態掃描命中的內容隱藏,讓第一層更像合法軟體分發,同時把端點偵測需要的關聯條件變得更分散。

下一章我們會接續分析 men.exe 的控制節點行為,以及其搭配的 bypass.exeNVIDIA.exe 等元件如何延伸免殺與執行鏈,並進一步把視角從安裝器移到中樞控制,還原它如何在端點上建立多個可持續運作的工具與保持攻擊能力。

樣本與參考

  • 分析樣本(tria.ge):https://tria.ge/260209-clfbsahz8g/,MD5 7979B24EC49575A1F1A3367F7B888D0E
  • MITRE ATT&CK — 技術對照依據
  • 原文(Medium,OIS):《深入銀狐 Part 1:載荷落地,Inno Setup 與 Pascal 的隱形載入鏈》

MITRE ATT&CK mapping

TacticTechniqueProcedure
ExecutionT1204.002受害者從釣魚站點下載並執行偽裝成通訊軟體的 Inno Setup 安裝器
ExecutionT1059濫用 Inno Setup 內嵌的 Pascal Script 作為腳本執行框架
ExecutionT1059.001以 PowerShell 執行 Add-MpPreference 設定 Defender 排除路徑
ExecutionT1047透過 WMI 查詢 Defender 狀態、防護程序與網卡並執行停用
DiscoveryT1518.001探測 MsMpEng、360、QQ 等防護軟體是否存在
DiscoveryT1057透過 WMI 列舉 MsMpEng.exe、360tray.exe 等程序
DiscoveryT1016透過 Win32_NetworkAdapter 蒐集並操作網卡組態
Defense evasionT1027Base64 編碼、LZMA 壓縮與密碼保護等多層混淆隱藏載荷
Defense evasionT1140安裝階段將 Base64 還原、解壓解密還原下一階段檔案
Defense evasionT1562.001將整個 C:\ 加入 Windows Defender 排除清單
Defense evasionT1562.006偵測到防護程序時停用所有網卡,阻斷回報與集中式分析

Indicators of compromise

TypeIndicatorFirst seenLast verifiedConfidenceStatus
MD57979B24EC49575A1F1A3367F7B888D0Ehysij.exe — Inno Setup 安裝器(主樣本)2025-092026-02-09High
MD50399D4A43E3343A938A9026FA4E1AF68men.exe — 下一階段載入器2025-092026-02-09High
SHA2567805188e266aa5ad28010ff02fb9dfa3ee163cb76131f636793c594d6610a89aCompiledCode.bin — 惡意 Pascal Script 位元碼2025-092026-02-09High
SHA2565190c9a71e17771b693c4953d302bf27b0aff3d2744f10feb994636fad43f3f8funzip.b — Base64 編碼的 funzip.exe2025-092026-02-09High
SHA25614649123e05f47bd00bc994c819a894b9ab4bcdbcfdf0982e6275cde869770b0bmain.xml — 密碼保護的下一階段載荷2025-092026-02-09High
SHA25682351bad16503d64e333cbbd99a30dbdcb68ca9f078a368d63b13b7a210f65eaServer.log2025-092026-02-09High
SHA2567ce9ee6c1dba672fa7c84c200db55aaf755bdd024258dc272141add97bacc4b7install_script.iss — 安裝配置2025-092026-02-09High
SHA25658a681af16a43d9af2f2e4f46c642116308bc8b2be67b851101b504b3b5b0131man.dat — 填充檔(增加體積、指標價值低)2025-092026-02-09Moderate
PathC:\ProgramData\WindowsData\固定投放/執行目錄——誘餌 setup.exe 與載入器 men.exe 的落地位置2025-092026-02-09High
PathC:\Users\Public\Pictures\WindowsData\腳本建立的次要目錄,用於存放 Server.log2025-092026-02-09High
StringhtLcENyRFYwXsHFnUnqKmain.xml 的解壓密碼(-p 參數),由兩段子字串組合;該載入框架所有樣本共用,可作為跨樣本 pivot2025-092026-02-09High
MD54AD2FC6FFF2E693478EADC6793F76924setup.exe — 合法 LINE 官方安裝包,作為誘餌同時啟動(本案痕跡,非惡意)2025-092026-02-09High

OIS-2026-002 · TLP:CLEAR under FIRST TLP 2.0 · 引用本研究請附研究編號與固定網址。