如果你常看我們的病毒播報(bào)欄目,一定會(huì)在很多木馬,病毒的介紹中看到“使用了線程插入技術(shù)”這類的描述,這個(gè)線程插入技術(shù)就是現(xiàn)在木馬隱藏自身的常用手段之一。
在Window$文件大家族中,DLL是比較特殊的一種類型,它不是可執(zhí)行文件,卻可以完成可執(zhí)行文件的功能。正是由于這種特特殊,越來越多的木馬制造者把目光瞄上了DLL文件。
DLL木馬的惡行
DLL木馬通過其他進(jìn)程調(diào)用(比如rundll32.exe,常常導(dǎo)致誤殺“忠良”),或者插入關(guān)鍵系統(tǒng)進(jìn)程(比如插入Winlongon.exe,導(dǎo)致無法刪除或強(qiáng)行終止進(jìn)程后當(dāng)機(jī))。由于DLL木馬隱藏在幕后作惡,這給系統(tǒng)安全帶來很大的威脅。筆者近日就中招一個(gè)DLL木馬,下面將查殺經(jīng)驗(yàn)與大家分享。
1.殺毒報(bào)警,木馬驚現(xiàn)
近日在一次例行的安全掃描中,筆者安裝的Avast!突然發(fā)出報(bào)警聲,程序提示發(fā)現(xiàn)“c:\\Windows\\system32\\rundll.dll”木馬,單擊“刪除”,殺毒軟件提示無法刪除病毒。
打開任務(wù)管理器,沒有發(fā)現(xiàn)異常進(jìn)程,找那個(gè)文件,刪除時(shí)系統(tǒng)提示“文件正在使用,無法刪除”。很明顯,這就是一個(gè)插入了正常進(jìn)程的DLL木馬。
2.自己動(dòng)手,揪出宿主進(jìn)程
在系統(tǒng)中無法刪除文件,大多數(shù)的原因是由于當(dāng)前文件正被使用。DLL木馬文件無法刪除,顯然是由于其插入系統(tǒng)進(jìn)程所致。到底是哪個(gè)進(jìn)程被注入木馬?筆者借助系統(tǒng)自帶的Tasklist命令查找。單擊“開始一運(yùn)行”,輸入“emd.exe”打開命令行窗口。輸入“tasklist/m>k:\\dll.txt”(不含外雙引號(hào),下同),這個(gè)命令的作用是將當(dāng)前活動(dòng)進(jìn)程加載的DLLl文件列表列出,同時(shí)輸出到k:\\dll.txt中。
啟動(dòng)記事本程序,打開“k:\\dll.txt”,單擊菜單欄的“編輯→查找”,輸入殺毒軟件提示的病毒文件“rundll.dll”,單擊“查找下一個(gè)”按鈕后,我們可以發(fā)現(xiàn)系統(tǒng)的桌面進(jìn)程(explorer.exe)加載了木馬文件。也就是說木馬插入了桌面進(jìn)程。
3.卸載DLL殺木馬
知道被注入的宿主進(jìn)程后,我們可以使用“Inject DLL\"將注入的DLI,文件卸載,從而刪除木馬文件。
Inject DLL是個(gè)命令行卸載工具(下載地址h11p://wor.knewhua.com/pcd),下載后將文件解壓到k:\\,啟動(dòng)命令提示符后,輸入“idu exploreEexe rundll.d11/e”,當(dāng)系統(tǒng)提示“DLL Jection suoessful!”,表示程序成功卸載DLL文件,現(xiàn)在就可以進(jìn)入c:\\Windows\\system32,把DLL木馬文件刪除。
有些DLL木馬還有一個(gè)監(jiān)視進(jìn)程,一旦發(fā)現(xiàn)注入的DLL木馬被卸載,它會(huì)立刻重新插入。因此,當(dāng)我們利用“InjectDLL”卸載木馬后,如果仍然無法刪除文件時(shí),一定要打開任務(wù)管理器查看是否有異常監(jiān)視進(jìn)程。
像木馬—樣去戰(zhàn)斗
除了DLL木馬外,由于DLL文件的特殊性,一些應(yīng)用軟件也會(huì)借助DLL文件完成自身功能,可不要錯(cuò)殺此類文件哦。下面,我們介紹兩個(gè)與隱身木馬采用同樣工作方式的實(shí)用工具。
1.資源管理側(cè)邊欄插件FindeXer
它是只有一個(gè)DLL文件的資源管理器側(cè)邊欄插件,先到微軟官方下載網(wǎng)站(http://www.microsoft.com/downloads)通過搜索下載“MicrosoftVisualC十十2005 Redistributable Package(x86)”并安裝好。然后到http://tomseffectcom/LessClix/FmdeXer/FmdeXer%20Nightly%20V1.1.0.30zip下載FindeXer運(yùn)行其中的Register.bal注冊(cè)Findexer.DLL文件。
現(xiàn)在,啟動(dòng)資源管理器,在菜單欄選擇“查看→瀏覽器欄→FindeXer”,我們就可以在資源管理器打開一個(gè)新的側(cè)邊欄使用。
如果要卸載它,只要在開始菜單的運(yùn)行框輸入“regsvr32/u FindeXer.dll”卸載DLL文件即可。
2.讓日期顯示農(nóng)歷插件Winkld
這是一個(gè)可以讓系統(tǒng)時(shí)間顯示農(nóng)歷、天氣預(yù)報(bào)插件。到http://work.newhua.com/pcd下載dll并復(fù)制到“c:\\Windows\\system32”,單擊“開始→運(yùn)行”,輸入“regsvr32\\s WinKld.dll”,重啟系統(tǒng)后雙擊托盤中的系統(tǒng)時(shí)間,我們就看到顯示的農(nóng)歷了,切換到“天氣”標(biāo)簽,選擇自已的城市還可以顯示天氣預(yù)報(bào)。卸載則輸入“regsvr32/uWinKldll”命令。
大家可以看到,在運(yùn)行這類DLL程序時(shí),我們都要先用regsvr32.exe來加載。regsvr32.exe是32位系統(tǒng)下使用的DLL注冊(cè)和反注冊(cè)工具,使用它必須通過命令行的方式,通常可以用來加載一些系統(tǒng)控件,有時(shí)也用于修復(fù)系統(tǒng)故障。