萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

線程注入型木馬深度清除實戰:從啟動項稽核到記憶體取證

為何線程注入木馬最難對付?

傳統木馬以獨立 .exe 執行,易被工作管理員、防毒軟體發現。2004 年後,主流木馬改用核心嵌入、遠端線程注入、PSAPI 掛鉤等技術,將惡意程式碼注入 svchost.exe、spoolsv.exe、explorer.exe 等合法系統進程,達到:

  • 進程列表中無可疑獨立進程。
  • 檔案系統中無木馬實體檔(或已自我刪除)。
  • 登錄檔啟動項在運行前重建,關機前刪除,極難留下證據。

第一階段:自動啟動機制全面稽核(靜態分析)

1. 登錄檔啟動項

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Classes\exefile\shell\open\command  (檢查是否被改為 "malware.exe \"%1\" %*")

重點檢查指向系統目錄(%SystemRoot%、%SystemRoot%\System32)的可疑鍵值。

2. 系統服務

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\  (查找可疑服務鍵值)
services.msc → 啟動類型改為「已停用」或刪除整個服務鍵值
regedit: Start=4 (0x4) 表已停用

3. 啟動群組、INI 檔、批次檔

  • 開始功能表 → 程式集 → 啟動(右鍵「開啟檔案位置」查看實際路徑)。
  • msconfig → 檢查 win.ini [windows] load/run、system.ini [boot] shell=explorer.exe 後是否有附加路徑。
  • Win9x: C:\AUTOEXEC.BAT, C:\Windows\WinStart.bat 檢查 @echo off 隱藏指令。

第二階段:動態對比法發現隱藏惡意碼

1. 基線進程清單對比

# 乾淨開機後立即建立基線
tasklist /svc > C:\baseline_processlist.txt

# 懷疑感染時再次匯出對比
tasklist /svc > C:\current_processlist.txt
fc baseline_processlist.txt current_processlist.txt

重點關注:新增進程、異常服務載入(svchost.exe 載入非標準 DLL)、PID 與服務名稱不符。

2. System32 DLL 清單對比

cd %windir%\system32
dir *.dll > C:\baseline_dll.txt
# 稍後對比
dir *.dll > C:\current_dll.txt
fc baseline_dll.txt current_dll.txt

使用 UltraEdit 等工具視覺化差異,鎖定新增/變更的 DLL。

3. 已載入模組對比

msinfo32.exe → 軟體環境 → 載入的模組 → 匯出文字檔對比

此法可過濾掉因安裝合法軟體導致的檔案系統變動,聚焦於真正載入記憶體的模組。

4. 可疑埠口與進程關聯

netstat -ano  # -o 顯示 PID
# 找出 LISTENING/ESTABLISHED 狀態的非標準埠(>1024)
# 記下 PID,用 tasklist /fi "PID eq xxx" 或進程分析工具(Process Explorer, WinProcess)定位進程

注意:木馬可能劫持埠 80、139、445 等常用埠進行通訊,需結合網路嗅探器分析封包內容判斷。

第三階段:記憶體取證與惡意模組提取

  1. 使用 Process Explorer(Sysinternals)檢視可疑進程的 DLLs、Handles、Strings、TCP/IP 分頁。
  2. 發現非簽名、路徑異常、無公司資訊的 DLL → 右鍵 Properties → Image 確認簽章狀態。
  3. 使用 Volatility 或 WinDbg 進行記憶體映像分析(進階),提取注入的 Shellcode、解密 C2 伺服器位址。

清除實戰原則

  1. 斷網隔離,防止資料外洩與遠端指令下發。
  2. 安全模式/WinPE 環境 執行清除,避免木馬自我保護機制阻礙。
  3. 刪除惡意檔案、登錄檔、服務、排程任務、WMI 訂閱 等所有持久化機制。
  4. 修復系統檔案: sfc /scannow、DISM 修復映像。
  5. 全盤掃毒 + 修補漏洞 + 變更所有帳密(含銀行、郵件、社群帳號)。

結語

線程注入木馬雖隱蔽,但「必須啟動、必須通訊、必須持久化」三大剛需無法消除。建立乾淨基線、善用對比工具、深入記憶體取證,配合自動化 EDR 持續監控,即可將隱藏時間壓縮至分鐘級,將損失降至最低。

copyright © 萬盛學電腦網 all rights reserved