倍可親

回復: 0
列印 上一主題 下一主題

查找與清除插入式特絡伊木馬

[複製鏈接]

1萬

主題

1萬

帖子

1萬

積分

八級貝殼核心

倍可親終生會員(廿一級)

Rank: 5Rank: 5

積分
18033
跳轉到指定樓層
樓主
kent 發表於 2006-3-10 10:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
目前網路上最猖獗的病毒估計非木馬程序莫數了,2005年木馬程序的攻擊性也有了很大的加強,在進程隱藏方面,做了較大的改動,不再採用獨立的EXE可執行文件形式,而是改為內核嵌入方式、遠程線程插入技術、掛接PSAPI等,這些木馬也是目前最難對付的。本期就教你查找和清除線程插入式木馬。

  一、通過自動運行機制查木馬

  一說到查找木馬,許多人馬上就會想到通過木馬的啟動項來尋找「蛛絲馬跡」,具體的地方一般有以下幾處:

  1)註冊表啟動項

  在「開始/運行」中輸入「regedit.exe」打開註冊表編輯器,依次展開[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion]和[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion],查看下面所有以Run開頭的項,其下是否有新增的和可疑的鍵值,也可以通過鍵值所指向的文件路徑來判斷,是新安裝的軟體還是木馬程序。

  另外[HKEY_LOCAL_MACHINESoftwareclassesexefileshellopencommand]鍵值也可能用來載入木馬,比如把鍵值修改為「X:windowssystemABC.exe %1%」。

  2)系統服務

  有些木馬是通過添加服務項來實現自啟動的,大家可以打開註冊表編輯器,在[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunservices]下查找可疑鍵值,並在[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices]下查看的可疑主鍵。

  然後禁用或刪除木馬添加的服務項:在「運行」中輸入「Services.msc」打開服務設置窗口,裡面顯示了系統中所有的服務項及其狀態、啟動類型和登錄性質等信息。找到木馬所啟動的服務,雙擊打開它,把啟動類型改為「已禁用」,確定後退出。也可以通過註冊表進行修改,依次展開「HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices服務顯示名稱」鍵,在右邊窗格中找到二進位值「Start」,修改它的數值數,「2」表示自動,「3」表示手動,而「4」表示已禁用。當然最好直接刪除整個主鍵,平時可以通過註冊表導出功能,備份這些鍵值以便隨時對照。

  3)開始菜單啟動組

  現在的木馬大多不再通過啟動菜單進行隨機啟動,但是也不可掉以輕心。如果發現在「開始/程序/啟動」中有新增的項,可以右擊它選擇「查找目標」到文件的目錄下查看一下,如果文件路徑為系統目錄就要多加小心了。也可以在註冊表中直接查看,它的位置為[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders],鍵名為Startup。

  4)系統INI文件Win.ini和System.ini

  系統INI文件Win.ini和System.ini里也是木馬喜歡隱蔽的場所。選擇「開始/運行」,輸入「msconfig」調出系統配置實用程序,檢查Win.ini的[Windows]小節下的load和run欄位後面有沒有什麼可疑程序,一般情況下「=」後面是空白的;還有在System.ini的[boot]小節中的Shell=Explorer.exe後面也要進行檢查。

  5)批處理文件

  如果你使用的是Win9X系統,C盤根目錄下「AUTOEXEC.BAT」和WINDOWS目錄下的「WinStart.bat」兩個批處理文件也要看一下,裡面的命令一般由安裝的軟體自動生成,在系統默認會將它們自動載入。在批處理文件語句前加上「echo off」,啟動時就只顯示命令的執行結果,而不顯示命令的本身;如果再在前面加一個「@」字元就不會出現任何提示,以前的很多木馬都通過此方法運行。

 二、通過文件對比查木馬

  最近新出現的一種木馬。它的主程序成功載入后,會將自身做為線程插入到系統進程SPOOLSV.EXE中,然後刪除系統目錄中的病毒文件和病毒在註冊表中的啟動項,以使反病毒軟體和用戶難以查覺,然後它會監視用戶是否在進行關機和重啟等操作,如果有,它就在系統關閉之前重新創建病毒文件和註冊表啟動項。下面的幾招可以讓它現出原形(下面均以Win XP系統為例):

  1)對照備份的常用進程

  大家平時可以先備份一份進程列表,以便隨時進行對比查找可疑進程。方法如下:開機后在進行其他操作之前即開始備份,這樣可以防止其他程序載入進程。在運行中輸入「cmd」,然後輸入「tasklist /svc >X:processlist.txt」(提示:不包括引號,參數前要留空格,後面為文件保存路徑)回車。這個命令可以顯示應用程序和本地或遠程系統上運行的相關任務/進程的列表。輸入「tasklist /?」可以顯示該命令的其它參數。

  2)對照備份的系統DLL文件列表

  對於沒有獨立進程的DLL木馬怎麼辦嗎?既然木馬打的是DLL文件的主意,我們可以從這些文件下手,一般系統DLL文件都保存在system32文件夾下,我們可以對該目錄下的DLL文件名等信息作一個列表,打開命令行窗口,利用CD命令進入system32目錄,然後輸入「dir *.dll>X:listdll.txt」敲回車,這樣所有的DLL文件名都被記錄到listdll.txt文件中。日後如果懷疑有木馬侵入,可以再利用上面的方法備份一份文件列表「listdll2.txt」,然後利用「UltraEdit」等文本編輯工具進行對比;或者在命令行窗口進入文件保存目錄,輸入「fc listdll.txt listdll2.txt」,這樣就可以輕鬆發現那些發生更改和新增的DLL文件,進而判斷是否為木馬文件。

  3)對照已載入模塊

  頻繁安裝軟體會使system32目錄中的文件發生較大變化,這時可以利用對照已載入模塊的方法來縮小查找範圍。在「開始/運行」中輸入「msinfo32.exe」打開 「系統信息」,展開「軟體環境/載入的模塊」,然後選擇「文件/導出」把它備份成文本文件,需要時再備份一個進行對比即可。

  4)查看可疑埠

  所有的木馬只要進行連接,接收/發送數據則必然會打開埠,DLL木馬也不例外,這裡我們使用netstat命令查看開啟的埠。我們在命令行窗口中輸入「netstat -an」顯示出顯示所有的連接和偵聽埠。Proto是指連接使用的協議名稱,Local Address是本地計算機的IP地址和連接正在使用的埠號,Foreign Address是連接該埠的遠程計算機的IP地址和埠號,State則是表明TCP連接的狀態。Windows XP所帶的netstat命令比以前的版本多了一個-O參數,使用這個參數就可以把埠與進程對應起來。輸入「netstat /?」可以顯示該命令的其它參數。

  接著我們可以通過分析所打開的埠,將範圍縮小到具體的進程上,然後使用進程分析軟體,例如「Windows優化大師」目錄下的WinProcess.exe程序,來查找嵌入其中的木馬程序。有些木馬會通過埠劫持或者埠重用的方法來進行通信的,一般它們會選擇139、80等常用埠,所以大家分析時要多加註意。也可以利用網路嗅探軟體(如:Commview)來了解打開的埠到底在傳輸些什麼數據。
您需要登錄后才可以回帖 登錄 | 註冊

本版積分規則

關於本站 | 隱私權政策 | 免責條款 | 版權聲明 | 聯絡我們

Copyright © 2001-2013 海外華人中文門戶:倍可親 (http://big5.backchina.com) All Rights Reserved.

程序系統基於 Discuz! X3.1 商業版 優化 Discuz! © 2001-2013 Comsenz Inc.

本站時間採用京港台時間 GMT+8, 2025-7-30 04:03

快速回復 返回頂部 返回列表