曾以為不執行陌生文件、不訪問小網站就能避免木馬,但沖擊波、震盪波利用漏洞傳播,知名遊戲網站首頁被掛馬,打破幻想。雖無絕對安全,但了解木馬隱藏手段,可及時發現、將損失最小化。
木馬本質是 Win32 應用程序,但通常無窗體或隱藏窗體,文件屬性設為「隱藏」。稍有經驗用戶開啟任務管理器、勾選「顯示所有文件」即可發現。由此催生進程隱藏技術演進。
微軟未公開的 API 允許進程註冊為服務進程,Win98 任務管理器不顯示服務進程。木馬鑽空子隱藏。對策:第三方進程工具可見;Win2000/XP 不支持此法,木馬自動現形。結束進程刪除文件即可。
原理:各進程擁有私有內存空間,理論互不侵犯。但可通過「進程插入」打破邊界,將木馬 DLL 注入目標進程地址空間,成為其線程,從而為所欲為 (如盜 QQ 密碼)。
盜 QQ 密碼實戰:木馬 DLL 注入 QQ 進程成其線程,用戶輸入密碼時,木馬同處進程內部,直接接收鍵盤消息,「家賊難防」。
三種注入手法:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs,缺點:需重啟生效,不實時。查殺:使用支持「進程模塊查看」的工具 (如 Windows 優化大師) 即可見木馬 DLL 模塊。
木馬 Hook 系統枚舉進程 API (EnumProcesses),任務管理器/殺毒軟件調用時,木馬在結果返回前抹除自身進程信息。如看電視時不知不覺被接上 DVD。此類木馬極難查殺,僅能靠運行前文件掃描攔截。另一變體將自身從內核進程鏈表刪除,但兼容性差未普及。
將 Hook 技術應用於文件相關 API,資源管理器、殺毒軟件均無法見文件。灰鴿子等木馬已實現文件+進程雙隱藏。最佳防範:殺毒軟件運行前攔截。
木馬隱藏技術層出不窮,從基礎屬性隱藏到核心級 RootKit、進程蒸發、主動對抗,攻防博弈持續升級。用戶除依賴專業安全軟件,更需養成:系統及時打補丁、不輕信陌生文件/鏈接、定期備份重要數據、關注進程異常等習慣,方能在無絕對安全的環境中最大程度降低風險。