史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   Hacker/Cracker 及加解密技術文件 (http://forum.slime.com.tw/f132.html)
-   -   教你如何找到執行緒插入式木馬 (http://forum.slime.com.tw/thread173331.html)

psac 2006-04-29 01:43 AM

教你如何找到執行緒插入式木馬
 
教你如何找到執行緒插入式木馬

目前網路上最猖獗的病毒估計非木馬程序莫數了,特別是在過去的2004年木馬程序的攻擊性也有了很大的加強,在工作隱藏方面,做了較大的改動,不再採用獨立的EXE可執行文件形式,而是改為內核嵌入方式、遠端執行緒插入技術、掛接PSAPI等,這些木馬也是目前最難對付的。本期就教你搜尋和清除執行緒插入式木馬。

  操作步驟:

  1、通過自動執行機制查木馬

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

  1)註冊表啟動項:

  在「開始/執行」中輸入「regedit.exe」開啟註冊表編輯器,依次展開[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\],檢視下面所有以"Run"開頭的項,其下是否有新增的和可疑的鍵值,也可以通過鍵值所指向的文件路徑來判斷,是新安裝的軟體還是木馬程序。

  另外[HKEYLOCALMACHINE\Software\classes\exefile\shell\open\command\]鍵值也可能用來載入木馬,比如把鍵值修改為「X:\windows\system\ABC.exe"%1"%」。

  2)系統服務

  有些木馬是通過增加服務項來實現自啟動的,大家可以開啟註冊表編輯器,在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runservices]下搜尋可疑鍵值,並在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\]下檢視的可疑主鍵。

  然後禁用或移除木馬增加的服務項:在「執行」中輸入「Services.msc」開啟服務設定視窗,裡面顯示了系統中所有的服務項及其狀態、啟動檔案類型和登入性質等訊息。找到木馬所啟動的服務,雙按開啟它,把啟動檔案類型改為「已禁用」,確定後結束。也可以通過註冊表進行修改,依次展開「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服務顯示名稱」鍵,在右邊視窗中找到二進制值「Start」,修改它的數值數,「2」表示自動,「3」表示手動,而「4」表示已禁用。當然最好直接移除整個主鍵,平時可以通過註冊表匯出功能,制作備份這些鍵值以便隨時對照。

  3)開始選單啟動組

  現在的木馬大多不再通過啟動表單進行隨機啟動,但是也不可掉以輕心。如果發現在「開始/程序/啟動」中有新增的項,可以右擊它選項「搜尋目標」到文件的目錄下檢視一下,如果文件路徑為系統目錄就要多加小心了。也可以在註冊表中直接檢視,它的位置為[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders],鍵名為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」兩個批次處理文件也要看一下,裡面的指令一般由安裝的軟體自動產生,在系統預設會將它們自動載入。在批次處理文件語句前加上「echooff」,啟動時就只顯示指令的執行結果,而不顯示指令的本身;如果再在前面加一個「@」字元就不會出現任何提示,以前的很多木馬都通過此方法執行。

  2、通過文件對比查木馬

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

  1)對照制作備份的常用工作

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

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

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

  3)對照已載入模組

  頻繁安裝軟體會使system32目錄中的文件發生較大變化,這時可以利用對照已載入模組的方法來縮小搜尋範圍。在「開始/執行」中輸入「msinfo32.exe」開啟「系統資訊」,展開「軟體環境/載入的模組」,然後選項「文件/匯出」把它制作備份成文本文件,需要時再制作備份一個進行對比即可。

  4)檢視可疑連接阜

  所有的木馬只要進行連接,接收/傳送資料則必然會開啟連接阜,DLL木馬也不例外,這裡我們使用netstat指令檢視開啟的連接阜。我們在指令行視窗中輸入「netstat-an」顯示出顯示所有的連接和偵聽連接阜。Proto是指連接使用的傳輸協定名稱,LocalAddress是本機電腦的IP位址和連接正在使用的連接阜號,ForeignAddress是連接該連接阜的遠端電腦的IP位址和連接阜號,State則是表明TCP連接的狀態。WindowsXP所帶的netstat指令比以前的版本多了一個-O參數,使用這個參數就可以把連接阜與工作對應起來。輸入「netstat/?」可以顯示該指令的其它參數。

  接著我們可以通過份析所開啟的連接阜,將範圍縮小到具體的工作上,然後使用工作分析軟體,例如《Windows最佳化大師》目錄下的WinProcess.exe程序,來搜尋嵌入其中的木馬程序。有些木馬會通過連接阜劫持或者連接阜重用的方法來進行通信的,一般它們會選項139、80等常用連接阜,所以大家分析時要多加注意。也可以利用網路嗅探軟體(如:Commview)來瞭解開啟的連接阜到底在傳輸些什麼資料。

waltertwtp 2006-04-29 04:45 AM

讚啦!又多增長了些知識!
感謝大大教學!


所有時間均為台北時間。現在的時間是 08:55 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1