技術 > 手工查殺木馬
  手工查殺木馬的通用方法
  去年可以說是木馬活動非常頻繁的一年,一篇篇針對這些木馬的查殺文章也先後登場,但是這些文章都是對某一個木馬講的,大傢如果碰到新的木馬就又沒有辦法了。另一方面,反病毒、反黑客軟件的反應速度遠沒有木馬出現的速度快,通常情況下都是木馬已經悄悄地出現許久,這些廠商纔會有反應,如果在這段時間你中了木馬又該怎樣清除呢?如果自己懂得手工查殺木馬的方法就可以應付自如了。
  
  一、關於木馬
  
  木馬,其實質衹是一個網絡客戶/服務程序。網絡客戶/服務模式的原理是一臺主機提供服務(服務器),另一臺主機接受服務(客戶機)。作為服務器的主機一般會打開一個默認的端口並進行監聽 (listen), 如果有客戶機嚮服務器的這一端口提出連接請求(connect request), 服務器上的相應程序就會自動運行,來應答客戶機的請求,這個程序稱為守護進程。就我們前面所講的木馬來說,被控製端相當於一臺服務器,控製端則相當於一臺客戶機,被控製端為控製端提供服務。
  
  二、發現木馬
  
  由於木馬是基於遠程控製的程序,因此中木馬的機器會開有特定的端口。一般一臺個人用的係統在開機後最多衹有137、138、139三個端口。若上網衝浪會有其他端口,這是本機與網上主機通訊時打開的,ie一般會打開連續的端口:1025,1026,1027……,qq會打開4000、4001……等端口。
  
  在dos命令行下用netstat -na命令可以看到本機所有打開的端口。如果發現除了以上所說的端口外,還有其他端口被占用(特別是木馬常用端口被占用),那可要好好查查了,你很有可能“中彩”了!比方說木馬“冰河”所占用的端口是7626,黑洞2001所占用的端口是2001,網絡公牛用的是234444端口……如果發現這些端口被占用了,基本上就可以判定: 你中木馬了!
  
  三、查找木馬
  
  首先要使你的係統能顯示隱藏文件,因為一些木馬文件屬性是隱藏的。
  
  多數木馬都會把自身復製到係統目錄下並加入啓動項(如果不復製到係統目錄下則很容易被發現,不加入啓動項在重啓後木馬就不執行了),啓動項一般都是加在註册表中的,具體位置在:
  
  hkey_local_machinesoftwaremicrosoftwindowscurrentversion 下所有以“run”開頭的鍵值;
  
  hkey_current_usersoftwaremicrosoftwindowscurrentversion 下所有以“run”開頭的鍵值;
  
  hkey_users.defaultsoftwaremicrosoftwindowscurrentversion下所有以“run”開頭的鍵值。
  
  如木馬冰河的啓動鍵值是:
  
  [hkey_local_machinesoftwaremicrosoftwindowscurrentversion un]
  @="c:windowssystemkernel32.exe"
  
  廣外女生1.51版的啓動鍵值是:
  [hkey_local_machinesoftwaremicrosoftwindowscurrentversion unservices]
  "diagnostic configuration"="c:windowssystemdiagcfg.exe"
  
  藍色火焰0.5的啓動鍵值是:
  [hkey_local_machinesoftwaremicrosoftwindowscurrentversion un]
  "network services"="c:windowssystem asksvc.exe"
  
  不過,也有一些木馬不在這些地方加載,它們躲在下面這些地方:
  
  ①在win.ini中啓動
  
  在win.ini的[windows]字段中有啓動命令“load=”和“run=”,在一般情況下“=”後面是空白的,如果有後跟程序,比方說是這個樣子:
  
  run=c:windowsfile.exe
  
  load=c:windowsfile.exe
  
  要小心了,這個file.exe很可能是木馬。
  
  ②在system.ini中啓動
  
  system.ini位於windows的安裝目錄下,其[boot]字段的shell=explorer.exe 是木馬喜歡的隱蔽加載之所,木馬通常的做法是將該句變為這樣:shell=explorer. exe window.exe,註意這裏的window.exe就是木馬程序。
  
  另外,在system.ini中的[386enh]字段,要註意檢查在此段內的“driver= 路徑程序名”,這裏也有可能被木馬所利用。再有,在system.ini中的[mic]、 [drivers]、[drivers32]這三個字段,這些段也是起到加載驅動程序的作用,但也是增添木馬程序的好場所。
  
  ③在autoexec.bat和config.sys中加載運行
  
  但這種加載方式一般都需要控製端用戶與服務端建立連接後,將已添加木馬啓動命令的同名文件上傳到服務端覆蓋這兩個文件纔行,而且采用這種方式不是很隱蔽,所以這種方法並不多見,但也不能因此而掉以輕心哦。
  
  ④在winstart.bat中啓動
  
  winstart.bat是一個特殊性絲毫不亞於autoexec.bat的批處理文件,也是一個能自動被windows加載運行的文件。它多數情況下為應用程序及windows自動生成,在執行了win.com並加載了多數驅動程序之後開始執行(這一點可通過啓動時按f8鍵再選擇逐步跟蹤啓動過程的啓動方式可得知)。由於autoexec.bat的功能可以由winstart.bat代替完成,因此木馬完全可以像在autoexec.bat中那樣被加載運行,危險由此而來。
  
  ⑤啓動組
  
  木馬隱藏在啓動組雖然不是十分隱蔽,但這裏的確是自動加載運行的好場所,因此還是有木馬喜歡在這裏駐留的。啓動組對應的文件夾為:c: windowsstart menuprogramsstartup,在註册表中的位置:hkey_current_usersoftwaremicrosoftwindowscurrentversionexplorershell folders startup="c:windowsstart menuprogramsstartup"。
  ⑥*.ini
  
  即應用程序的啓動配置文件,控製端利用這些文件能啓動程序的特點,將製作好的帶有木馬啓動命令的同名文件上傳到服務端覆蓋同名文件,這樣就可以達到啓動木馬的目的了。
  
  ⑦修改文件關聯
  
  修改文件關聯是木馬常用手段(主要是國産木馬,老外的木馬大都沒有這個功能),比方說正常情況下txt文件的打開方式為notepad.exe文件,但一旦中了文件關聯木馬,則txt文件打開方式就會被修改為用木馬程序打開,如著名的國産木馬冰河就是這樣幹的。“冰河”就是通過修改
  hkey_classes_root xtfileshellopencommand下的鍵值,將“c: windows
  otepad.exe %1”改為“c:windowssystemsysexplr.exe %1”,這樣一旦你雙擊一個txt文件,原本應用notepad打開該文件的,現在卻變成啓動木馬程序了,好狠毒哦!請大傢註意,不僅僅是txt文件,其他諸如htm、exe、zip、com等都是木馬的目標。對付這類木馬,衹能檢查hkey_classes_root文件類型shellopencommand 主鍵,查看其鍵值是否正常。
  
  ⑧捆綁文件
  
  實現這種觸發條件首先要控製端和服務端已通過木馬建立連接,然後控製端用戶用工具軟件將木馬文件和某一應用程序捆綁在一起,然後上傳到服務端覆蓋原文件,這樣即使木馬被刪除了,衹要運行捆綁了木馬的應用程序,木馬又會被安裝上去了。綁定到某一應用程序中,如綁定到係統文件,那麽每一次windows啓動均會啓動木馬。
  
  當發現可疑文件時,你可以試試能不能刪除它,因為木馬多是以後臺方式運行的,通過按ctrl+alt+del是找不到的,而後臺運行的應是係統進程。如果在前臺進程裏找不到,而又刪不了(提示正在被使用)那就應該註意了。
  
  四、手工清除
  
  如果你發現自己的硬盤總是莫明其妙地讀盤,軟驅燈經常自己亮起,網絡連接及鼠標屏幕出現異常現象,很可能就是因為有木馬潛伏在你的機器裏面,此時就應該想辦法清除這些傢夥了。
  
  那麽如何清除木馬而不誤刪其他有用文件呢?當你通過上述方法找到可疑程序時,你可以先看看該文件的屬性。一般係統文件的修改時間應是1999年或1998年而不應該是最近的時間(安裝最新的win2000、 winxp的係統除外),文件的創建時間應當不會離現在很近。當看到可疑的執行文件時間是最近甚至是當前,那八成就有問題了。
  
  首先查進程,檢查進程可以藉助第三方軟件,如windows優化大師,利用其“查看進程”功能把可疑進程殺掉後,然後再看看原來懷疑的端口還有沒有開放(有時需重啓),如果沒有了那說明你對了,再把該程序刪掉,這樣你就手工刪除了這匹木馬了。
  
  如果該木馬改變了txt、exe或zip等文件的關聯,那你應把註册表改過來,如果不會改,那就把註册表改回到以前的就可以恢復文件關聯,可通過在dos下執行scanreg/restore命令來恢復註册表,不過這條命令衹能恢復前五天的註册表(這是係統默認的)。此舉可輕鬆恢復被木馬改變的註册表鍵值,簡單易用。