萬盛學電腦網

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

網絡安全深度解析:木馬隱藏技術全揭秘

過去我以為不隨意執行網友傳來的檔案就能避免中毒,但衝擊波、震盪波等利用漏洞傳播的蠕蟲打破了這一認知;我也曾以為不瀏覽小網站就能避開網頁木馬,然而連知名遊戲網站首頁都被掛馬的事實告訴我們:絕對的安全從不存在。

雖然無法達到百戰百勝,但若能知己知彼,掌握木馬的隱藏手法,便能及時發現蹤跡,將損失降至最低。木馬究竟是如何潛伏在系統中的?本文將層層剖析。

最基礎的隱藏:不可見窗體 + 隱藏檔案

木馬程式再神秘,本質上仍是 Win32 平台下的應用程式。Windows 常見程式分兩類:

  1. Win32 應用程式:如 QQ、Office,擁有圖形介面。
  2. Win32 控制台程式:如修復工具 FixMBR,在命令列運行。

木馬屬於 Win32 應用程式,但通常不包含視窗或將視窗隱藏(除非用於與受害者聊天),並將檔案屬性設為「隱藏」。稍有經驗的用戶打開「任務管理器」,並在「資料夾選項」勾選「顯示所有檔案」即可輕易發現。因此,更進階的「進程隱藏」技術應運而生。

第一代進程隱藏:Windows 98 的後門

Windows 98 提供 RegisterServiceProcess 方法,可將進程註冊為服務進程。服務進程在 98 的任務管理器中不顯示,被木馬利用。對付方法:使用第三方進程管理工具即可檢出;此技術在 Windows 2000/XP 中失效,木馬便會現形,結束進程並刪除檔案即可。

第二代進程隱藏:進程注入

什麼是進程注入?

Windows 中每個進程擁有獨立私有記憶體空間,進程間無法直接訪問彼此記憶體,這保證了穩定性。但「進程注入」可打破界限,讓木馬的 DLL 插入另一進程空間,成為該進程的一部分,從而為所欲為——例如竊取 QQ 密碼。

木馬如何盜取 QQ 密碼?

正常情況下,鍵盤/滑鼠輸入僅屬於目標應用程式。盜號木馬將 DLL 注入 QQ 進程並成為一線程,當用戶輸入密碼時,木馬即能攔截按鍵訊號,做到「家賊難防」。

三種常見注入手法

  1. 修改註冊表 AppInit_DLLs:早期手法,需重啟生效,不即時。
  2. 掛鉤 Hook 插入:利用 SetWindowsHookEx API,隱蔽性強,但開發門檻高,需精通 Win32 程式設計。
  3. 遠程線程 CreateRemoteThread:Windows 2000+ 支援,可向他進程建立線程,但不支援 Win98,通用性受限。

木馬注入後,任務管理器僅顯示正常進程。需使用支援「進程模組檢視」的工具(如 Windows 優化大師)才能看到木馬 DLL 模組。

第 2.5 代:恐怖的進程「蒸發」

木馬利用 Hook 技術監控系統列舉進程的 API(如 EnumProcesses)。當任務管理器或殺毒軟體呼叫該 API 時,木馬在結果返回前將自身進程資訊從列表中抹除。此時任何基於 API 的掃描皆失效,唯有在木馬啟動前由殺毒軟體攔截檔案才能有效防禦。

全方位立體隱藏:文件與進程雙重消失

將 Hook 技術應用於檔案相關 API,連「資源管理器」與殺毒軟體都找不到木馬檔案。灰鴿子等木馬已實現此技術,最佳對策仍是啟動前的主動攔截。

對抗殺毒軟體:反殺毒外殼

木馬加殼(如 NSPack、ASPack)改變特徵碼以躲避掃描。部分殺毒軟體可脫殼查殺,但新型主動對抗殼出現:外殼先取得控制權,破壞系統中安裝的殺毒軟體防護,確認安全後再釋放木馬主體。

copyright © 萬盛學電腦網 all rights reserved