萬盛學電腦網

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

木馬駐留技術全解析:註冊表、文件關聯、捆綁、進程保護、啟動文件夾五大核心手法

前言

木馬 (Trojan/Backdoor) 要實現持久化控制,核心目標是開機自啟、隱藏蹤跡、抗查殺。本文系統梳理五大經典駐留技術原理與查殺思路 (基於 Windows 2000/XP/2003 環境,現代 Windows 10/11 原理同源,位置略有差異)。

第一招:系統啟動註冊表 — 最經典、最通用

Windows 啟動時會遍歷以下註冊表鍵值運行程序:

根鍵路徑說明
HKCU\Software\Microsoft\Windows\CurrentVersion\Run / RunOnce / RunServices / RunServicesOnce當前用戶登錄時啟動,權限較低
HKLM\Software\Microsoft\Windows\CurrentVersion\Run / RunOnce / RunServices / RunServicesOnce系統啟動/所有用戶登錄時啟動,權限高,需管理員寫入
HKCU/HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\load早期版本 (NT/2000/XP) 支持,加載指定 DLL/EXE
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run組策略分發的啟動項
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders修改「啟動」文件夾物理路徑誘導執行

查殺: 運行 msconfig / autoruns (Sysinternals) / 註冊表編輯器檢查上述鍵值,刪除未知/可疑指向 (特別注意路徑拼寫偽裝,如 explorer.exe vs expIorer.exe 大小寫/I/l 混淆)。

第二招:文件關聯劫持 — 隱蔽、難察覺

修改文件類型打開動作,使雙擊特定文件 (如 .exe, .txt, .jpg) 時先執行木馬。

  • 原理: HKEY_CLASSES_ROOT\.exe → (默認值) exefile → HKEY_CLASSES_ROOT\exefile\shell\open\command 默認值 "%1" %*。木馬修改為 "C:\malware.exe" "%1" %*。
  • 變體: 劫持 exefile、comfile、batfile、txtfile、jpegfile 等;或創建偽造 ProgID 並修改 HKEY_CLASSES_ROOT\.*\(Default) 指向惡意 ProgID。
  • 查殺: 檢查常用文件類型的 shell\open\command 默認值是否被篡改;使用 assoc / ftype 命令行檢查;導出正常系統同版本註冊表對比。

第三招:文件捆綁/感染 — 類病毒寄生

  • 原理: 將木馬代碼注入合法可執行文件 (PE 感染:增加節區、修改入口點 OEP、彈出式執行),運行宿主程序時同時執行木馬。
  • 典型案例: 「網絡公牛 Netbull」感染 notepad.exe, regedit.exe, winmine.exe, qq.exe 等高頻程序,甚至掃描啟動項感染。
  • 後果: 刪除感染文件導致系統功能損壞,清除極難,往往需重裝系統。
  • 查殺: 僅依賴殺毒軟件「修復/清理」功能 (需精準病毒庫);或從已知乾淨備份/系統安裝盤替換被感染文件;重裝系統最徹底。

第四招:進程雙向守護 — 互為看門狗

  • 原理: 兩個 (或多個) 木馬進程循環檢測對方存活,發現終止即重啟。偽代碼:while(true){ Sleep(500); if(!FindProcess("peer.exe")) CreateProcess("peer.exe"); }
  • 升級版: 利用 CreateRemoteThread 注入 explorer.exe/lsass.exe/svchost.exe 等關鍵系統進程,作為單一守護宿主,更難終結。
  • 查殺: 安全模式 / WinPE / Linux LiveCD 離線掛載磁盤刪除文件、清理註冊表;或使用支持「強制終止進程樹」的專業殺毒/EDR 工具 (如 Process Hacker + 內核驅動)。

第五招:啟動文件夾偽裝 — 老招新玩法

  • 基礎: %ALLUSERSPROFILE%\Start Menu\Programs\Startup (全局) / %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup (當前用戶)。放入快捷方式或可執行文件。
  • 偽裝技巧:
    1. 文件/文件夾設置隱藏+系統屬性 (attrib +h +s),資源管理器默認不顯示。
    2. 重命名系統啟動文件夾 (如 Startup → Startup_a) 並隱藏,再新建同名空文件夾 Startup 作為擺設。系統實際仍按註冊表 Common Startup 鍵值 (指向重命名後的 Startup_a) 執行程序,用戶只看到空文件夾。
    3. 在根目錄放置偽裝 Explorer.exe,利用 Windows 搜索順序 (當前目錄優先) 劫持 Shell 啟動。
  • RunServices 鍵值: HKLM\...\CurrentVersion\RunServices 在用戶登錄前 (服務階段) 即啟動,比 Run 更早、更隱蔽。

現代持久化技術補充 (Windows 10/11/Server 2016+)

  • 計劃任務 (schtasks / COM 接口):支持觸發器 (登錄、閒置、事件 ID、網絡連接) 權限提升、隱藏窗口。
  • 服務 (sc create / CreateService):以 SYSTEM 權限運行,支持恢復動作 (失敗重啟)。
  • WMI 事件訂閱 (__EventFilter, __EventConsumer, __FilterToConsumerBinding):無文件落地、極難檢測 (如 KVBot, WMIGhost)。
  • COM 劫持 / DLL 劫持 / AppInit_DLLs / Image File Execution Options (IFEO) / 登錄 Shell/用戶初始化腳本 等數十種 MITRE ATT&CK T1547 子技術。

統一查殺工作流

  1. 斷網隔離 防止數據外洩/遠程控制/自我更新。
  2. 進程審計: tasklist /v, wmic process list full, Process Explorer/Process Hacker 定位無簽名/異常路徑/高 CPU/網絡連接進程。
  3. 自啟動全掃: Autoruns (Sysinternals) 全掃描 (登錄、計劃任務、服務、驅動、WMI、啟動文件夾、Shell 擴展、IE 插件...),驗證簽名、發布者、路徑合法性。
  4. 網絡連接審計: netstat -ano / TCPView 定位可疑遠程連接 (非標準端口、已知 C2 IP)。
  5. 全盤殺毒: 更新病毒庫至最新,啟用啟發式/雲引擎/行為監控,全盤掃描 (含壓縮包、郵件庫)。
  6. 系統修復: sfc /scannow, DISM /RestoreHealth 修復系統文件;檢查關鍵註冊表鍵值 (Shell, Userinit, AppInit_DLLs 等) 恢復默認。
  7. 憑證輪換: 清除後門後**必須修改所有賬號密碼、吊鑰 SSH Key/Token/憑證**,防止駭客憑證復用再次入侵。
持久化是攻擊鏈關鍵環節 (MITRE ATT&CK TA0003)。理解原理、熟練使用 Autoruns/Process Hacker/EDR、建立基線審計機制,是防禦者贏得主動權的前提。
copyright © 萬盛學電腦網 all rights reserved