詭秘的DLL木馬
發表于:2007-07-02來源:作者:點擊數:
標簽:
"木馬"大家都不陌生,給我們的系統 安全 帶來很大的危害。而且現在的木馬采用的技術越來越高,開始采用以".exe或.com"為后綴的可執行文件,但這種技術隱蔽性很差,將木馬進程注冊為系統服務后,雖然在 WINDOWS 98系統中可以隱藏,但在基于WINNT內核的系統中卻
"木馬"大家都不陌生,給我們的系統
安全帶來很大的危害。而且現在的木馬采用的技術越來越高,開始采用以".exe或.com"為后綴的可執行文件,但這種技術隱蔽性很差,將木馬進程注冊為系統服務后,雖然在
WINDOWS98系統中可以隱藏,但在基于WINNT內核的系統中卻一覽無遺,用WINDOWS任務管理器很容易發現它們,為了達到隱藏的目的,DLL技術是廣泛使用的一種手段,這種木馬的隱蔽性很強,難以發現。
DLL是Dynamic Link Library(動態鏈接庫)的縮寫,DLL文件是
Windows系統的基礎,DLL文件沒有程序邏輯,是由多個功能函數構成,它并不能獨立運行,一般都是由進程加載并調用的。因為DLL文件不能獨立運行,所以在進程列表中并不會出現DLL文件,這樣木馬利用DLL文件的這種特性,把自身的木馬功能部分解壓縮到DLL庫文件中,就可以很有效的隱藏自己,那DLL文件不能獨立運行,木馬怎么才能運行呢?
運行DLL文件最簡單的方法是利用Rundll32.exe,Rundll32者,顧名思義,執行Dll(動態鏈接庫)也,是Windows用來調用32位DLL函數時所使用的命令(16位的DLL文件使用rundll.exe),Rundll32的使用方法如下:
“rundll32.exe 動態鏈接庫名 ,函數名, 參數名”
下面就以“Win32.Lovgate.H新變體”木馬病毒為例,看看他們如何通過調用Rundll32命令來實現自身的加載。
“Win32.Lovgate.H新變體”木馬病毒會把自身的木馬功能部分解壓縮到一個個DLL庫文件中,以便此木馬以一個單獨程序來運行,“reg678.dll”和“Task688.dll ”就是這樣的文件,然后把木馬的DLL文件添加到啟動項中以及注冊成服務,如下修改注冊表:
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”中,添加鍵名為“Remote Procedure Call Locator”的啟動項,其值為“RUNDLL32.EXE reg678.dll ondll_reg”(圖一)。
另外它還做以下修改:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ll_reg
"ImagePath" = "RUNDLL32.EXE Task688.dll ondll_reg"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetMeeting Remote Desktop (RPC) Sharing,
"ImagePath" = "RUNDLL32.EXE Task688.dll ondll_reg"
這樣在WINDOWS任務管理器就沒辦法發現它,因為“Win32.Lovgate.H新變體”是使用Rundll32程序調用的,進程列表中根本不存在木馬進程,是不是很詭秘。即使你在注冊表啟動項看到“RUNDLL32.EXE reg678.dll ondll_reg”,也會以為是RUNDLL32.EXE調用系統DLL文件,怎么想到這就是木馬,太可怕了。
另外,還有一種情況更為詭秘,就是把木馬的DLL文件替換成系統常用的DLL文件,如把木馬寫成wsock32.dll文件,替換掉原先的wsock32.dll,將原先的DLL文件重命名為wsockold.dll,這種方法隱蔽性更強,很難發現。
那我們怎么來防范這些使用DLL技術的木馬呢?下面就介紹一些經驗。
1、安裝病毒木馬防火墻
現在的用戶都很注意病毒木馬的防范,但要經常升級病毒
數據庫,這樣就可以有效的查殺絕大部分木馬病毒,另外,很多網站提供免費的在線殺毒,這就更方便用戶查殺木馬,比如3721提供的”安博士“在線殺毒(),使用就相當方便,可以有效的查殺木馬。另外建議大家使用專門針對木馬的查殺軟件,如木馬克星。
2、使用進程/內存模塊查看器
DLL木馬對于進程管理器來說是隱藏的,所以我們既不能用進程管理器來查找,也無法直接將它停止運行,因此,我們不能指望NT自帶的進程管理器了,需要使用一些附加的工具。
為了能發現DLL木馬,我們必須能查看內存中“RUNDLL32.EXE”運行的DLL文件,大家可以使用WINDOWS優化大師自帶的”進程管理器“(圖二),來查看DLL文件使用的情況,看看是否有異常,當然這需要用戶對WINDOWS系統有一定的了解才行。另外還要注意,可能木馬的DLL文件替換了系統常用的DLL文件,這時,就要查看DLL文件的大小是否變化,如果它的大小和正常情況有很大出入,那么就要小心了。
3、查看注冊表啟動項有無異常鍵名
單擊”開始-->運行“,在運行對話框中輸入”msconfig",然后切換到“啟動”選項頁,這里要注意啟動項中有無異常鍵名,如“Win32.Lovgate.H新變體”木馬病毒會在啟動項中添加”rundll32“項目,其值為“RUNDLL32.EXE reg678.dll ondll_reg”(msconfig圖片),遇到這種類似情況大家一定要留心,WINDOWS2000不自帶“msconfig”程序,將WINDOWS
XP下的msconfig文件拷貝過去即可。
另外,還可以在運行對話框中輸入”regedit"命令,依次展開“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”,這種方法也是一樣的。
當然還可以使用端口進程關聯軟件、嗅探器等進行查找,這里就不在詳細介紹了,有興趣的朋友可以查看有關技術資料,進行深入研究。
,
原文轉自:http://www.kjueaiud.com