提到木馬,想必大家是再熟悉不過了。但是要說到DLL木馬,可能還有很多朋友不甚了解。DLL木馬到底是什么,它有何種功能,對我們的系統會造成何種危害,如何防范它?本文將為你揭開謎底。
我們平時所見到的木馬大多都是可執行文件,這些木馬在系統中隱藏自己的本領有限,很容易暴露。而DLL木馬則不同,它只有一個文件,依靠動態鏈接程序庫,由某一個EXE做為載體,或者使用RunDLL32.exe來肩動,插入到系統進程中,以達到隱藏自身的目的。因此DLL木馬在隱藏技術上比普通小馬有了質的飛躍,當然危害性也就大大增加了。下面就讓我們通過一款DLL木馬“bits”來了解如何防護和清除DLL木馬。
什么是DLL木馬
DLL(Dynamic Link Library)即系統的動態鏈接庫文件。DLL文件本身不可以運行,需要應用程序調用。當程序運行時,Windows將DLL文件裝入內存中,開尋找文件中出現的動態鏈接庫文件。DLL木馬實際就是把一段實現了木馬功能的代碼加上一些特殊代碼寫成DLL文件,我們知道正在運行的程序是不能被關閉的,而DLL木碼插入到一個正在運行的應用程序內存模塊中,因此同樣死法刪除,這就是DLL木馬的高明之處。
DLL木馬的危害
DLL木馬的危害主要分為兩方面:一是隱蔽性,由于它可以“寄宿”丁任一應用程序的進程(包括系統進程),因此我們很難發現木馬的存在;二是難刪除,上文中我們提到被DLL木馬插入的進程是無法結束的,因此要想清除它并不容易。
下面結合實例來看看DLL木馬的使用和運作過程。bits是一款著名的DLL木馬,具備了DLL木馬的所有特點,沒有進程,也不開肩端口,隱蔽性很強。bits只有一個DLL文件“bits.dll”,運行命令“RUNDLL32.exe bits.dll,install<123456>”即可讓bits進駐系統。假設運行bits的計算機IP地址為192.168.0.1,黑客可以使用一款網絡工具“no”,在命令提示符中運行它后輸入命令“nc 192.168.0.180”,回車后會發現沒有回顯,此時再輸入“123456@dancewithdolphin[xell]:777”才能命令bits。這條命令的作用是綁定一個shell到本機的777端口,此時黑客再連接目標主機的777端口,就可以存目標汁算機上執行任意命令了。一般的DLL木馬都需要通過類似方法來安裝和使用,雖然比普通木馬要來得麻煩,但是威力是相當大的。

bits的清除還是比較簡單的,首先運行注冊表編輯器,定位到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasAuto\Parameters],將serviceDLL的鍵值更改為“%SystemRoot%\System32\rasauto.dll”,然后將系統目錄system32文件夾下的bits.dll文件刪除即可(如圖1)。
DLL木馬的防范
DLL木馬雖然強大,但是只要注意還是可以防范的。當系統存在問題時,可以使用Windows優化大師的組件“進程管理大師”查看進程中的DLL文件,找出隱藏在其中的DLL木馬。在程序上方列表中選中某個進程,再點擊下方的“模塊列表”標簽,列表中就會出現該進程包含的DLL文件。如果是系統進程,那么DLL文件的發行商必是“Microsoft”,否則就很有可能是DLL木馬。找到DLL木馬后將進程結束,再根據路徑刪除DLL木馬即可(如圖2)。
此外,還要及時更新殺毒軟件。DLL木馬雖然和普通小馬不同,但畢竟是木馬,還是可以被殺毒軟件查殺的,只要我們及時升級殺毒軟件病毒庫,對防范DLL木馬還是有很大幫助的。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。