一、基礎(chǔ)知識(shí)
在介紹木馬的原理之前有一些木馬構(gòu)成的基礎(chǔ)知識(shí)我們要事先加以說(shuō)明,因?yàn)橄旅嬗泻芏嗟胤綍?huì)提到這些內(nèi)容
一個(gè)完整的木馬系統(tǒng)由硬件部分、軟件部分和具體連接部分組成。
1.硬件部分
建立木馬連接所必須的硬件實(shí)體。
控制端:對(duì)服務(wù)端進(jìn)行遠(yuǎn)程控制的一方。
服務(wù)端:被控制端遠(yuǎn)程控制的一方。
INTERNET:控制端對(duì)服務(wù)端進(jìn)行遠(yuǎn)程控制,數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)載體。
2.軟件部分
實(shí)現(xiàn)遠(yuǎn)程控制所必須的軟件程序。
控制端程序:控制端用以遠(yuǎn)程控制服務(wù)端的程序。
木馬程序:潛入服務(wù)端內(nèi)部,獲取其操作權(quán)限的程序。
木馬配置程序:設(shè)置木馬程序的端口號(hào),觸發(fā)條件,木馬名稱等,使其在服務(wù)端藏得更隱蔽的程序。
3.具體連接部分
通過(guò)INTERNET在服務(wù)端和控制端之間建立一條木馬通道所必須的元素。
控制端IP,服務(wù)端IP:即控制端,服務(wù)端的網(wǎng)絡(luò)地址,也是木馬進(jìn)行數(shù)據(jù)傳輸?shù)哪康牡亍?br />
控制端端口,木馬端口:即控制端,服務(wù)端的數(shù)據(jù)入口,通過(guò)這個(gè)入口,數(shù)據(jù)可直達(dá)控制端程序或木馬程序。
二、特洛伊木馬的攻擊步驟
用木馬這種黑客工具進(jìn)行網(wǎng)絡(luò)入侵,從過(guò)程上看大致可分為六步,下面我們就按這六步來(lái)詳細(xì)闡述木馬的攻擊原理。
1. 配置木馬
一般來(lái)說(shuō)一個(gè)設(shè)計(jì)成熟的木馬都有木馬配置程序,從具體的配置內(nèi)容看,主要是為了實(shí)現(xiàn)以下兩方面功能:
(1)木馬偽裝:木馬配置程序?yàn)榱嗽诜⻊?wù)端盡可能好的隱藏木馬,會(huì)采用多種偽裝手段,如修改圖標(biāo)、捆綁文件、定制端口、自我銷毀等等。
(2)信息反饋:木馬配置程序?qū)⒕托畔⒎答伒姆绞交虻刂愤M(jìn)行設(shè)置,如設(shè)置信息反饋的郵件地址、IRC號(hào)、ICQ號(hào)等。
2. 傳播木馬
(1)傳播方式
木馬的傳播方式主要有兩種:一種是通過(guò)E-MAIL,控制端將木馬程序以附件的形式夾在郵件中發(fā)送出去,收信人只要打開(kāi)附件系統(tǒng)就會(huì)感染木馬;另一種是軟件下載,一些非正規(guī)的網(wǎng)站以提供軟件下載為名義,將木馬捆綁在軟件安裝程序上,下載后,只要一運(yùn)行這些程序,木馬就會(huì)自動(dòng)安裝。
(2)偽裝方式
鑒于木馬的危害性,很多人對(duì)木馬知識(shí)還是有一定了解的,這對(duì)木馬的傳播起了一定的抑制作用,這是木馬設(shè)計(jì)者所不愿見(jiàn)到的。因此他們開(kāi)發(fā)了多種功能來(lái)偽裝木馬,以達(dá)到降低用戶警覺(jué),欺騙用戶的目的。一般來(lái)說(shuō)有以下幾種:
◆修改圖標(biāo)
也許你會(huì)在E-MAIL的附件中看到一個(gè)很平常的文本圖標(biāo),但是我不得不告訴你,這也有可能是個(gè)木馬程序,現(xiàn)在已經(jīng)有木馬可以將木馬服務(wù)端程序的圖標(biāo)改成HTML、TXT、ZIP等各種文件的圖標(biāo),這有相當(dāng)大的迷惑性,但是目前提供這種功能的木馬還不多見(jiàn),并且這種偽裝也不是無(wú)懈可擊的,所以不必整天提心吊膽、疑神疑鬼的。
◆捆綁文件
這種偽裝手段是將木馬捆綁到一個(gè)安裝程序上,當(dāng)安裝程序運(yùn)行時(shí),木馬在用戶毫無(wú)察覺(jué)的情況下,偷偷的進(jìn)入了系統(tǒng)。至于被捆綁的文件一般是可執(zhí)行文件,即EXE、COM一類的文件。
◆出錯(cuò)顯示
有一定木馬知識(shí)的人都知道,如果打開(kāi)一個(gè)文件,沒(méi)有任何反應(yīng),這很可能就是個(gè)木馬程序,木馬的設(shè)計(jì)者也意識(shí)到了這個(gè)缺陷,所以已經(jīng)有木馬提供了一個(gè)叫做出錯(cuò)顯示的功能。當(dāng)服務(wù)端用戶打開(kāi)木馬程序時(shí),會(huì)彈出一個(gè)錯(cuò)誤提示框——這當(dāng)然是假的,錯(cuò)誤內(nèi)容可自由定義,大多會(huì)定制成一些諸如“文件已破壞,無(wú)法打開(kāi)的!”之類的信息,當(dāng)服務(wù)端用戶信以為真時(shí),木馬卻悄悄侵入了系統(tǒng)。
◆定制端口
很多老式的木馬端口都是固定的,這給判斷是否感染了木馬帶來(lái)了方便,只要查一下特定的端口就知道感染了什么木馬,所以現(xiàn)在很多新式的木馬都加入了定制端口的功能,控制端用戶可以在1024——65535之間任選一個(gè)端口作為木馬端口。一般不選1024以下的端口,這樣就給判斷所感染木馬類型帶來(lái)了麻煩。
◆自我銷毀
這項(xiàng)功能是為了彌補(bǔ)木馬的一個(gè)缺陷。我們知道當(dāng)服務(wù)端用戶打開(kāi)含有木馬的文件后,木馬會(huì)將自己拷貝到WINDOWS的系統(tǒng)文件的C:\WINDOWS或C:\WINDOWS\SYSTEM目錄下,一般來(lái)說(shuō)原木馬文件和系統(tǒng)文件夾中的木馬文件的大小是一樣的,捆綁文件的木馬除外。那么中了木馬的朋友只要在近來(lái)收到的信件和下載的軟件中找到原木馬文件,然后根據(jù)原木馬的大小去系統(tǒng)文件夾找相同大小的文件, 判斷一下哪個(gè)是木馬就行了。而木馬的自我銷毀功能是指安裝完木馬后,原木馬文件將自動(dòng)銷毀,這樣服務(wù)端用戶就很難找到木馬的來(lái)源,在沒(méi)有查殺木馬的工具幫助下,就很難刪除木馬了。
◆木馬更名
安裝到系統(tǒng)文件夾中的木馬的文件名一般是固定的,那么只要根據(jù)一些查殺木馬的文章,按圖索驥在系統(tǒng)文件夾查找特定的文件,就可以斷定中了什么木馬。所以現(xiàn)在有很多木馬都允許控 制端用戶自由定制安裝后的木馬文件名,這樣很難判斷所感染的木馬類型了。
3.運(yùn)行木馬
服務(wù)端用戶運(yùn)行木馬或捆綁木馬的程序后,木馬就會(huì)自動(dòng)進(jìn)行安裝。首先將自身拷貝到WINDOWS的系統(tǒng)文件夾中C:\WINDOWS或C:\WINDOWS\SYSTEM目錄下。然后在注冊(cè)表、啟動(dòng)組、非啟動(dòng)組中設(shè)置好木馬的觸發(fā)條件,這樣木馬的安裝就完成了。安裝后就可以啟動(dòng)木馬了。
由觸發(fā)條件激活木馬
觸發(fā)條件是指啟動(dòng)木馬的條件,大致出現(xiàn)在下面八個(gè)地方:
◆注冊(cè)表
打開(kāi)HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\下的五個(gè)以Run和RunServices主鍵,在其中尋找可能是啟動(dòng)木馬的鍵值。
◆WIN.INI
C:\WINDOWS目錄下有一個(gè)配置文件win.ini,用文本方式打開(kāi),在windows字段中有啟動(dòng)命令load=和run=,在一般情況下是空白的,如果有啟動(dòng)程序,可能是木馬。
◆SYSTEM.INI
C:\WINDOWS目錄下有個(gè)配置文件system.ini,用文本方式打開(kāi),在386Enh、mic、drivers32中有命令行,在其中尋找木馬的啟動(dòng)命令。
◆Autoexec.bat和Config.sys
在C盤根目錄下的這兩個(gè)文件也可以啟動(dòng)木馬。但這種加載方式一般都需要控制端用戶與服務(wù)端建立連接后,將已添加木馬啟動(dòng)命令的同名文件上傳到服務(wù)端覆蓋這個(gè)文件才行。
◆*.INI
即應(yīng)用程序的啟動(dòng)配置文件,控制端利用這些文件能啟動(dòng)程序的特點(diǎn),將制作好的帶有木馬啟動(dòng)命令的同名文件上傳到服務(wù)端覆蓋這同名文件,這樣就可以達(dá)到啟動(dòng)木馬的目的了。
◆注冊(cè)表
打開(kāi)HKEY_CLASSES_ROOT\文件類型\shell\open\command主鍵,查看其鍵值。舉個(gè)例子,國(guó)產(chǎn)木馬“冰河”就是修改HKEY_CLASSES_ROOT\txtfile\shell\open\command下的鍵值,將“C:\WINDOWS \NOTEPAD.EXE %1”改為“C:\WINDOWS\SYSTEM\SYSEXPLR.EXE %1”,這時(shí)你雙擊一個(gè)TXT文件后,原本應(yīng)用NOTEPAD打開(kāi)文件的,現(xiàn)在卻變成啟動(dòng)木馬程序了。還要說(shuō)明的是不光是TXT文件,通過(guò)修改HTML、EXE、ZIP等文件的啟動(dòng)命令的鍵值都可以啟動(dòng)木馬,不同之處只在于“文件類型”這個(gè)主鍵的差別,TXT是txtfile,ZIP是WINZIP,大家可以試著去找一下。
◆捆綁文件
實(shí)現(xiàn)這種觸發(fā)條件首先要控制端和服務(wù)端通過(guò)木馬建立連接,然后控制端用戶用工具軟件將木馬文件和某一應(yīng)用程序捆綁在一起,然后上傳到服務(wù)端覆蓋原文件,這樣即使木馬被刪除了,只要運(yùn)行捆綁了木馬的應(yīng)用程序,木馬又會(huì)被安裝上去了。
◆啟動(dòng)菜單
在“開(kāi)始—程序—啟動(dòng)”選項(xiàng)下也可能有木馬的觸發(fā)條件