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

檔案顯示的編譯時間為 2010 年,明顯與採集時間不符。此時間戳被刻意偽造,不能直接用來判定樣本年代,屬常見混淆手段。
分析惡意程式會透過靜態、動態等方法進行,第一步是確認目標適合哪一種分析方式。使用 DIE(Detect It Easy)掃描目標特徵,可在 Installer 欄位看到樣本是以 Inno Setup 5.3.10 打包的安裝檔,語言為 Object Pascal(Delphi),並帶有 Inno Setup Installer data 的 overlay。

Inno Setup 是開源的安裝程式製作軟體,可在安裝過程中執行 Pascal 指令碼。攻擊者可藉由寫入並執行惡意 Pascal Script,在安裝時達成初步混淆與防禦規避。利用 Inno Setup 或 NSIS 作為安裝器的手法至少在 2010 年就已有案例,但多半只把惡意程式當一般檔案安裝,未特別濫用 Pascal 的邏輯能力;自 2022 年 Inno Stealer 被公開揭露濫用 Pascal 腳本執行的手法後,不少惡意程式開始利用此技術,濫用量急劇上升。
攻擊流程總覽
本樣本的安裝階段可抽象為以下流程:使用者啟動時請求 UAC 以管理員權限執行,安裝器隨即投放檔案並利用腳本破壞防護,將檔案解密後執行下一階段病毒,並啟動誘餌文件欺騙受害者。
解包與腳本分析
針對此類檔案,可對樣本使用 InnoUnpacker(innounp)解包,取得資源與執行腳本:
innounp.exe -v -m -x -dmal hysij.exe
-m:取得執行腳本
-x:導出檔案
-d:資料夾名稱
若解包顯示失敗,可改用最新版 InnoUnpacker 以處理新版本的 Inno Setup 安裝檔。

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

首先檢視位於主目錄的安裝配置檔 install_script.iss。主要檔案 funzip.b、man.dat、main.xml 與 Server.log 一開始被投放到 C:\ProgramData\WindowsData 目錄,安裝過程中不顯示任何介面。雖然看起來可疑,但這份配置本身沒有實際惡意行為;由於此階段的檔案皆已加密或編碼,掃描引擎無法直接偵測其中是否含有惡意邏輯。
![install_script.iss 內容:DefaultDirName 指向 C:\ProgramData\WindowsData,[Files] 區段投放 funzip.b、man.dat、main.xml、Server.log](/_astro/install-script-iss.DPd0HIAC_25ebIn.webp)
接著檢查 CompiledCode.bin,此檔案為 Pascal Script 編譯後的位元碼。可使用 ifpsdasm 或 Inno Setup Decompiler 取得反組譯結果,據此還原腳本邏輯。

分析 Pascal Script 後,可解析出安裝時會執行以下行為:
- 讀取
funzip.b,以 Base64 解碼並輸出為funzip.exe。 - 建立目錄
C:\ProgramData\WindowsData\與C:\Users\Public\Pictures\WindowsData\。 - 檢查
C:\ProgramData\WindowsData\Server.log是否存在,同時刪除C:\Users\Public\Pictures\WindowsData\Server.log避免既有檔案干擾,隨後將Server.log移動至該位置。 - 透過 WMI 查詢 Windows Defender 是否啟用。若啟用,執行
powershell.exe -Command "Add-MpPreference -ExclusionPath 'C:\'",將整個C:\加入 Defender 排除清單。 - 透過 WMI 查詢以下程序是否存在:
MsMpEng.exe、360tray.exe、360Tray.exe、QQPCRTP.exe、QQPCTRay.exe、kxetray.exe。若偵測到任一程序,則將Win32_NetworkAdapter中NetEnabled = TRUE的網卡設為 Disable,停用所有已啟用的網路介面,推測用於破壞端點在安裝當下的即時回報與遠端查詢機會。 - 使用
funzip.exe解壓main.xml,帶入密碼參數-phtLcENyRFYwXsHFnUnqK;該密碼字串由兩個子字串組合而成,且該框架下所有樣本皆使用此密碼保護。 - 啟動
C:\ProgramData\WindowsData\setup.exe,這是官方版本的 LINE 安裝包,用以混淆受害者。 - 啟動
C:\ProgramData\WindowsData\men.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 直接攔截。

變種觀察
追蹤本系列樣本時,於安裝器的執行腳本中觀察到許多有趣的變種:
- 將檔案分割為兩個以上的子檔案,利用多次
copy /b指令合併,並使用 PowerShell 腳本替換載荷內容。 - 執行過去使用的工具,但該安裝檔並未部署該工具(此現象在下一階段亦有觀察到)。
- 改用 NSIS 或其他安裝軟體,且使用最新版本以提升舊版工具的分析難度。
- 破壞安裝檔格式,使其可被正常執行但無法被工具解析。
- 直接啟動改為由排程任務啟動,混淆 PPID 關係。
技術統整
這些技術本身並不新,但被整合在安裝流程中,形成一條不容易被察覺的載入鏈入口。銀狐組織擅長的正是把多個技術組合在同一個攻擊階段,同時以快速的變異與新興技術,拖延偵測與回報時間。各技術與 ATT&CK 的對照見文末的 MITRE ATT&CK mapping 表。
結語
本章呈現銀狐載入鏈的落地階段。即使看起來是最容易被忽略的安裝流程,卻是最重要的第一階段:攻擊者把安裝器當成腳本執行框架,將解包落地、防護繞過、反回報一次完成,並把真正的惡意核心延後展開,替下一階段的載荷開路,使重要技術與惡意組件需要更長時間才被偵測。這種設計把最容易被靜態掃描命中的內容隱藏,讓第一層更像合法軟體分發,同時把端點偵測需要的關聯條件變得更分散。
下一章我們會接續分析 men.exe 的控制節點行為,以及其搭配的 bypass.exe、NVIDIA.exe 等元件如何延伸免殺與執行鏈,並進一步把視角從安裝器移到中樞控制,還原它如何在端點上建立多個可持續運作的工具與保持攻擊能力。
樣本與參考
- 分析樣本(tria.ge):https://tria.ge/260209-clfbsahz8g/,MD5
7979B24EC49575A1F1A3367F7B888D0E - MITRE ATT&CK — 技術對照依據
- 原文(Medium,OIS):《深入銀狐 Part 1:載荷落地,Inno Setup 與 Pascal 的隱形載入鏈》
MITRE ATT&CK mapping
| Tactic | Technique | Procedure |
|---|---|---|
| Execution | T1204.002 | 受害者從釣魚站點下載並執行偽裝成通訊軟體的 Inno Setup 安裝器 |
| Execution | T1059 | 濫用 Inno Setup 內嵌的 Pascal Script 作為腳本執行框架 |
| Execution | T1059.001 | 以 PowerShell 執行 Add-MpPreference 設定 Defender 排除路徑 |
| Execution | T1047 | 透過 WMI 查詢 Defender 狀態、防護程序與網卡並執行停用 |
| Discovery | T1518.001 | 探測 MsMpEng、360、QQ 等防護軟體是否存在 |
| Discovery | T1057 | 透過 WMI 列舉 MsMpEng.exe、360tray.exe 等程序 |
| Discovery | T1016 | 透過 Win32_NetworkAdapter 蒐集並操作網卡組態 |
| Defense evasion | T1027 | Base64 編碼、LZMA 壓縮與密碼保護等多層混淆隱藏載荷 |
| Defense evasion | T1140 | 安裝階段將 Base64 還原、解壓解密還原下一階段檔案 |
| Defense evasion | T1562.001 | 將整個 C:\ 加入 Windows Defender 排除清單 |
| Defense evasion | T1562.006 | 偵測到防護程序時停用所有網卡,阻斷回報與集中式分析 |
Indicators of compromise
| Type | Indicator | First seen | Last verified | Confidence | Status |
|---|---|---|---|---|---|
| MD5 | 7979B24EC49575A1F1A3367F7B888D0Ehysij.exe — Inno Setup 安裝器(主樣本) | 2025-09 | 2026-02-09 | High | — |
| MD5 | 0399D4A43E3343A938A9026FA4E1AF68men.exe — 下一階段載入器 | 2025-09 | 2026-02-09 | High | — |
| SHA256 | 7805188e266aa5ad28010ff02fb9dfa3ee163cb76131f636793c594d6610a89aCompiledCode.bin — 惡意 Pascal Script 位元碼 | 2025-09 | 2026-02-09 | High | — |
| SHA256 | 5190c9a71e17771b693c4953d302bf27b0aff3d2744f10feb994636fad43f3f8funzip.b — Base64 編碼的 funzip.exe | 2025-09 | 2026-02-09 | High | — |
| SHA256 | 14649123e05f47bd00bc994c819a894b9ab4bcdbcfdf0982e6275cde869770b0bmain.xml — 密碼保護的下一階段載荷 | 2025-09 | 2026-02-09 | High | — |
| SHA256 | 82351bad16503d64e333cbbd99a30dbdcb68ca9f078a368d63b13b7a210f65eaServer.log | 2025-09 | 2026-02-09 | High | — |
| SHA256 | 7ce9ee6c1dba672fa7c84c200db55aaf755bdd024258dc272141add97bacc4b7install_script.iss — 安裝配置 | 2025-09 | 2026-02-09 | High | — |
| SHA256 | 58a681af16a43d9af2f2e4f46c642116308bc8b2be67b851101b504b3b5b0131man.dat — 填充檔(增加體積、指標價值低) | 2025-09 | 2026-02-09 | Moderate | — |
| Path | C:\ProgramData\WindowsData\固定投放/執行目錄——誘餌 setup.exe 與載入器 men.exe 的落地位置 | 2025-09 | 2026-02-09 | High | — |
| Path | C:\Users\Public\Pictures\WindowsData\腳本建立的次要目錄,用於存放 Server.log | 2025-09 | 2026-02-09 | High | — |
| String | htLcENyRFYwXsHFnUnqKmain.xml 的解壓密碼(-p 參數),由兩段子字串組合;該載入框架所有樣本共用,可作為跨樣本 pivot | 2025-09 | 2026-02-09 | High | — |
| MD5 | 4AD2FC6FFF2E693478EADC6793F76924setup.exe — 合法 LINE 官方安裝包,作為誘餌同時啟動(本案痕跡,非惡意) | 2025-09 | 2026-02-09 | High | — |