木馬的工作原理
一個(gè)完整的木馬系統(tǒng)由硬件部分,軟件部分和具體連接部分組成。
(1)硬件部分:建立木馬連接所必須的硬件實(shí)體。 控制端:對(duì)服務(wù)端進(jìn)行遠(yuǎn)程控制的一方。 服務(wù)端:被控制端遠(yuǎn)程控制的一方。 INTERNET:控制端對(duì)服務(wù)端進(jìn)行遠(yuǎn)程控制,數(shù)據(jù)傳輸?shù)?a href="http://www.xsypw.cn/v/tag/1722/" target="_blank">網(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ù)哪康牡亍?控制端端口,木馬端口:即控制端,服務(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) ,捆綁文件,定制端口,自我銷毀等,我們將在“傳播木馬”這一節(jié)中詳細(xì)介紹。
(2)信息反饋:木馬配置程序?qū)⒕托畔⒎答伒姆绞交虻刂愤M(jìn)行設(shè)置,如設(shè)置信息反饋的郵件地址,IRC號(hào) ,ICO號(hào)等等,具體的我們將在“信息反饋”這一節(jié)中詳細(xì)介紹。
2、傳播木馬
(1)傳播方式:
木馬的傳播方式主要有三種:一種是通過(guò)E-MAIL,控制端將木馬程序以附件的形式夾在郵件中發(fā)送出去, 收信人只要打開(kāi)附件系統(tǒng)就會(huì)感染木馬;另一種是軟件下載,一些非正規(guī)的網(wǎng)站以提供軟件下載為 名義, 將木馬捆綁在軟件安裝程序上,下載后,只要一運(yùn)行這些程序,木馬就會(huì)自動(dòng)安裝。第三是利用系統(tǒng)漏洞進(jìn)行安裝。
(2)偽裝方式:
??????? 鑒于木馬的危害性,很多人對(duì)木馬知識(shí)還是有一定了解的,這對(duì)木馬的傳播起了一定的抑制作用,這 是木馬設(shè)計(jì)者所不愿見(jiàn)到的,因此他們開(kāi)發(fā)了多種功能來(lái)偽裝木馬,以達(dá)到降低用戶警覺(jué),欺騙用戶的目的。
木馬的偽裝方法
A.修改圖標(biāo)
可以將木馬服務(wù)端程序的圖標(biāo)改成HTML,TXT, ZIP等各種文件的圖標(biāo),這有相當(dāng)大的迷惑性.
B.捆綁文件
這種偽裝手段是將木馬捆綁到一個(gè)安裝程序上,當(dāng)安裝程序運(yùn)行時(shí),木馬在用戶毫無(wú)察覺(jué)的情況下 ,偷偷的進(jìn)入了系統(tǒng)。至于被捆綁的文件一般是可執(zhí)行文件(即EXE,COM一類的文件)。
C.出錯(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ò)誤提示框,錯(cuò)誤內(nèi)容可自由 定義,大多會(huì)定制成一些諸如“文件已破壞,無(wú)法打開(kāi)的!”之類的信息,當(dāng)服務(wù)端用戶信以 為真時(shí),木馬卻悄悄侵入了系統(tǒng)。
?D.定制端口
很多老式的木馬端口都是固定的,這給判斷是否感染了木馬帶來(lái)了方便,只要查一下特定的端口就 知道感染了什么木馬,所以現(xiàn)在很多新式的木馬都加入了定制端口的功能,控制端用戶可 以在1024---65535之間任選一個(gè)端口作為木馬端口(一般不選1024以下的端口),這樣就給判斷所感染木馬類型帶來(lái)了麻煩。
E.自我銷毀
這項(xiàng)功能是為了彌補(bǔ)木馬的一個(gè)缺陷。我們知道當(dāng)服務(wù)端用戶打開(kāi)含有木馬的文件后,木馬會(huì)將自己拷貝到系統(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)有查殺木馬的工具幫助下,就很難刪除木馬了。
F.木馬更名
安裝到系統(tǒng)文件夾中的木馬的文件名一般是固定的,那么只要根據(jù)一些查殺木馬的文章,按 圖索驥在系統(tǒng)文件夾查找特定的文件,就可以斷定中了什么木馬。所以現(xiàn)在有很多木馬都允許控 制端用戶自由定制安裝后的木馬文件名,這樣很難判斷所感染的木馬類型了。
3、運(yùn)行木馬
服務(wù)端用戶運(yùn)行木馬或捆綁木馬的程序后,木馬就會(huì)自動(dòng)進(jìn)行安裝。首先將自身拷貝到系統(tǒng)文件夾中(C:WINDOWS或C:WINDOWS\SYSTEM目錄下),然后在注冊(cè)表,啟動(dòng)組,非啟動(dòng)組中設(shè)置好木馬 的觸發(fā)條件 ,這樣木馬的安裝就完成了。安裝后就可以啟動(dòng)木馬了:
(1)由觸發(fā)條件激活木馬
觸發(fā)條件是指啟動(dòng)木馬的條件,大致出現(xiàn)在下面八個(gè)地方:
A.注冊(cè)表:打開(kāi)HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion下的五個(gè)以Run 和RunServices主鍵,在其中尋找可能是啟動(dòng)木馬的鍵值。
B. Autoexec.bat和Config.sys:在C盤根目錄下的這兩個(gè)文件也可以啟動(dòng)木馬。但這種加載方式一般都 需要控制端用戶與服務(wù)端建立連接后,將已添加木馬啟動(dòng)命令的同名 文件上傳 到服務(wù)端覆蓋這兩個(gè)文件才行。
C.*.INI:即應(yīng)用程序的啟動(dòng)配置文件,控制端利用這些文件能啟動(dòng)程序的特點(diǎn),將制作好的帶有木馬啟動(dòng)命令的同名文件上傳到服務(wù)端覆蓋這同名文件,這樣就可以達(dá)到啟動(dòng)木馬的目的了。
D.注冊(cè)表:打開(kāi)HKEY_CLASSES_ROOT文件類型shellopencommand主鍵,查看其鍵值。舉個(gè)例子,國(guó)產(chǎn) 木馬“冰河”就是修改HKEY_CLASSES_ROOTtxtfileshellopencommand下的鍵值,將“C :WINDOWS NOTEPAD.EXE %1”改為“C:WINDOWSSYSTEMSYSEXPLR.EXE %1”,這時(shí)你雙擊一個(gè)TXT文件后,原本應(yīng)用NOTEPAD打開(kāi)文件的,現(xiàn)在卻變成啟動(dòng)木馬程序了。還要說(shuō)明的是不光是TXT文件 ,通過(guò)修改HTML,EXE,ZIP等文件的啟動(dòng)命令的鍵值都可以啟動(dòng)木馬
E.捆綁文件:實(shí)現(xiàn)這種觸發(fā)條件首先要控制端和服務(wù)端已通過(guò)木馬建立連接,然后控制端用戶用工具 軟件將木馬文件和某一應(yīng)用程序捆綁在一起,然后上傳到服務(wù)端覆蓋原文件,這樣即使 木馬被刪 除了,只要運(yùn)行捆綁了木馬的應(yīng)用程序,木馬又會(huì)被安裝上去了。
F.啟動(dòng)菜單:在“開(kāi)始---程序---啟動(dòng)”選項(xiàng)下也可能有木馬的觸發(fā)條件。
4、信息泄露:
設(shè)計(jì)成熟的木馬都有一個(gè)信息反饋機(jī)制。所謂信息反饋機(jī)制是指木馬成功安裝后會(huì)收集 一些服務(wù)端的軟硬件信息,并通過(guò)E-MAIL,IRC或ICO的方式告知控制端用戶。
??? 從這封郵件中我們可以知道服務(wù)端的一些軟硬件信息,包括使用的操作系統(tǒng),系統(tǒng)目錄,硬盤分區(qū)況, 系統(tǒng)口令等,在這些信息中,最重要的是服務(wù)端IP,因?yàn)橹挥械玫竭@個(gè)參數(shù),控制端才能與服務(wù)端建立連接
5、建立連接:
一個(gè)木馬連接的建立首先必須滿足兩個(gè)條件:
一是 服務(wù)端已安裝了木馬程序;
二是控制端,服務(wù)端都要在線 。
在此基礎(chǔ)上控制端可以通過(guò)木馬端口與服務(wù)端建立連接。
?A機(jī)為控制端,B機(jī)為服務(wù)端,對(duì)于A機(jī)來(lái)說(shuō)要與B機(jī)建立連接必須知道B機(jī)的木馬端口和IP地址,由于木馬端口是A機(jī)事先設(shè)定的,為已知項(xiàng),所以最重要的是如何獲得B機(jī)的IP地址。
獲得B機(jī)的IP 地址的方法主要有兩種:
?? 信息反饋和IP掃描。IP掃描,因?yàn)锽機(jī)裝有木馬程序,所以它的木馬端口7626是處于開(kāi)放狀態(tài)的,所以現(xiàn)在A機(jī)只 要掃描IP地址段中7626端口開(kāi)放的主機(jī)就行了,這時(shí)A機(jī)就可以通過(guò)木馬的控 制端程序向B機(jī)發(fā)出連接信號(hào),B機(jī)中的木馬程序收到信號(hào)后立即作出響應(yīng),當(dāng)A機(jī)收到響應(yīng)的信號(hào)后, 開(kāi)啟一個(gè)隨即端口1031與B機(jī)的木馬端口7626建立連接,到這時(shí)一個(gè)木馬連接才算真正建立。
6、遠(yuǎn)程控制
木馬控制端上的控制端程序通過(guò)木馬程序?qū)Ψ?wù)端進(jìn)行遠(yuǎn) 程控制。
(1)竊取密碼:一切以明文的形式,*形式或緩存在CACHE中的密碼都能被木馬偵測(cè)到,此外很多木馬還 提供有擊鍵記錄功能,它將會(huì)記錄服務(wù)端每次敲擊鍵盤的動(dòng)作,所以一旦有木馬入侵, 密碼將很容易被竊取。
(2)文件操作:控制端可藉由遠(yuǎn)程控制對(duì)服務(wù)端上的文件進(jìn)行刪除,新建,修改,上傳,下載,運(yùn)行,更改屬 性等一系列操作,基本涵蓋了WINDOWS平臺(tái)上所有的文件操作功能。
(3)修改注冊(cè)表:控制端可任意修改服務(wù)端注冊(cè)表,包括刪除,新建或修改主鍵,子鍵,鍵值。有了這 項(xiàng)功能控制端就可以禁止服務(wù)端軟驅(qū),光驅(qū)的使用,鎖住服務(wù)端的注冊(cè)表,將服務(wù)端 上木馬的觸發(fā)條件設(shè)置得更隱蔽。
(4)系統(tǒng)操作:這項(xiàng)內(nèi)容包括重啟或關(guān)閉服務(wù)端操作系統(tǒng),斷開(kāi)服務(wù)端網(wǎng)絡(luò)連接,控制服務(wù)端的鼠標(biāo), 鍵盤,監(jiān)視服務(wù)端桌面操作,查看服務(wù)端進(jìn)程等,控制端甚至可以隨時(shí)給服務(wù)端發(fā)送信息。
評(píng)論
查看更多