木馬本質:雙端架構與「瞞天過海」
木馬 = 服務端 (植入受害者) + 控制端 (攻擊者操作)。服務端必須在目標運行,攻擊者通過社工(遊戲、屏保、工具)誘導執行,完成第一步植入。
三大經典持久化陣地
- 註冊表:Run/RunOnce/服務/Winlogon/映像劫持等十餘個鍵值。
- INI 文件:
win.ini (load/run)、system.ini (shell=)。
- 啟動資料夾:所有用戶/當前用戶 Startup 目錄。
木馬常竄改這三處,隨系統啟動自動加載。
捆綁技術:隱蔽性質變
- 綁定器將木馬與正常程序 (安裝包、破解補丁、媒體文件) 打包。
- 運行釋放木馬於後台,宿主程序正常運作,用戶無感。
- 黑客可自定義綁定位置、方式、觸發條件,極大提升隱蔽性與生存率。
- 典型:NetBus 1.53、PhAse 1.0 支持捆綁到啟動程序或常用軟件。
文件名偽裝藝術:以假亂真
| 木馬文件名 | 模仿系統文件 | 差異 | 後果 |
| KERNEL16.DLL | KERNEL32.DLL | 16 vs 32 | 刪錯導致系統崩潰 |
| Msgsrv32.exe | Msgsrv32.exe | 完全同名,僅圖標不同 | 極難肉眼區分 |
| window.exe | windows.exe (不存在) | 少一個 s,利用視覺盲區 | 用戶不敢刪 |
木馬文件多置於 C:\Windows、C:\Windows\System,刪除風險高,增加清理難度。
端口困境:固定 vs 可變 vs 自動變換
- 固定端口:如 NetSpy 7306,一掃描即知。
- 可配置端口:Sub7 默認 1243 可改,攻擊者常改為常用端口 (80, 443, 7306) 混淆視聽。
- 自動變換端口:理論完美但實際不可行——攻擊者無法知曉當前端口,全端口掃描 (65535) 耗時半小時且極易被發現/導致目標阻塞。
結論:端口必須開放,但可通過「端口復用」「域前置」「CDN 隱藏」「反向連接」等技術隱匿流量特徵。
隱蔽與潛伏:雙層後門機制
案例:冰河 1.2/3.0 雙服務端:
- 表層:
C:\WINDOWS\SYSTEM\Kernel32.exe 掛註冊表啟動,開機駐留。
- 底層:
C:\WINDOWS\SYSTEM\Sysexplr.exe 劫持 .txt 文件關聯,點擊文本文件觸發。檢測表層存在則靜默;表層被刪除則重建表層,實現「死灰復燃」。
六大防禦戰略
- 意識第一:不開陌生附件、不信陌生鏈接、驗證熟人發來文件真實性。
- Readme 先行:下載工具包必讀 readme.txt(警惕 readme.exe 可能為木馬本體),不懂不執行。
- 殺毒+實時監控:KV300、Kill98、瑞星等國產殺毒具備木馬查殺;實時監控可阻斷遠程執行、文件上傳。
- 流量異常即斷網:上傳帶寬異常佔用 (1-3 KB/s 持續) + netstat -a 發現大端口 (>1024) 異常連接 → 立即掛斷 → 全盤查殺。
- 目錄巡檢:定期查看 C:、C:\Windows、C:\Windows\System 非執行文件 (用記事本打開看是否為日誌/記錄)、無圖標可執行文件(極大概率為木馬)。
- 刪除前必備份:備份註冊表、疑似文件,防誤刪導致系統崩潰;不同木馬清除方法異,需具體分析。
總結
木馬攻防是「偽裝與識別、植入與清除、持久化與根除」的長期博弈。用戶唯有建立「零信任操作習慣 + 基線審計機制 + 多層防禦體系」,才能在茫茫網海中守住屬於自己的數字領地。