DLL木馬的發現和查殺
經常看看啟動項有沒有多出莫名其妙的專案,這是Loader的所在,只要殺了狼,狽就不能再狂了。而DLL木馬本體比較難發現,需要你有一定編程知識和分析能力,在Loader裏查找DLL名稱,或者從執行緒裏看多掛接了什麼陌生的DLL,可是對新手來說……總之就是比較難啊比較難,所以,最簡單的方法:殺毒軟體和防火牆(不是萬能藥,切忌長期服用)。
DLL木馬檢測與清除實例
守護者(NOIR—QUEEN)是一個典型的DLL木馬程式,其服務端以DLL檔案的形式插入到系統的Lsass.exe執行緒中。Lsass.exe執行緒是一個本地的安全授權服務,並且它會為使用Winlogon服務的授權用戶生成一個執行緒,如果授權是成功的,Lsass就會產生用戶的進入權杖。由於Lsass.exe是系統的關鍵執行緒,不能被終止,那麼我們該如何清除這樣的木馬呢?
守護者木馬入侵系統後,會在服務中添加一項名為「QoSserver」的服務,並將「QoSserver.dll」檔案插入到Lsass執行緒中,使其可以隱藏執行緒並自動啟動。我們利用「執行緒獵手」這樣的工具查看Lsass執行緒所調用的DLL檔案,並與木馬入侵前的資訊比較,可以發現Lsass執行緒中增加了「QoSserver.dll」文件。記錄下該檔案的具體位置,本例中為「C:\Windows\system32\QoSserver.dll」。
打開WindowsXP任務管理器,切換到「執行緒」選項卡中,結束「QoSserver.exe」執行緒,同時將系統目錄下的「QoSserver.exe」檔案刪除。然後執行Regedit,在登錄檔編輯器中依次展開[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\QoSserver],直接刪除「QoSserver」項,重啟電腦。重啟之後,再將系統目錄下的「QoSserver.dll」檔案刪除。需要注意的是,如果前面未刪除「QoSserver.exe」檔案,而只刪除了QoSserver服務並重啟之後,插入到Lsass執行緒當中的「QoSserver.dll」又會生成另外一個名為「AppCPI」的服務。這時再次打開登錄檔編輯器,展開[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AppCPI],刪除AppCPI項。如果QoSserver服務同時復活,則要將該服務的啟動類型改為「禁用」。重新啟動電腦後,再刪除系統目錄下的木馬檔案。
防範DLL木馬
1.安裝木馬查殺工具。對於多數人而言,要想通過手工查殺DLL木馬是不太現實的,因此安裝一款可以查殺此類木馬的反病毒軟體,是非常有必要的。這裏還要提醒讀者的是,應及時升級病毒資料庫,這樣才能保證有效地查殺絕大部分木馬病毒。當然,我們也可以在電腦中安裝那些專門針對木馬的查殺工具,例如木馬剋星。
2.查看是否有不明埠開放以及對埠通信進行監控。只要木馬進行連接,接受/發送資料則必然會打開埠,DLL木馬也不例外,我們可以通過「Netstat-ano」命令來查看TCP/UDP埠的連接,以及開放埠的執行緒識別字,也可以直接使用執行緒埠查看工具Fport.exe來查看與埠對應的執行緒,以發現是否有不明的連接和埠開放。另外,有些DLL木馬通過埠劫持或者埠重用的方法來進行通信,所以僅是查看埠還是不夠的,有必要的話,我們可使用嗅探器來瞭解打開的埠到底在傳輸些什麼資料。
3.檢查系統目錄下是否有可疑的DLL檔案。安裝好系統和所有應用程式之後,可對系統目錄下System32資料夾中的EXE和DLL檔案作一記錄:在命令提示符下執行「dir*.exe>bak1.txt&dir*.dll>bak2.txt」,將所有的EXE和DLL檔案資訊導出成TXT檔案保存。當日後發現異常時,可以使用相同的命令再次備份,並使用FC命令比較兩次的EXE文件和DLL文件。通過這種方法,我們可以發現可疑的EXE和DLL檔案,同時通過檔案的大小、創建時間來判斷是否為DLL木馬。
4.查看系統執行緒調用的DLL檔案。當我們懷疑有DLL木馬插入到系統執行緒,可以使用一些第三方執行緒工具來查看執行緒所調用的DLL檔案,然後進一步確認是否中了DLL木馬。此類查看工具有執行緒獵手、執行緒間諜等等。另外,我們也可以使用XP系統自帶的命令行工具TaskList,來顯示執行緒調用的DLL檔案,並將這些資訊導出成TXT檔案保存,以便隨時進行比較。
但我們就要利用這種木馬 因為他比較難查殺 所以\~~~~~~~~~~~~~~
DLL注入木馬如是說
DLL庫鏈結檔案,是Windows系統中許多驅動和程式執行時必需的檔案。一般來說,這類檔案無法單獨執行,必須通過某個EXE檔案調用該DLL檔案,從而執行相應的功能。同時,當該EXE檔案正在執行時,調用的DLL檔案無法被刪除。正因為由於DLL檔案具有隱蔽性,並且很難刪除,因此目前許多流行的木馬程式都採用了DLL檔案方式進行安裝,將木馬DLL檔案載入到某個正常的系統執行緒中,從而達到隱藏木馬執行緒和保護木馬檔案的目的——這就是所謂的DLL注入式木馬。
木馬是如何將DLL檔案進行載入的呢?這裏我們以一個駭客常用的DLL木馬「上興遠端控制木馬」為例進行講解。
執行「上興木馬」後,點擊介面中「配置服務端」按鈕,打開服務端生成程式。在「DNS功能變數名稱解析更新IP」中輸入自己的IP位址或者動態DNS功能變數名稱,在安裝名稱中輸入生成的服務端DLL檔案名。木馬執行後,該DLL檔案將被注入到下面「宿主執行緒名」中指定的系統執行緒中,預設為「explorer.exe」。最後點擊生成按鈕,即可生成木馬檔案「rejoice_06.exe」。
將生成的木馬檔案傳播,當其他用戶執行後,就可以通過上興木馬遠控用戶端進行控制了。
警報,病毒無法清除
如果系統中被植入了DLL木馬,將會出現什麼情況呢?
首先,系統被駭客遠端控制,出現資料丟失等情況;其次,殺毒軟體會報警系統中有病毒,但是卻無法進行清除。例如,在電腦中執行了上面製作的上興遠控木馬後,筆者電腦上安裝的殺毒軟體提示發現病毒,但是在刪除DLL病毒檔案時卻失敗了。即使我們手工刪除病毒檔案,也會因為DLL檔案正在使用中,所以也無法徹底刪除。即使進入安全模式,得到的也是同樣的結果。
另外,由於DLL木馬是插入到系統執行緒中的,因此通過任務管理器等執行緒工具,也無法發現任何木馬執行緒,這給木馬的清除帶來了很大的困難!
無法刪除病毒檔案,無法查找到木馬執行緒,那麼到底該如何清除DLL注入式木馬呢?
無所遁形,揪出木馬藏身之所
雖然木馬沒有自己的執行緒,但是有一個宿主執行緒,只要結束宿主執行緒,停止DLL檔案的調用,就可以刪除DLL檔案,進而清除木馬。因此,清除DLL木馬的第一步,就是找到木馬注入的宿主執行緒。那麼,如何才能找到木馬注入的宿主執行緒呢?且讓我們細細看來。
以清除「上興遠控木馬」為例,從殺毒軟體的報警提示中已經知道木馬DLL檔案名為「rejoice.dll」。因此,就可以通過一些查看執行緒調用DLL檔案的執行緒管理工具,找到該檔案的宿主執行緒,此類工具很多,比如大名鼎鼎的ICESword。
執行IceSword後,點擊左側邊欄「查看→執行緒」,就可以在其右側視窗中看到所有執行緒列表。右鍵點擊某執行緒,在彈出功能表中選擇「模組資訊」命令,即可看到該執行緒調用的所有DLL檔案。
提示:
DLL注入式木馬通常是將DLL檔案,載入到explorer.exe、svchost.exe、winlogon.exe、iexplore.exe等系統執行緒中的。因此在查找DLL宿主檔案時,可以關閉其他無關的程式,然後依次檢查這幾個執行緒中的DLL檔案。
不過一個一個的檢查系統執行緒,確實有些麻煩,如何才能快速的定位木馬的宿主執行緒呢?可以使用一款名為「procexp」的執行緒管理工具。執行procexp後,在程式介面中間顯示的是樹狀執行緒關係列表,下方是每個執行緒的詳細資訊。點擊功能表「Find→Find DLL」命令,打開DLL文件查找對話方塊,在「DLL Substring」中輸入要查找的關鍵字,這裏輸入剛才殺毒軟體掃瞄出的DLL檔案名「rejoice.dll」。然後點擊「Search」按鈕,在下方的列表中就可以看到該DLL檔案是被哪個執行緒調用的了。
對於大部分DLL注入木馬,其注入到「iexplore.exe」和「explorer.exe」這兩個執行緒。對於這類普通執行緒的DLL木馬,清除將是非常方便的。
如果DLL檔案是注入到「iexplore.exe」執行緒中,由於此執行緒就是IE流覽器執行緒,因此就需要先關掉所有IE視窗和相關程式,然後直接找到DLL檔案進行刪除就可以了。
如果DLL檔案是注入到「explorer.exe」執行緒中,那麼就略顯麻煩一些。由於此執行緒用於顯示桌面和資源管理器,因此,當通過任務管理器結束掉「explorer.exe」執行緒時,桌面無法看到,桌面上所有圖示消失掉,"我的電腦"、"網上鄰居"等所有圖示都不見了,同時,也無法打開資源管理器找到木馬檔案進行刪除。怎麼辦呢?
實際上,解決的方法也很簡單。在任務管理器中點擊功能表「檔案→新任務執行」,打開「創建新任務」對話方塊,點擊「流覽」按鈕,通過流覽對話方塊就可以打開DLL檔案所在的路徑。然後選擇「檔案類型」為「所有檔案」,即可顯示並刪除DLL檔案了。
除了以上所說的注入普通執行緒的DLL木馬之外,還有許多木馬注入到系統裏關鍵執行緒中,比如svchost.exe、smss.exe、winlogon.exe執行緒。這些執行緒使用普通方式無法結束,使用特殊工具結束掉執行緒後,卻又很可能造成系統崩潰無法正常執行的情況。對於這些木馬,我們可以通過以下兩種方法進行清除。
1.使用IceSword卸載DLL檔案
IceSword的功能十分強大,我們曾在以前作過介紹,在這裏,就可以利用它卸載掉已經插入到正在執行的系統執行緒中的DLL檔案。在IceSword的執行緒列表顯示視窗中,右鍵點擊DLL木馬宿主執行緒,選擇彈出命令「模組資訊」。在執行緒模組資訊對話方塊中找到DLL木馬文件,選擇檔案後點擊「強制解除」命令,即可將系統執行緒中的DLL木馬檔案卸載掉了
訪客無法瀏覽此圖片或連結,請先 註冊 或 登入會員 。
請禮貌性的回覆帖子
"菜鳥托兒所 的家族標誌"
菜鳥托兒所開放新成員加入訪客無法瀏覽此圖片或連結,請先 註冊 或 登入會員 。