-
當前位置:首頁 > 創(chuàng)意學院 > 營銷推廣 > 專題列表 > 正文
木馬的設(shè)計者是誰
大家好!今天讓小編來大家介紹下關(guān)于木馬的設(shè)計者是誰的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,相關(guān)業(yè)務(wù)請撥打電話:175-8598-2043,或添加微信:1454722008
本文目錄:
一、木馬病毒的由來,為什么叫木馬?誰知道???
特洛伊木馬(以下簡稱木馬),英文叫做“Trojan house”,其名稱取自希臘神話的特洛伊木馬記。
它是一種基于遠程控制的黑客工具,具有隱蔽性和非授權(quán)性的特點。
所謂隱蔽性是指木馬的設(shè)計者為了防止木馬被發(fā)現(xiàn),會采用多種手段隱藏木馬,這樣服務(wù)端即使發(fā)現(xiàn)感染了木馬,由于不能確定其具體位置,往往只能望“馬”興嘆。
所謂非授權(quán)性是指一旦控制端與服務(wù)端連接后,控制端將享有服務(wù)端的大部分操作權(quán)限,包括修改文件,修改注冊表,控制鼠標,鍵盤等等,而這些權(quán)力并不是服務(wù)端賦予的,而是通過木馬程序竊取的。
從木馬的發(fā)展來看,基本上可以分為兩個階段。
最初網(wǎng)絡(luò)還處于以UNIX平臺為主的時期,木馬就產(chǎn)生了,當時的木馬程序的功能相對簡單,往往是將一段程序嵌入到系統(tǒng)文件中,用跳轉(zhuǎn)指令來執(zhí)行一些木馬的功能,在這個時期木馬的設(shè)計者和使用者大都是些技術(shù)人員,必須具備相當?shù)木W(wǎng)絡(luò)和編程知識。
而后隨著WINDOWS平臺的日益普及,一些基于圖形操作的木馬程序出現(xiàn)了,用戶界面的改善,使使用者不用懂太多的專業(yè)知識就可以熟練的操作木馬,相對的木馬入侵事件也頻繁出現(xiàn),而且由于這個時期木馬的功能已日趨完善,因此對服務(wù)端的破壞也更大了。
所以所木馬發(fā)展到今天,已經(jīng)無所不用其極,一旦被木馬控制,你的電腦將毫無秘密可言。
鑒于木馬的巨大危害性,我們將分原理篇,防御與反擊篇,資料篇三部分來詳細介紹木馬,希望大家對特洛伊木馬這種攻擊手段有一個透徹的了解。
原 理 篇
基礎(chǔ)知識
在介紹木馬的原理之前有一些木馬構(gòu)成的基礎(chǔ)知識我們要事先加以說明,因為下面有很多地方會提到這些內(nèi)容。
一個完整的木馬系統(tǒng)由硬件部分,軟件部分和具體連接部分組成。
(1)硬件部分:建立木馬連接所必須的硬件實體。 控制端:對服務(wù)端進行遠程控制的一方。 服務(wù)端:被控制端遠程控制的一方。 INTERNET:控制端對服務(wù)端進行遠程控制,數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)載體。
(2)軟件部分:實現(xiàn)遠程控制所必須的軟件程序。 控制端程序:控制端用以遠程控制服務(wù)端的程序。 木馬程序:潛入服務(wù)端內(nèi)部,獲取其操作權(quán)限的程序。 木馬配置程序:設(shè)置木馬程序的端口號,觸發(fā)條件,木馬名稱等,使其在服務(wù)端藏得更隱蔽的程序。
(3)具體連接部分:通過INTERNET在服務(wù)端和控制端之間建立一條木馬通道所必須的元素。 控制端IP,服務(wù)端IP:即控制端,服務(wù)端的網(wǎng)絡(luò)地址,也是木馬進行數(shù)據(jù)傳輸?shù)哪康牡亍?控制端端口,木馬端口:即控制端,服務(wù)端的數(shù)據(jù)入口,通過這個入口,數(shù)據(jù)可直達控制端程序或木馬 程序。
木馬原理
用木馬這種黑客工具進行網(wǎng)絡(luò)入侵,從過程上看大致可分為六步(具體可見下圖),下面我們就按這六步來詳細闡述木馬的攻擊原理。
一.配置木馬
一般來說一個設(shè)計成熟的木馬都有木馬配置程序,從具體的配置內(nèi)容看,主要是為了實現(xiàn)以下兩方 面功能:
(1)木馬偽裝:木馬配置程序為了在服務(wù)端盡可能的好的隱藏木馬,會采用多種偽裝手段,如修改圖標 ,捆綁文件,定制端口,自我銷毀等,我們將在“傳播木馬”這一節(jié)中詳細介紹。
(2)信息反饋:木馬配置程序?qū)⒕托畔⒎答伒姆绞交虻刂愤M行設(shè)置,如設(shè)置信息反饋的郵件地址,IRC號 ,ICO號等等,具體的我們將在“信息反饋”這一節(jié)中詳細介紹。
二.傳播木馬
(1)傳播方式:
木馬的傳播方式主要有兩種:一種是通過E-MAIL,控制端將木馬程序以附件的形式夾在郵件中發(fā)送出 去, 收信人只要打開附件系統(tǒng)就會感染木馬;另一種是軟件下載,一些非正規(guī)的網(wǎng)站以提供軟件下載為 名義, 將木馬捆綁在軟件安裝程序上,下載后,只要一運行這些程序,木馬就會自動安裝。
(2)偽裝方式:
鑒于木馬的危害性,很多人對木馬知識還是有一定了解的,這對木馬的傳播起了一定的抑制作用,這 是木馬設(shè)計者所不愿見到的,因此他們開發(fā)了多種功能來偽裝木馬,以達到降低用戶警覺,欺騙用戶的目 的。
(一)修改圖標
當你在E-MAIL的附件中看到這個圖標時,是否會認為這是個文本文件呢?但是我不得不告 訴你,這也有可能是個木馬程序,現(xiàn)在 已經(jīng)有木馬可以將木馬服務(wù)端程序的圖標改成HTML,TXT, ZIP等各種文件的圖標,這有相當大的迷 惑性,但是目前提供這種功能的木馬還不多見,并且這種 偽裝也不是無懈可擊的,所以不必整天提 心吊膽,疑神疑鬼的。
(二)捆綁文件
這種偽裝手段是將木馬捆綁到一個安裝程序上,當安裝程序運行時,木馬在用戶毫無察覺的 情況下 ,偷偷的進入了系統(tǒng)。至于被捆綁的文件一般是可執(zhí)行文件(即EXE,COM一類的文件)。
(三)出錯顯示
有一定木馬知識的人都知道,如果打開一個文件,沒有任何反應,這很可能就是個木馬程序, 木馬的 設(shè)計者也意識到了這個缺陷,所以已經(jīng)有木馬提供了一個叫做出錯顯示的功能。當服務(wù) 端用戶打開木 馬程序時,會彈出一個如下圖所示的錯誤提示框(這當然是假的),錯誤內(nèi)容可自由 定義,大多會定制成 一些諸如“文件已破壞,無法打開的!”之類的信息,當服務(wù)端用戶信以 為真時,木馬卻悄悄侵入了 系統(tǒng)。
(四)定制端口
很多老式的木馬端口都是固定的,這給判斷是否感染了木馬帶來了方便,只要查一下特定的 端口就 知道感染了什么木馬,所以現(xiàn)在很多新式的木馬都加入了定制端口的功能,控制端用戶可 以在1024---65535之間任選一個端口作為木馬端口(一般不選1024以下的端口),這樣就給判斷 所感染木馬類型帶 來了麻煩。
(五)自我銷毀
這項功能是為了彌補木馬的一個缺陷。我們知道當服務(wù)端用戶打開含有木馬的文件后,木馬 會將自己拷貝到WINDOWS的系統(tǒng)文件夾中(C:WINDOWS或C:WINDOWSSYSTEM目錄下),一般來說 原木馬文件 和系統(tǒng)文件夾中的木馬文件的大小是一樣的(捆綁文件的木馬除外),那么中了木馬 的朋友只要在近來 收到的信件和下載的軟件中找到原木馬文件,然后根據(jù)原木馬的大小去系統(tǒng) 文件夾找相同大小的文件, 判斷一下哪個是木馬就行了。而木馬的自我銷毀功能是指安裝完木 馬后,原木馬文件將自動銷毀,這 樣服務(wù)端用戶就很難找到木馬的來源,在沒有查殺木馬的工 具幫助下,就很難刪除木馬了。
(六)木馬更名
安裝到系統(tǒng)文件夾中的木馬的文件名一般是固定的,那么只要根據(jù)一些查殺木馬的文章,按 圖索驥在系統(tǒng)文件夾查找特定的文件,就可以斷定中了什么木馬。所以現(xiàn)在有很多木馬都允許控 制端用戶自由定制安裝后的木馬文件名,這樣很難判斷所感染的木馬類型了。
三.運行木馬
服務(wù)端用戶運行木馬或捆綁木馬的程序后,木馬就會自動進行安裝。首先將自身拷貝到WINDOWS的 系統(tǒng)文件夾中(C:WINDOWS或C:WINDOWSSYSTEM目錄下),然后在注冊表,啟動組,非啟動組中設(shè)置好木馬 的觸發(fā)條件 ,這樣木馬的安裝就完成了。安裝后就可以啟動木馬了,具體過程見下圖:
(1)由觸發(fā)條件激活木馬
觸發(fā)條件是指啟動木馬的條件,大致出現(xiàn)在下面八個地方:
1.注冊表:打開HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion下的五個以Run 和RunServices主鍵,在其中尋找可能是啟動木馬的鍵值。
2.WIN.INI:C:WINDOWS目錄下有一個配置文件win.ini,用文本方式打開,在[windows]字段中有啟動 命令 load=和run=,在一般情況下是空白的,如果有啟動程序,可能是木馬。 3.SYSTEM.INI:C:WINDOWS目錄下有個配置文件system.ini,用文本方式打開,在[386Enh],[mic], [drivers32]中有命令行,在其中尋找木馬的啟動命令。
4.Autoexec.bat和Config.sys:在C盤根目錄下的這兩個文件也可以啟動木馬。但這種加載方式一般都 需要控制端用戶與服務(wù)端建立連接后,將已添加木馬啟動命令的同名 文件上傳 到服務(wù)端覆蓋這兩個文件才行。
5.*.INI:即應用程序的啟動配置文件,控制端利用這些文件能啟動程序的特點,將制作好的帶有木馬 啟動命令的同名文件上傳到服務(wù)端覆蓋這同名文件,這樣就可以達到啟動木馬的目的了。
6.注冊表:打開HKEY_CLASSES_ROOT文件類型\shellopencommand主鍵,查看其鍵值。舉個例子,國產(chǎn) 木馬“冰河”就是修改HKEY_CLASSES_ROOT xtfileshellopencommand下的鍵值,將“C :WINDOWS NOTEPAD.EXE %1”該為“C:WINDOWSSYSTEMSYXXXPLR.EXE %1”,這時你雙 擊一個TXT文件 后,原本應用NOTEPAD打開文件的,現(xiàn)在卻變成啟動木馬程序了。還要說明 的是不光是TXT文件 ,通過修改HTML,EXE,ZIP等文件的啟動命令的鍵值都可以啟動木馬 ,不同之處只在于“文件類型”這個主鍵的差別,TXT是txtfile,ZIP是WINZIP,大家可以 試著去找一下。
7.捆綁文件:實現(xiàn)這種觸發(fā)條件首先要控制端和服務(wù)端已通過木馬建立連接,然后控制端用戶用工具 軟件將木馬文件和某一應用程序捆綁在一起,然后上傳到服務(wù)端覆蓋原文件,這樣即使 木馬被刪 除了,只要運行捆綁了木馬的應用程序,木馬又會被安裝上去了。
8.啟動菜單:在“開始---程序---啟動”選項下也可能有木馬的觸發(fā)條件。
(2)木馬運行過程
木馬被激活后,進入內(nèi)存,并開啟事先定義的木馬端口,準備與控制端建立連接。這時服務(wù)端用 戶可以在MS-DOS方式下,鍵入NETSTAT -AN查看端口狀態(tài),一般個人電腦在脫機狀態(tài)下是不會有端口 開放的,如果有端口開放,你就要注意是否感染木馬了。下面是電腦感染木馬后,用NETSTAT命令查 看端口的兩個實例:
其中①是服務(wù)端與控制端建立連接時的顯示狀態(tài),②是服務(wù)端與控制端還未建立連接時的顯示狀態(tài)。
在上網(wǎng)過程中要下載軟件,發(fā)送信件,網(wǎng)上聊天等必然打開一些端口,下面是一些常用的端口:
(1)1---1024之間的端口:這些端口叫保留端口,是專給一些對外通訊的程序用的,如FTP使用21, SMTP使用25,POP3使用110等。只有很少木馬會用保留端口作為木馬端口 的。
(2)1025以上的連續(xù)端口:在上網(wǎng)瀏覽網(wǎng)站時,瀏覽器會打開多個連續(xù)的端口下載文字,圖片到本地 硬盤上,這些端口都是1025以上的連續(xù)端口。
(3)4000端口:這是OICQ的通訊端口。
(4)6667端口:這是IRC的通訊端口。 除上述的端口基本可以排除在外,如發(fā)現(xiàn)還有其它端口打開,尤其是數(shù)值比較大的端口,那就要懷疑 是否感染了木馬,當然如果木馬有定制端口的功能,那任何端口都有可能是木馬端口。
四.信息泄露:
一般來說,設(shè)計成熟的木馬都有一個信息反饋機制。所謂信息反饋機制是指木馬成功安裝后會收集 一些服務(wù)端的軟硬件信息,并通過E-MAIL,IRC或ICO的方式告知控制端用戶。下圖是一個典型的信息反 饋郵件。
從這封郵件中我們可以知道服務(wù)端的一些軟硬件信息,包括使用的操作系統(tǒng),系統(tǒng)目錄,硬盤分區(qū)況, 系統(tǒng)口令等,在這些信息中,最重要的是服務(wù)端IP,因為只有得到這個參數(shù),控制端才能與服務(wù)端建立 連接,具體的連接方法我們會在下一節(jié)中講解。
五.建立連接:
這一節(jié)我們講解一下木馬連接是怎樣建立的 。一個木馬連接的建立首先必須滿足兩個條件:一是 服務(wù)端已安裝了木馬程序;二是控制端,服務(wù)端都要在線 。在此基礎(chǔ)上控制端可以通過木馬端口與服 務(wù)端建立連接。為了便于說明我們采用圖示的形式來講解。
如上圖所示A機為控制端,B機為服務(wù)端,對于A機來說要與B機建立連接必須知道B機的木馬端口和IP地 址,由于木馬端口是A機事先設(shè)定的,為已知項,所以最重要的是如何獲得B機的IP地址。獲得B機的IP 地址的方法主要有兩種:信息反饋和IP掃描。對于前一種已在上一節(jié)中已經(jīng)介紹過了,不再贅述,我們 重點來介紹IP掃描,因為B機裝有木馬程序,所以它的木馬端口7626是處于開放狀態(tài)的,所以現(xiàn)在A機只 要掃描IP地址段中7626端口開放的主機就行了,例如圖中B機的IP地址是202.102.47.56,當A機掃描到 這個IP時發(fā)現(xiàn)它的7626端口是開放的,那么這個IP就會被添加到列表中,這時A機就可以通過木馬的控 制端程序向B機發(fā)出連接信號,B機中的木馬程序收到信號后立即作出響應,當A機收到響應的信號后, 開啟一個隨即端口1031與B機的木馬端口7626建立連接,到這時一個木馬連接才算真正建立。值得一提 的要掃描整個IP地址段顯然費時費力,一般來說控制端都是先通過信息反饋獲得服務(wù)端的IP地址,由于 撥號上網(wǎng)的IP是動態(tài)的,即用戶每次上網(wǎng)的IP都是不同的,但是這個IP是在一定范圍內(nèi)變動的,如圖中 B機的IP是202.102.47.56,那么B機上網(wǎng)IP的變動范圍是在202.102.000.000---202.102.255.255,所以 每次控制端只要搜索這個IP地址段就可以找到B機了。
六.遠程控制:
木馬連接建立后,控制端端口和木馬端口之間將會出現(xiàn)一條通道,見下圖
控制端上的控制端程序可藉這條通道與服務(wù)端上的木馬程序取得聯(lián)系,并通過木馬程序?qū)Ψ?wù)端進行遠 程控制。下面我們就介紹一下控制端具體能享有哪些控制權(quán)限,這遠比你想象的要大。
(1)竊取密碼:一切以明文的形式,*形式或緩存在CACHE中的密碼都能被木馬偵測到,此外很多木馬還 提供有擊鍵記錄功能,它將會記錄服務(wù)端每次敲擊鍵盤的動作,所以一旦有木馬入侵, 密碼將很容易被竊取。
(2)文件操作:控制端可藉由遠程控制對服務(wù)端上的文件進行刪除,新建,修改,上傳,下載,運行,更改屬 性等一系列操作,基本涵蓋了WINDOWS平臺上所有的文件操作功能。
(3)修改注冊表:控制端可任意修改服務(wù)端注冊表,包括刪除,新建或修改主鍵,子鍵,鍵值。有了這 項功能控制端就可以禁止服務(wù)端軟驅(qū),光驅(qū)的使用,鎖住服務(wù)端的注冊表,將服務(wù)端 上木馬的觸發(fā)條件設(shè)置得更隱蔽的一系列高級操作。
(4)系統(tǒng)操作:這項內(nèi)容包括重啟或關(guān)閉服務(wù)端操作系統(tǒng),斷開服務(wù)端網(wǎng)絡(luò)連接,控制服務(wù)端的鼠標, 鍵盤,監(jiān)視服務(wù)端桌面操作,查看服務(wù)端進程等,控制端甚至可以隨時給服務(wù)端發(fā)送信 息,想象一下,當服務(wù)端的桌面上突然跳出一段話,不嚇人一跳才怪
木馬和病毒都是一種人為的程序,都屬于電腦病毒,為什么木馬要單獨提出來說內(nèi)?大家都知道以前的電腦病毒的作用,其實完全就是為了搞破壞,破壞電腦里的資料數(shù)據(jù),除了破壞之外其它無非就是有些病毒制造者為了達到某些目的而進行的威懾和敲詐勒索的作用,或為了炫耀自己的技術(shù). "木馬"不一樣,木馬的作用是赤裸裸的偷偷監(jiān)視別人和盜竊別人密碼,數(shù)據(jù)等,如盜竊管理員密碼-子網(wǎng)密碼搞破壞,或者好玩,偷竊上網(wǎng)密碼用于它用,游戲帳號,股票帳號,甚至網(wǎng)上銀行帳戶等.達到偷窺別人隱私和得到經(jīng)濟利益的目的.所以木馬的作用比早期的電腦病毒更加有用.更能夠直接達到使用者的目的!導致許多別有用心的程序開發(fā)者大量的編寫這類帶有偷竊和監(jiān)視別人電腦的侵入性程序,這就是目前網(wǎng)上大量木馬泛濫成災的原因.鑒于木馬的這些巨大危害性和它與早期病毒的作用性質(zhì)不一樣,所以木馬雖然屬于病毒中的一類,但是要單獨的從病毒類型中間剝離出來.獨立的稱之為"木馬"程序.
一般來說一種殺毒軟件程序,它的木馬專殺程序能夠查殺某某木馬的話,那么它自己的普通殺毒程序也當然能夠殺掉這種木馬,因為在木馬泛濫的今天,為木馬單獨設(shè)計一個專門的木馬查殺工具,那是能提高該殺毒軟件的產(chǎn)品檔次的,對其聲譽也大大的有益,實際上一般的普通殺毒軟件里都包含了對木馬的查殺功能.如果現(xiàn)在大家說某某殺毒軟件沒有木馬專殺的程序,那這家殺毒軟件廠商自己也好象有點過意不去,即使它的普通殺毒軟件里當然的有殺除木馬的功能.
還有一點就是,把查殺木馬程序單獨剝離出來,可以提高查殺效率,現(xiàn)在很多殺毒軟件里的木馬專殺程序只對木馬進行查殺,不去檢查普通病毒庫里的病毒代碼,也就是說當用戶運行木馬專殺程序的時候,程序只調(diào)用木馬代碼庫里的數(shù)據(jù),而不調(diào)用病毒代碼庫里的數(shù)據(jù),大大提高木馬查殺速度.我們知道查殺普通病毒的速度是比較慢的,因為現(xiàn)在有太多太多的病毒.每個文件要經(jīng)過幾萬條木馬代碼的檢驗,然后再加上已知的差不多有近10萬個病毒代碼的檢驗,那速度豈不是很慢了.省去普通病毒代碼檢驗,是不是就提高了效率,提高了速度內(nèi)? 也就是說現(xiàn)在好多殺毒軟件自帶的木馬專殺程序只查殺木馬而一般不去查殺病毒,但是它自身的普通病毒查殺程序既查殺病毒又查殺木馬!
二、木馬的來源
計算機木馬的名稱來源于古希臘的特洛伊木馬的故事,希臘人圍攻特洛伊城,很多年不能得手后想出了木馬的計策,他們把士兵藏匿于巨大的木馬中。在敵人將其作為戰(zhàn)利品拖入城內(nèi)后,木馬內(nèi)的士兵爬出來,與城外的部隊里應外合而攻下了特洛伊城。
計算機木馬的設(shè)計者套用了同樣的思路,把木馬程序插入正常的軟件、郵件等宿主中。在受害者執(zhí)行這些軟件的時候,木馬就可以悄悄地進入系統(tǒng),向黑客開放進入計算機的途徑。
如果你的機器有時死機,有時又重新啟動;在沒有執(zhí)行什么操作的時候,卻在拼命讀寫硬盤;系統(tǒng)莫明其妙地對軟驅(qū)進行搜索;沒有運行大的程序,而系統(tǒng)的速度越來越慢,系統(tǒng)資源占用很多;用任務(wù)管理器調(diào)出任務(wù)表,發(fā)現(xiàn)有多個名字相同的程序在運行,而且可能會隨時間的增加而增多,這時你就應該查一查你的系統(tǒng),是不是有木馬在你的計算機里安家落戶了。
木馬的產(chǎn)生與發(fā)展
與病毒一樣,木馬也是從Unix平臺上產(chǎn)生出來,在Windows操作系統(tǒng)上“發(fā)揚光大”的。最早的Unix木馬與現(xiàn)在流行的BO、冰河等有很大的不同,它是運行在服務(wù)器后臺的一個小程序,偽裝成Unix的login登錄過程。那時候計算機還屬于很珍貴的寶物,不是個人能夠買得起的,某個大學、研究機構(gòu)可能會有一臺計算機,大家都從終端上用自己的帳號來登錄連接到它上面。那么我們就可以看一下,用戶向一臺中了木馬的計算機上登錄時會發(fā)生什么事情:用戶登錄的時候,木馬劫持登錄過程,向用戶提供一個與正常登錄界面一樣的輸入窗口,騙用戶輸入。在得到用戶名和口令之后,木馬就會把它存放起來,然后把真正的登錄進程調(diào)出來。這時用戶看到登錄界面第二次出現(xiàn)了,這與通常的密碼錯誤的現(xiàn)象是一樣的,于是用戶再次輸入信息而進入系統(tǒng)。整個過程沒有人發(fā)覺,而密碼已經(jīng)保存在硬盤的某個小角落里了,黑客隔一段時間就可以訪問一下服務(wù)器,看看有多少收獲。
隨著木馬開發(fā)者們孜孜不倦的努力,隨后又出現(xiàn)了ftp型、破壞型、信息發(fā)送型等等的接班人。ftp型打開所在計算機的端口,使他人可以跳過密碼上傳或下載;信息發(fā)送型木馬找到系統(tǒng)中的重要信息如密碼等,用e-mail發(fā)送到指定的信箱中;破壞型可以刪除文件甚至格式化硬盤(真是損人不利已)。不過現(xiàn)在最流行的還是遠程控制型的,我們要在這里詳細介紹。下面咱們掀起她的蓋頭來,分析一下這木馬的行動原理。
遠程控制型木馬的運行原理
這是目前最受廣大黑帽子歡迎的一類木馬。以冰河為例,在一臺中了招的機器上,除了正常的服務(wù)(如FTP等)之外,冰河的服務(wù)器端,就是安裝在受害機器上的木馬,會秘密地開放出一個默認的TCP 7626端口,讓黑客連接實現(xiàn)遠程控制。這與正規(guī)的PC-Anywhere、Terminal Service等商業(yè)遠程管理軟件的效果是一樣的。同樣可以進行遠程桌面的直接控制,冰河服務(wù)器端的大小是260多K,而商業(yè)軟件是一、二十兆。這種黑客軟件做得也真是夠精巧的了。當然這也是木馬成功進入他人系統(tǒng)的必要條件,太大的木馬很容易被別人發(fā)覺。
木馬是怎樣植入計算機的?
木馬首先要偽裝自己。一般有兩種隱藏手段,第一種是把自己偽裝成一般的軟件。我在做安全工程的時候就碰到一個程序員中了木馬,他在論壇上得到一個小程序,拿下來執(zhí)行了一下,但系統(tǒng)報告了內(nèi)部錯誤,程序退出了。他認為是程序沒有開發(fā)好,就沒有在意。誰知有一天自己的QQ密碼怎么也進不去,他才覺得不對了。我們后來檢查那個程序,果然是個木馬偽裝成的,在木馬代碼的前段會完成自我安裝與隱藏的過程,最后顯示一個錯誤信息,騙過用戶。
第二種是把自己綁定在正常的程序上面。老到的黑客可以通過編程把一個正版winzip安裝程序和木馬編譯成一個新的文件,它即可以一邊進行winzip程序的正常安裝,一邊神不知鬼不覺地把木馬種下去。這種木馬有可能被細心的用戶發(fā)覺,因為這個winzip程序在綁定了木馬之后尺寸就會變大。
偽裝之后,木馬就可以通過郵件發(fā)給被攻擊者了,或者是放在網(wǎng)站上供人下載。黑客還會為它們加上一些動人的話語來誘惑別人,象“最新笑笑小電影!”、“cuteFTP4.0完全解密版!??!”(一點不騙人,安裝了這個cuteFTP之后,你的機器就被“完全解密”了)。那些喜歡免費盜版的朋友們也要小心了。(寫到這里突然想起一句名言:這世上沒有比免費更貴的了......)
三、木馬是什么?
什么是木馬?
特洛伊木馬(以下簡稱木馬),英文叫做“Trojan house”,其名稱取自希臘神話的特洛伊木馬記。
它是一種基于遠程控制的黑客工具,具有隱蔽性和非授權(quán)性的特點。
所謂隱蔽性是指木馬的設(shè)計者為了防止木馬被發(fā)現(xiàn),會采用多種手段隱藏木馬,這樣服務(wù)端即使發(fā)現(xiàn)感染了木馬,由于不能確定其具體位置,往往只能望“馬”興嘆。
所謂非授權(quán)性是指一旦控制端與服務(wù)端連接后,控制端將享有服務(wù)端的大部分操作權(quán)限,包括修改文件,修改注冊表,控制鼠標,鍵盤等等,而這些權(quán)力并不是服務(wù)端賦予的,而是通過木馬程序竊取的。
從木馬的發(fā)展來看,基本上可以分為兩個階段。
最初網(wǎng)絡(luò)還處于以UNIX平臺為主的時期,木馬就產(chǎn)生了,當時的木馬程序的功能相對簡單,往往是將一段程序嵌入到系統(tǒng)文件中,用跳轉(zhuǎn)指令來執(zhí)行一些木馬的功能,在這個時期木馬的設(shè)計者和使用者大都是些技術(shù)人員,必須具備相當?shù)木W(wǎng)絡(luò)和編程知識。
而后隨著WINDOWS平臺的日益普及,一些基于圖形操作的木馬程序出現(xiàn)了,用戶界面的改善,使使用者不用懂太多的專業(yè)知識就可以熟練的操作木馬,相對的木馬入侵事件也頻繁出現(xiàn),而且由于這個時期木馬的功能已日趨完善,因此對服務(wù)端的破壞也更大了。
所以所木馬發(fā)展到今天,已經(jīng)無所不用其極,一旦被木馬控制,你的電腦將毫無秘密可言。
參考資料:http://bbs.51ww.com/365000/ShowPost.aspx
回答者:完顏康康 - 探花 十一級 9-18 12:40
--------------------------------------------------------------------------------
DLL 木馬揭秘
相信經(jīng)常玩木馬的朋友們都會知道一些木馬的特性,也會有自己最喜愛的木馬,不過,很多朋友依然不知道近年興起的“DLL木馬”為何物。什么是“DLL木馬”呢?它與一般的木馬有什么不同?
一、從DLL技術(shù)說起
要了解DLL木馬,就必須知道這個“DLL”是什么意思,所以,讓我們追溯到幾年前,DOS系統(tǒng)大行其道的日子里。在那時候,寫程序是一件繁瑣的事情,因為每個程序的代碼都是獨立的,有時候為了實現(xiàn)一個功能,就要為此寫很多代碼,后來隨著編程技術(shù)發(fā)展,程序員們把很多常用的代碼集合(通用代碼)放進一個獨立的文件里,并把這個文件稱為“庫”(Library),在寫程序的時候,把這個庫文件加入編譯器,就能使用這個庫包含的所有功能而不必自己再去寫一大堆代碼,這個技術(shù)被稱為“靜態(tài)鏈接”(Static Link)。靜態(tài)鏈接技術(shù)讓勞累的程序員松了口氣,一切似乎都很美好。可是事實證明,美好的事物不會存在太久,因為靜態(tài)鏈接就像一個粗魯?shù)耐其N員,不管你想不想要宣傳單,他都全部塞到你的手上來。寫一個程序只想用到一個庫文件包含的某個圖形效果,就因為這個,你不得不把這個庫文件攜帶的所有的圖形效果都加入程序,留著它們當花瓶擺設(shè),這倒沒什么重要,可是這些花瓶卻把道路都阻塞了——靜態(tài)鏈接技術(shù)讓最終的程序成了大塊頭,因為編譯器把整個庫文件也算進去了。
時代在發(fā)展,靜態(tài)鏈接技術(shù)由于天生的弊端,不能滿足程序員的愿望,人們開始尋找一種更好的方法來解決代碼重復的難題。后來,Windows系統(tǒng)出現(xiàn)了,時代的分水嶺終于出現(xiàn)。Windows系統(tǒng)使用一種新的鏈接技術(shù),這種被稱為“動態(tài)鏈接”(Dynamic Link)的新技術(shù)同樣也是使用庫文件,微軟稱它們?yōu)椤皠討B(tài)鏈接庫”——Dynamic Link Library,DLL的名字就是這樣來的。動態(tài)鏈接本身和靜態(tài)鏈接沒什么區(qū)別,也是把通用代碼寫進一些獨立文件里,但是在編譯方面,微軟繞了個圈子,并沒有采取把庫文件加進程序的方法,而是把庫文件做成已經(jīng)編譯好的程序文件,給它們開個交換數(shù)據(jù)的接口,程序員寫程序的時候,一旦要使用某個庫文件的一個功能函數(shù),系統(tǒng)就把這個庫文件調(diào)入內(nèi)存,連接上這個程序占有的任務(wù)進程,然后執(zhí)行程序要用的功能函數(shù),并把結(jié)果返回給程序顯示出來,在我們看來,就像是程序自己帶有的功能一樣。完成需要的功能后,這個DLL停止運行,整個調(diào)用過程結(jié)束。微軟讓這些庫文件能被多個程序調(diào)用,實現(xiàn)了比較完美的共享,程序員無論要寫什么程序,只要在代碼里加入對相關(guān)DLL的調(diào)用聲明就能使用它的全部功能。最重要的是,DLL絕對不會讓你多拿一個花瓶,你要什么它就給你什么,你不要的東西它才不會給你。這樣,寫出來的程序就不能再攜帶一大堆垃圾了——絕對不會讓你把吃剩的東西帶回家,否則罰款,這是自助餐。
DLL技術(shù)的誕生,使編寫程序變成一件簡單的事情,Windows為我們提供了幾千個函數(shù)接口,足以滿足大多數(shù)程序員的需要。而且,Windows系統(tǒng)自身就是由幾千個DLL文件組成,這些DLL相互扶持,組成了強大的Windows系統(tǒng)。如果Windows使用靜態(tài)鏈接技術(shù),它的體積會有多大?我不敢想。
二、應用程序接口API
上面我們對DLL技術(shù)做了個大概分析,在里面我提到了“接口”,這又是什么呢?因為DLL不能像靜態(tài)庫文件那樣塞進程序里,所以,如何讓程序知道實現(xiàn)功能的代碼和文件成了問題,微軟就為DLL技術(shù)做了標準規(guī)范,讓一個DLL文件像奶酪一樣開了許多小洞,每個洞口都注明里面存放的功能的名字,程序只要根據(jù)標準規(guī)范找到相關(guān)洞口就可以取得它要的美味了,這個洞口就是“應用程序接口”(Application Programming Interface),每個DLL帶的接口都不相同,盡最大可能的減少了代碼的重復。用Steven的一句話:API就是一個工具箱,你根據(jù)需要取出螺絲刀、扳手,用完后再把它們放回原處。在Windows里,最基本的3個DLL文件是kernel32.dll、user32.dll、gdi32.dll。它們共同構(gòu)成了基本的系統(tǒng)框架。
三、DLL與木馬
DLL是編譯好的代碼,與一般程序沒什么大差別,只是它不能獨立運行,需要程序調(diào)用。那么,DLL與木馬能扯上什么關(guān)系呢?如果你學過編程并且寫過DLL,就會發(fā)現(xiàn),其實DLL的代碼和其他程序幾乎沒什么兩樣,僅僅是接口和啟動模式不同,只要改動一下代碼入口,DLL就變成一個獨立的程序了。當然,DLL文件是沒有程序邏輯的,這里并不是說DLL=EXE,不過,依然可以把DLL看做缺少了main入口的EXE,DLL帶的各個功能函數(shù)可以看作一個程序的幾個函數(shù)模塊。DLL木馬就是把一個實現(xiàn)了木馬功能的代碼,加上一些特殊代碼寫成DLL文件,導出相關(guān)的API,在別人看來,這只是一個普通的DLL,但是這個DLL卻攜帶了完整的木馬功能,這就是DLL木馬的概念。也許有人會問,既然同樣的代碼就可以實現(xiàn)木馬功能,那么直接做程序就可以,為什么還要多此一舉寫成DLL呢?這是為了隱藏,因為DLL運行時是直接掛在調(diào)用它的程序的進程里的,并不會另外產(chǎn)生進程,所以相對于傳統(tǒng)EXE木馬來說,它很難被查到。
四、DLL的運行
雖然DLL不能自己運行,可是Windows在加載DLL的時候,需要一個入口函數(shù),就如同EXE的main一樣,否則系統(tǒng)無法引用DLL。所以根據(jù)編寫規(guī)范,Windows必須查找并執(zhí)行DLL里的一個函數(shù)DllMain作為加載DLL的依據(jù),這個函數(shù)不作為API導出,而是內(nèi)部函數(shù)。DllMain函數(shù)使DLL得以保留在內(nèi)存里,有的DLL里面沒有DllMain函數(shù),可是依然能使用,這是因為Windows在找不到DllMain的時候,會從其它運行庫中找一個不做任何操作的缺省DllMain函數(shù)啟動這個DLL使它能被載入,并不是說DLL可以放棄DllMain函數(shù)。
五、DLL木馬技術(shù)分析
到了這里,您也許會想,既然DLL木馬有那么多好處,以后寫木馬都采用DLL方式不就好了嗎?話雖然是這么說沒錯,但是DLL木馬并不是一些人想象的那么容易寫的。要寫一個能用的DLL木馬,你需要了解更多知識。
1.木馬的主體
千萬別把木馬模塊寫得真的像個API庫一樣,這不是開發(fā)WINAPI。DLL木馬可以導出幾個輔助函數(shù),但是必須有一個過程負責主要執(zhí)行代碼,否則這個DLL只能是一堆零碎API函數(shù),別提工作了。
如果涉及一些通用代碼,可以在DLL里寫一些內(nèi)部函數(shù),供自己的代碼使用,而不是把所有代碼都開放成接口,這樣它自己本身都難調(diào)用了,更不可能發(fā)揮作用。
DLL木馬的標準執(zhí)行入口為DllMain,所以必須在DllMain里寫好DLL木馬運行的代碼,或者指向DLL木馬的執(zhí)行模塊。
2.動態(tài)嵌入技術(shù)
Windows中,每個進程都有自己的私有內(nèi)存空間,別的進程是不允許對這個私人領(lǐng)地進行操作的,但是,實際上我們?nèi)匀豢梢岳梅N種方法進入并操作進程的私有內(nèi)存,這就是動態(tài)嵌入,它是將自己的代碼嵌入正在運行的進程中的技術(shù)。動態(tài)嵌入有很多種,最常見的是鉤子、API以及遠程線程技術(shù),現(xiàn)在的大多數(shù)DLL木馬都采用遠程線程技術(shù)把自己掛在一個正常系統(tǒng)進程中。其實動態(tài)嵌入并不少見,羅技的MouseWare驅(qū)動就掛著每一個系統(tǒng)進程-_-
遠程線程技術(shù)就是通過在另一個進程中創(chuàng)建遠程線程(RemoteThread)的方法進入那個進程的內(nèi)存地址空間。在DLL木馬的范疇里,這個技術(shù)也叫做“注入”,當載體在那個被注入的進程里創(chuàng)建了遠程線程并命令它加載DLL時,木馬就掛上去執(zhí)行了,沒有新進程產(chǎn)生,要想讓木馬停止惟有讓掛接這個木馬DLL的進程退出運行。但是,很多時候我們只能束手無策——它和Explorer.exe掛在一起了,你確定要關(guān)閉Windows嗎?
3.木馬的啟動
有人也許會迫不及待的說,直接把這個DLL加入系統(tǒng)啟動項目不就可以了。答案是NO,前面說過,DLL不能獨立運行,所以無法在啟動項目里直接啟動它。要想讓木馬跑起來,就需要一個EXE使用動態(tài)嵌入技術(shù)讓DLL搭上其他正常進程的車,讓被嵌入的進程調(diào)用這個DLL的DllMain函數(shù),激發(fā)木馬運行,最后啟動木馬的EXE結(jié)束運行,木馬啟動完畢。
啟動DLL木馬的EXE是個重要角色,它被稱為Loader,如果沒有Loader,DLL木馬就是破爛一堆,因此,一個算得上成熟的DLL木馬會想辦法保護它的Loader不會那么容易被毀滅。記得狼狽為奸的故事嗎?DLL木馬就是爬在狼Loader上的狽。
Loader可以是多種多樣的,Windows的rundll32.exe也被一些DLL木馬用來做了Loader,這種木馬一般不帶動態(tài)嵌入技術(shù),它直接掛著rundll32進程運行,用rundll32的方法(rundll32.exe [DLL名],[函數(shù)] [參數(shù)])像調(diào)用API一樣去引用這個DLL的啟動函數(shù)激發(fā)木馬模塊開始執(zhí)行,即使你殺了rundll32,木馬本體還是在的,一個最常見的例子就是3721中文實名,雖然它不是木馬。
注冊表的AppInit_DLLs鍵也被一些木馬用來啟動自己,如求職信病毒。利用注冊表啟動,就是讓系統(tǒng)執(zhí)行DllMain來達到啟動木馬的目的。因為它是kernel調(diào)入的,對這個DLL的穩(wěn)定性有很大要求,稍有錯誤就會導致系統(tǒng)崩潰,所以很少看到這種木馬。
有一些更復雜點的DLL木馬通過svchost.exe啟動,這種DLL木馬必須寫成NT-Service,入口函數(shù)是ServiceMain,一般很少見,但是這種木馬的隱蔽性也不錯,而且Loader有保障。
4.其它
到這里大家也應該對DLL木馬有個了解了,是不是很想寫一個?別急,不知道大家想過沒有,既然DLL木馬這么好,為什么到現(xiàn)在能找到的DLL木馬寥寥無幾?現(xiàn)在讓我來潑冷水,最重要的原因只有一個:由于DLL木馬掛著系統(tǒng)進程運行,如果它本身寫得不好,例如沒有防止運行錯誤的代碼或者沒有嚴格規(guī)范用戶的輸入,DLL就會出錯崩潰。別緊張,一般的EXE也是這樣完蛋的,但是DLL崩潰會導致它掛著的程序跟著遭殃,別忘記它掛接的是系統(tǒng)進程哦,結(jié)局就是……慘不忍睹。所以寫一個能公布的DLL木馬,在排錯檢查方面做的工作要比一般的EXE木馬多,寫得多了自己都煩躁……
六、DLL木馬的發(fā)現(xiàn)和查殺
經(jīng)??纯磫禹椨袥]有多出莫名其妙的項目,這是Loader的所在,只要殺了狼,狽就不能再狂了。而DLL木馬本體比較難發(fā)現(xiàn),需要你有一定編程知識和分析能力,在Loader里查找DLL名稱,或者從進程里看多掛接了什么陌生的DLL,可是對新手來說……總之就是比較難啊比較難,所以,最簡單的方法:殺毒軟件和防火墻(不是萬能藥,切忌長期服用)。
四、木馬是什么東西
什么是特洛伊木馬
特洛伊木馬(以下簡稱木馬),英文叫做“Trojan horse”,其名稱取自希臘神話的特洛伊木馬記。
古希臘傳說,特洛伊王子帕里斯訪問希臘,誘走了王后海倫,希臘人因此遠征特洛伊。圍攻9年后,到第10年,希臘將領(lǐng)奧德修斯獻了一計,就是把一批勇士埋伏在一匹巨大的木馬腹內(nèi),放在城外后,佯作退兵。特洛伊人以為敵兵已退,就把木馬作為戰(zhàn)利品搬入城中。到了夜間,埋伏在木馬中的勇士跳出來,打開了城門,希臘將士一擁而入攻下了城池。后來,人們在寫文章時就常用“特洛伊木馬”這一典故,用來比喻在敵方營壘里埋下伏兵里應外合的活動盜密報卡解綁過程:
登陸的時候通過木馬盜取玩家的密碼,并且用盜取的密碼進入密碼保護卡解除綁定的網(wǎng)頁頁面,在通過木馬把玩家登陸時候的三個密碼保護卡數(shù)換成密碼保護卡解綁需要的三個數(shù),1次就能騙到密碼保護卡解除綁定需要的三個數(shù)了,再解除綁定,玩家的帳號就跟沒密碼保護卡一樣.電話密碼保護也一樣,玩家打了電話,然后登陸的時候通過木馬讓玩家不能連接服務(wù)器并盜取玩家的密碼,然后盜取賬號者就2分內(nèi)可以上去了盜取玩家財產(chǎn)。
更好的反擊盜取賬號者措施
1.設(shè)置角色密碼(可結(jié)合密碼保護卡),
2.設(shè)置背包密碼,背包分二部分(G也分2部份,1大額,1小額),一部分需要密碼(可以放重要的財產(chǎn)),一部分不要密碼(放置常用物品),可結(jié)合密??ā?/p>
3,裝備欄設(shè)置密碼保護卡,上線后需要輸入密??ń獬b備欄的密報卡數(shù),才能使用技能 ,如果不解除綁定,不能使用技能并且無法交易。
4,倉庫通過密碼打開后,與背包相同。
5,設(shè)置退出密碼,輸入退出密碼正常才能下線,非正常下線5分內(nèi)補能登陸。
6 設(shè)置下次登陸地點,玩家下線時可以選者下次登陸的IP段(以市為單位,不在IP段里面的IP,不能登陸 )
6 計算機綁定,對于有計算機的玩家可以綁定CPU編號,這點某些殺毒軟件有這個技術(shù),你們估計也有這技術(shù)。
7,上述六點可結(jié)合密碼保護卡,并且可以設(shè)置多張密碼保護卡,登陸界面一張密碼保護卡,角色界面一張密碼保護卡,背包一張密碼保護卡,倉庫一張密碼保護卡,退出登錄一張密碼保護卡。補充:密??呻S自己意愿綁定,但是追號大于等于2,背包,倉庫等可以用同1張密保卡(最好不和登陸用同1張),關(guān)于手機密保可改為,登陸時不需打手機,登陸后所有物品全部無法交易出售,無法發(fā)言,在登陸后打手機才可解除,可防止手機密保在登陸界面被木馬利用
8,加強游戲本身防木馬能力??梢院蜌⒍拒浖竞献髟O(shè)置一款專門用于魔獸的殺毒軟件
9,加入網(wǎng)吧IP段保護
10,這需要網(wǎng)游公司對現(xiàn)有密碼系統(tǒng)升級
在計算機領(lǐng)域中,它是一種基于遠程控制的黑客工具,具有隱蔽性和非授權(quán)性的特點。
所謂隱蔽性是指木馬的設(shè)計者為了防止木馬被發(fā)現(xiàn),會采用多種手段隱藏木馬,這樣服務(wù)端即使發(fā)現(xiàn)感染了木馬,由于不能確定其具體位置,往往只能望“馬”興嘆。
所謂非授權(quán)性是指一旦控制端與服務(wù)端連接后,控制端將享有服務(wù)端的大部分操作權(quán)限,包括修改文件,修改注冊表,控制鼠標,鍵盤等等,而這些權(quán)力并不是服務(wù)端賦予的,而是通過木馬程序竊取的。
從木馬的發(fā)展來看,基本上可以分為兩個階段。
最初網(wǎng)絡(luò)還處于以UNIX平臺為主的時期,木馬就產(chǎn)生了,當時的木馬程序的功能相對簡單,往往是將一段程序嵌入到系統(tǒng)文件中,用跳轉(zhuǎn)指令來執(zhí)行一些木馬的功能,在這個時期木馬的設(shè)計者和使用者大都是些技術(shù)人員,必須具備相當?shù)木W(wǎng)絡(luò)和編程知識。
而后隨著WINDOWS平臺的日益普及,一些基于圖形操作的木馬程序出現(xiàn)了,用戶界面的改善,使使用者不用懂太多的專業(yè)知識就可以熟練的操作木馬,相對的木馬入侵事件也頻繁出現(xiàn),而且由于這個時期木馬的功能已日趨完善,因此對服務(wù)端的破壞也更大了。
所以所木馬發(fā)展到今天,已經(jīng)無所不用其極,一旦被木馬控制,你的電腦將毫無秘密可言。
以上就是小編對于木馬的設(shè)計者是誰問題和相關(guān)問題的解答了,木馬的設(shè)計者是誰的問題希望對你有用!
推薦閱讀:
上海木馬設(shè)計公司怎么樣(上海木馬設(shè)計公司怎么樣知乎)
自己建一個賣東西的網(wǎng)站(自己建一個賣東西的網(wǎng)站違法嗎)