DLL木馬怎么刪除
DLL木馬怎么刪除
在互聯(lián)網(wǎng)飛速發(fā)展的時(shí)代里,電腦病毒同樣也在發(fā)展,那么你們知道DLL木馬怎么刪除嗎?下面是學(xué)習(xí)啦小編整理的一些關(guān)于DLL木馬怎么刪除的相關(guān)資料,供你參考。
什么是DLL木馬病毒?
DLL木馬病毒也是動(dòng)態(tài)嵌入式木馬,為了在NT系統(tǒng)下能夠繼續(xù)隱藏進(jìn)程,木馬的開(kāi)發(fā)者們開(kāi)始利用DLL(Dynamic Link Library動(dòng)態(tài)鏈接庫(kù))文件,起初他們只是將自己的木馬寫(xiě)成DLL形式來(lái)替換系統(tǒng)中負(fù)責(zé)Win Socket1.x的函數(shù)調(diào)用wsock32.dll(Win Socket2中則由WS2_32.DLL負(fù)責(zé)),這樣通過(guò)對(duì)約定函數(shù)的操作和對(duì)未知函數(shù)的轉(zhuǎn)發(fā)(DLL木馬替換wsock32.dll時(shí)會(huì)將之更名,以便實(shí)現(xiàn)日后的函數(shù)轉(zhuǎn)發(fā))來(lái)實(shí)現(xiàn)遠(yuǎn)程控制的功能。但是隨著MS數(shù)字簽名技術(shù)和文件恢復(fù)功能的出臺(tái),這種DLL馬的生命力也日漸衰弱了,于是在開(kāi)發(fā)者的努力下出現(xiàn)了時(shí)下的主流木馬--動(dòng)態(tài)嵌入式DLL木馬,將DLL木馬嵌入到正在運(yùn)行的系統(tǒng)進(jìn)程中.explorer.exe、svchost.exe、smss.exe等無(wú)法結(jié)束的系統(tǒng)關(guān)鍵進(jìn)程是DLL馬的最?lèi)?ài),這樣這樣在任務(wù)管理器里就不會(huì)出現(xiàn)我們的DLL文件,而是我們DLL的載體EXE文件.當(dāng)然通過(guò)進(jìn)一步的加工DLL木馬還可以實(shí)現(xiàn)另外的一些如端口劫持/復(fù)用(也就是所謂的無(wú)端口)、注冊(cè)為系統(tǒng)服務(wù)、開(kāi)多線(xiàn)程保護(hù)、等功能。簡(jiǎn)而言之,就是DLL木馬達(dá)到了前所未有的隱蔽程度。
DLL木馬刪除的方法:
一,從DLL木馬的DLL文件入手,我們知道system32是個(gè)捉迷藏的好地方,許多木馬都削尖了腦袋往那里鉆,DLL馬也不例外,針對(duì)這一點(diǎn)我們可以在安裝好系統(tǒng)和必要的應(yīng)用程序后,對(duì)該目錄下的EXE和DLL文件作一個(gè)記錄:運(yùn)行CMD--轉(zhuǎn)換目錄到system32--dir *.exe>exeback.txt& dir *.dll>dllback.txt,這樣所有的EXE和DLL文件的名稱(chēng)都被分別記錄到exeback.txt和dllback.txt中,日后如發(fā)現(xiàn)異常但用傳統(tǒng)的方法查不出問(wèn)題時(shí),則要考慮是不是系統(tǒng)中已經(jīng)潛入DLL木馬了.這是我們用同樣的命令將system32下的EXE和DLL文件記錄到另外的exeback1.txt和dllback1.txt中,然后運(yùn)行CMD--fc exeback.txt exeback1.txt>diff.txt & fc dllback.txt dllback1.txt>diff.txt.(用FC命令比較前后兩次的DLL和EXE文件,并將結(jié)果輸入到diff.txt中),這樣我們就能發(fā)現(xiàn)一些多出來(lái)的DLL和EXE文件,然后通過(guò)查看創(chuàng)建時(shí)間、版本、是否經(jīng)過(guò)壓縮等就能夠比較容易地判斷出是不是已經(jīng)被DLL木馬光顧了。沒(méi)有是最好,如果有的話(huà)也不要直接DLL掉,我們可以先把它移到回收站里,若系統(tǒng)沒(méi)有異常反應(yīng)再將之徹底刪除或者提交給殺毒軟件公司。
二、上文也曾提到一些系統(tǒng)關(guān)鍵進(jìn)程是這類(lèi)木馬的最?lèi)?ài),所以一旦我們懷疑系統(tǒng)已經(jīng)進(jìn)駐了DLL木馬,我們當(dāng)然要對(duì)這些關(guān)鍵進(jìn)程重點(diǎn)照顧了,怎么照顧?這里推薦一個(gè)強(qiáng)大的脫殼工具工具Procedump.exe他可以幫您看出進(jìn)程到底調(diào)用了那些DLL文件(如圖1)但是由于有的進(jìn)程調(diào)用的DLL文件非常多,使得靠我們自己去一個(gè)核對(duì)變的不太現(xiàn)實(shí),所以我們會(huì)用到一個(gè)shotgun寫(xiě)的NT進(jìn)程/內(nèi)存模塊查看器ps.exe,用命令ps.exe /a /m >nowdlls.txt將系統(tǒng)目前調(diào)用地所有DLL文件地名稱(chēng)保存到nowdlls.txt,然后我們?cè)儆胒c將之于事先備份dllback.txt比較一下,這樣也能夠縮小排查范圍。
三、還記得木馬的特征之一端口么?所有的木馬只要進(jìn)行連接,只要它接受/發(fā)送數(shù)據(jù)則必然會(huì)打開(kāi)端口,DLL木馬也不例外,這也為我們發(fā)現(xiàn)他們提供了一條線(xiàn)索,我們可以使用foundstone的進(jìn)程端口查看工具Fport.exe來(lái)查看與端口對(duì)應(yīng)的進(jìn)程,這樣可以將范圍縮小到具體的進(jìn)程,然后結(jié)合Procedump來(lái)查找DLL木馬就比較容易了.當(dāng)然有如上文提到的有些木馬會(huì)通過(guò)端口劫持或者端口重用的方法來(lái)進(jìn)行通信,139、80、1443、等常見(jiàn)端口則是木馬的最?lèi)?ài)。因?yàn)榧词辜词褂脩?hù)使用端口掃描軟件檢查自己的端口,發(fā)現(xiàn)的也是類(lèi)似TCP UserIP:1026 ControllerIP:80ESTABLISHED 的情況,稍微疏忽一點(diǎn),您就會(huì)以為是自己在瀏覽網(wǎng)頁(yè)(防火墻也會(huì)這么認(rèn)為的)。所以光看端口還不夠,我們要對(duì)端口通信進(jìn)行監(jiān)控,這就是第四點(diǎn)要說(shuō)的。
四、我們可以利用嗅探器來(lái)了解打開(kāi)的端口到底在傳輸些什么數(shù)據(jù)。通過(guò)將網(wǎng)卡設(shè)為混雜模式就可以接受所有的IP報(bào)文,嗅探程序可以從中選擇值得關(guān)注的部分進(jìn)行分析,剩下的無(wú)非是按照RFC文檔對(duì)協(xié)議進(jìn)行解碼。這樣就可以確定木馬使用的端口。
五、通常說(shuō)道查殺木馬我們會(huì)習(xí)慣性地到注冊(cè)表碰碰運(yùn)氣,以前可能還蠻有效的,但如果碰到注冊(cè)為系統(tǒng)服務(wù)的木馬(原理:在NT/2K/XP這些系統(tǒng)中,系統(tǒng)啟動(dòng)時(shí)會(huì)加載指定的服務(wù)程序)這時(shí)候檢查:啟動(dòng)組/注冊(cè)表/autoexec.bat/win.ini/sysytem.ini/wininit.ini/*.inf(例如autorun.inf)/config.sys等文件就發(fā)現(xiàn)不了絲毫的異樣,這時(shí)候我們就應(yīng)該查看一下系統(tǒng)服務(wù)了:右擊我的電腦--管理--服務(wù)和應(yīng)用程序--服務(wù),這時(shí)您會(huì)看到100多個(gè)服務(wù),,當(dāng)然如果您以前曾經(jīng)用導(dǎo)出列表功能對(duì)服務(wù)備份過(guò),則用文件比較的方法會(huì)很容易發(fā)現(xiàn)哪些是外來(lái)客,這時(shí)您可以記錄下服務(wù)加載的是那個(gè)文件,然后用Resource Kits里提供的srvinstw.exe來(lái)移除該服務(wù)并清除被加載的文件。
通過(guò)以上五步,基本能發(fā)現(xiàn)并清除狡猾的動(dòng)態(tài)嵌入式DLL木馬了,也許您也發(fā)現(xiàn)如果適當(dāng)?shù)刈鲆恍﹤浞?,?huì)對(duì)我們的查找木馬的過(guò)程有很大的幫助,當(dāng)然也會(huì)減輕不少工作的壓力
看過(guò)文章“DLL木馬怎么刪除"的人還看了: