主題: DLL後門清除
查看單個文章
舊 2006-08-05, 06:39 PM   #3 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

動態嵌入式DLL木馬發現與清除的方法

  隨著MS的操作系統從Win98過渡到Winnt系統(包括2k/xp),MS的任務管理器也一下子脫胎換骨,變得火眼金睛起來(在WINNT下傳統木馬再也無法隱藏自己的工作行程),這使得以前在win98下靠將工作行程註冊為系統服務就能夠從任務管理器中隱形的木馬面臨前所未有的危機,所以木馬的開發者及時調整了開發思路,所以才會有今天這篇討論如何清除動態嵌入式DLL木馬的文章。

  首先,我們來瞭解一下什麼是動態嵌入式木馬,為了在NT系統下能夠繼續隱藏工作行程,木馬的開發者們開始利用DLL(Dynamic Link Library動態鏈接庫)文件,起初他們只是將自己的木馬寫成DLL形式來替換系統中負責Win Socket1.x的函數呼叫wsock32.dll(Win Socket2中則由WS2_32.DLL負責),這樣通過對約定函數的操作和對未知函數的轉發(DLL木馬替換wsock32.dll時會將之更名,以便實現日後的函數轉發)來實現遠端控制的功能。但是隨著MS數位簽名技術和文件恢復功能的出台,這種DLL馬的生命力也日漸衰弱了,於是在開發者的努力下出現了時下的主流木馬--動態嵌入式DLL木馬,將DLL木馬嵌入到正在執行的系統工作行程中.explorer.exe、svchost.exe、smss.exe等無法結束的系統關鍵工作行程是DLL馬的最愛,這樣這樣在任務管理器裡就不會出現我們的DLL文件,而是我們DLL的載體EXE文件.當然通過進一步的加工DLL木馬還可以實現另外的一些如連接阜劫持/復用(也就是所謂的無連接阜)、註冊為系統服務、開多線程保護、等功能。簡而言之,就是DLL木馬達到了前所未有的隱蔽程度。

  那麼我們如何來發現並清除DLL木馬呢?

  一,從DLL木馬的DLL文件入手,我們知道system32是個捉迷藏的好地方,許多木馬都削尖了腦袋往那裡鑽,DLL馬也不例外,針對這一點我們可以在安裝好系統和必要的應用程式後,對該目錄下的EXE和DLL文件作一個記錄:執行CMD--轉換目錄到system32--dir *.exe>exeback.txt& dir *.dll>dllback.txt,這樣所有的EXE和DLL文件的名稱都被分別記錄到exeback.txt和dllback.txt中,日後如發現異常但用傳統的方法查不出問題時,則要考慮是不是系統中已經潛入DLL木馬了.這是我們用同樣的命令將system32下的EXE和DLL文件記錄到另外的exeback1.txt和dllback1.txt中,然後執行CMD--fc exeback.txt exeback1.txt>diff.txt & fc dllback.txt dllback1.txt>diff.txt.(用FC命令比較前後兩次的DLL和EXE文件,並將結果輸入到diff.txt中),這樣我們就能發現一些多出來的DLL和EXE文件,然後通過檢視創建時間、版本、是否經過壓縮等就能夠比較容易地判斷出是不是已經被DLL木馬光顧了。沒有是最好,如果有的話也不要直接DLL掉,我們可以先把它移到資源回收筒裡,若系統沒有異常反應再將之徹底刪除或者提交給殺毒軟件公司。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次