国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

入侵之文件對比查殺嵌入式木馬
2007-02-11   賽迪網(wǎng)安全社區(qū)

新一代的嵌入式木馬,也就是通常所說的dll型注入式木馬,其運用了動態(tài)嵌入技術(shù),動態(tài)嵌入最常見的是最常見的是鉤子、API以及遠程線程技術(shù),而現(xiàn)在大多數(shù)的嵌入式木馬都是運用遠程線程技術(shù)把自己本身掛在一個正常的系統(tǒng)進程中,通常這一類木馬清除起來比較困難。

隨著計算機的發(fā)展,木馬技術(shù)也在不停的發(fā)展,以冰河為首的老一代經(jīng)典木馬已經(jīng)開始慢慢消失在經(jīng)典木馬行列中,取而代之的則是新一代的嵌入式木馬,也就是通常所說的dll型注入式木馬,其運用了動態(tài)嵌入技術(shù),動態(tài)嵌入最常見的是最常見的是鉤子、API以及遠程線程技術(shù),而現(xiàn)在大多數(shù)的嵌入式木馬都是運用遠程線程技術(shù)把自己本身掛在一個正常的系統(tǒng)進程中,通常這一類木馬清除起來比較困難。

嵌入式木馬之迷

那到底什么是嵌入式dll型木馬呢?DLL的代碼和其他程序幾乎沒什么兩樣,僅僅是接口和啟動模式不同,只要改動一下代碼入口,DLL就變成一個獨立的程序了。當然,DLL文件是沒有程序邏輯的,這里并不是說DLL=EXE,不過,依然可以把DLL看做缺少了main入口的EXE,DLL帶的各個功能函數(shù)可以看作一個程序的幾個函數(shù)模塊。DLL木馬就是把一個實現(xiàn)了木馬功能的代碼,加上一些特殊代碼寫成DLL文件,導出相關(guān)的API,在別人看來,這只是一個普通的DLL,但是這個DLL卻攜帶了完整的木馬功能,而dll木馬的標準執(zhí)行入口為dllmain,dllmain包含了木馬的運行代碼,或者其指向木馬的執(zhí)行模塊,在dll木馬中通過在另一個進程中創(chuàng)建遠程線程(RemoteThread)的方法進入那個進程的內(nèi)存地址空間被稱為“注入”,當載體在那個被注入的進程里創(chuàng)建了遠程線程并命令它加載DLL時,木馬就掛上去執(zhí)行了,沒有新進程產(chǎn)生,這就是嵌入式dll木馬。

因此黑客通常把dll木馬注入到一些系統(tǒng)關(guān)鍵進程,如嵌入到ie瀏覽器,Explorer.exe中,來達到更好的啟動和隱蔽自身的目的。如今除了專門的dll木馬外,還有許多優(yōu)秀的木馬也可以選擇生成一般的exe木馬和dll木馬2種類型,來提供給用戶各種需要,其中的典型的木馬是黑洞和灰鴿子,這2款經(jīng)典之作就支持這2種服務(wù)端的生成,其生成的dll木馬服務(wù)端的穩(wěn)定性也相當出色,各大殺毒產(chǎn)商都將其列入重點查殺對象。

揪出嵌入式木馬

在了解了嵌入式木馬的工作原理后,我們應(yīng)該如何來及時發(fā)現(xiàn)和清除這一類木馬呢?不管是傳統(tǒng)木馬還是嵌入式木馬,首先我們要了解木馬的藏身之地,同傳統(tǒng)木馬一樣system32同樣也是嵌入式木馬最喜愛的藏身之所,根據(jù)這個特點我們在安裝好系統(tǒng)和必要的應(yīng)用程序后,對該目錄下的exe文件和dll文件做一個記錄,運行CMD--轉(zhuǎn)換目錄到system32--dir *.exe>exe.txt & dir*.dll>dll.txt,這樣所有的EXE和DLL文件的名稱都被分別記錄到exe.txt和dllback.txt中。

如果系統(tǒng)在以后的使用中出現(xiàn)異常而用傳統(tǒng)的方法查不出來的時候,我們就要考慮是不是嵌入式木馬在搗亂了,此時我們再次運行CMD--轉(zhuǎn)換目錄到system32--dir *.exe>exe1.txt & dir*.dll>dll1.txt將system32下的exe和dll文件分別再記錄到exe1.txt和dll1.txt中,接下來我們就可以對2次記錄的文件進行比較了,來判斷是否存在嵌入式木馬,方法如下:運行CMD--fc exe.txt exe1.txt>change.txt & fc dll.txt dll1.txt>change.txt,其含義為用fc命令比較exe和dll的2次記錄文件,并將結(jié)果輸出到change.txt中。這時我們就可以從change.txt中發(fā)現(xiàn)發(fā)生變化的exe和dll文件以及多出來的exe和dll文件,最后我們查看這些文件的創(chuàng)建時間、版本、是否經(jīng)過壓縮等就能夠比較容易地判斷出是不是已經(jīng)被DLL木馬修改了。

如果有的話,在沒有把握的情況下就把dll文件先刪除到回收站中,以便誤刪以后還能文件還原,如果重新啟動后系統(tǒng)沒有任何異常,我們就可以徹底刪除此dll文件了。但同時由于有的進程調(diào)用的DLL文件非常多,使得靠我們自己去一個一個去核對變的不太現(xiàn)實,所以此時我們可以借助一些工具來幫助我們縮小范圍,其中NT進程/內(nèi)存模塊查看器ps.exe就是一款很不錯的工具,用命令ps.exe /a /m >usedll.txt將系統(tǒng)目前正在調(diào)用的所有DLL文件名稱保存到usedll.txt中,然后再用fc dll.txt usedll.txt>changenow.txt把比較結(jié)果輸出到changenow.txt中,這樣我們就能大大的縮小查找范圍。同時端口也是值得我們重視的一部分,我們可以用進程端口查看工具Fport.exe來查看與端口對應(yīng)的進程,一般木馬開放的是高端口(但也不排除其使用了端口轉(zhuǎn)發(fā)和復用技術(shù))樣還可以將范圍縮小到具體的進程,然后結(jié)合Procedump.exe這款脫殼工具來查看此進程調(diào)用的dll文件,再利用上面介紹的文件比較法來比較,從而使得查找DLL木馬變的更容易。針對端口我們還可以使用嗅探的方法來嗅探端口所傳輸?shù)臄?shù)據(jù),如果數(shù)據(jù)異常則,再使用Fport來找出端口所對應(yīng)進程然后再重復以上步驟。

實戰(zhàn)文件對比法

以上講了這么多方法來揪出嵌入式木馬,也許大家看著這些操作無從做起,以下我將給出文件對比的主要步驟。

◆應(yīng)用環(huán)境◆

Windows2000 pro,d:/test文件夾的對比

◆實戰(zhàn)流程◆

步驟一:進入d盤test文件夾,對test文件夾下內(nèi)容進行記錄,運行CMD--轉(zhuǎn)換目錄到d:/test--dir *.exe>exe.txt & dir *.dll>dll.txt,如下圖所示:

這樣我們就會在d:/test下生成exe和dll兩個記事本文件,內(nèi)容分別如下:

exe.txt文件:

驅(qū)動器 D 中的卷是 娛樂

卷的序列號是 6078-F043

D:\test 的目錄

2005-12-04 11:59a 26,772,480 dx81setup.exe

2005-12-04 11:59a 473,600 g5setup解碼.exe

2 個文件 27,246,080 字節(jié)

0 個目錄505,454,592 可用字節(jié)

dll.txt文件:

驅(qū)動器 D 中的卷是 娛樂

卷的序列號是 6078-F043

D:\test 的目錄

2005-03-31 02:52a 36,924 php5apache.dll

2005-03-31 02:52a 36,925 php5apache2.dll

2005-03-31 02:52a 53,314 php5apache_hooks.dll

3 個文件127,163 字節(jié)

0 個目錄505,454,592 可用字節(jié)

步驟二:我向test文件夾中拷貝幾個exe和dll文件進去,再次重復步驟一,得到exe1.txt和dll1.txt兩個文件,同樣他們位于test文件夾中。

步驟三:比較exe.txt和exe1.txt文件以及dll.txt和dll1.txt文件,運行CMD--fc exe.txt exe1.txt>change.txt & fc dll.txt dll1.txt>change.txt,如下圖所示:

對比后得到changedll.txt和changeexe.txt兩個文件內(nèi)容如下:

changedll.txt:

正在比較文件 dll.txt 和 DLL1.TXT

***** dll.txt

2005-03-31 02:52a 36,924 php5apache.dll

***** DLL1.TXT

2005-03-31 02:52a 417,792 fdftk.dll

2005-03-31 02:52a 90,112 fribidi.dll

2005-03-31 02:52a 346,624 gds32.dll

2005-03-31 02:52a 36,924 php5apache.dll

*****

***** dll.txt

2005-03-31 02:52a 53,314 php5apache_hooks.dll

3 個文件127,163 字節(jié)

0 個目錄505,454,592 可用字節(jié)

***** DLL1.TXT

2005-03-31 02:52a 53,314 php5apache_hooks.dll

6 個文件981,691 字節(jié)

0 個目錄475,787,264 可用字節(jié)

*****

其中我們只需看上面我加粗的部分,這部分內(nèi)容為增加的文件。加粗部分上面一段dll.txt內(nèi)容只顯示一行信息2005-03-31 02:52a 36,924 php5apache.dll,其他文件內(nèi)容信息省略了,這一行內(nèi)容就代表了dll.txt中的內(nèi)容,而加粗這部分DLL1.TXT中的2005-03-31 02:52a 36,924 php5apache.dll就代表了dll.txt中所有內(nèi)容,剩下的就是我加粗了的文件了,即增加了的文件。

changeexe.txt:

正在比較文件 exe.txt 和 EXE1.TXT

***** exe.txt

2005-12-04 11:59a 473,600 g5setup解碼.exe

2 個文件 27,246,080 字節(jié)

0 個目錄505,454,592 可用字節(jié)

***** EXE1.TXT

2005-12-04 11:59a 473,600 g5setup解碼.exe

2005-12-04 12:02p 13,058,048 mpsetup.exe

2004-10-30 09:11a 11,761,184 RealPlayer10-5GOLD_cn.EXE

2005-12-04 12:02p 3,963,392 Winamp278cn_DFX_Blue.EXE

5 個文件 56,028,704 字節(jié)

0 個目錄475,787,264 可用字節(jié)

*****

以上增加了的內(nèi)容為:

2005-12-04 12:02p 13,058,048 mpsetup.exe

2004-10-30 09:11a 11,761,184 RealPlayer10-5GOLD_cn.EXE

2005-12-04 12:02p 3,963,392 Winamp278cn_DFX_Blue.EXE

步驟四:判斷以上增加的內(nèi)容是否是自己,曾經(jīng)安裝在test文件夾中的exe或者dll文件,如果不是則刪除即可。

結(jié)束語

總而言之要查殺這類嵌入式木馬最有效的辦法就是文件對比法,除了上面介紹的一些縮小查找范圍的辦法外,用戶還可以自己再發(fā)揮想象把范圍縮至最小,從而更加準確的查殺此類嵌入式木馬,讓嵌入式木馬在我們面前無法遁形。

熱詞搜索:

上一篇:教你手工剿滅QQ廣告彈出木馬
下一篇:Linux操作系統(tǒng)上如何阻止系統(tǒng)攻擊者

分享到: 收藏
主站蜘蛛池模板: 江孜县| 鄂州市| 商洛市| 周宁县| 芜湖县| 寻乌县| 驻马店市| 浦东新区| 台湾省| 房产| 遵义市| 兴宁市| 和林格尔县| 香港| 福安市| 清水河县| 武冈市| 山阳县| 二手房| 汕尾市| 红原县| 依安县| 定日县| 临沂市| 灵石县| 平顶山市| 聊城市| 霍林郭勒市| 迁安市| 龙泉市| 旬邑县| 墨竹工卡县| 晋宁县| 昭平县| 延长县| 鹿邑县| 都匀市| 建平县| 新乡县| 报价| 朝阳市|