木馬定制

介紹木馬攻擊計算機的基本原理,包括了其主要的組成部分、攻擊步驟。攻擊步驟則包括配置、傳播以及最後的運行攻擊。


在介紹木馬的原理之前有一些木馬構成的基礎知識我們要事先加以說明,因為下面有很多地方會提到這些內容。

一個完整的木馬系統由硬件部分、軟件部分和具體連接部分組成。

1.硬件部分

建立木馬連接所必須的硬件實體。

控制端:對服務端進行遠程控制的一方。

服務端:被控制端遠程控制的一方。

INTERNET:控制端對服務端進行遠程控制,數據傳輸的網絡載體。

2.軟件部分

實現遠程控制所必須的軟件程序。

控制端程序:控制端用以遠程控制服務端的程序。

木馬程序:潛入服務端內部,獲取其操作權限的程序。

木馬配置程序:設置木馬程序的端口號,觸發條件,木馬名稱等,使其在服務端藏得更隱蔽的程序。

3.具體連接部分

通過INTERNET在服務端和控制端之間建立一條木馬通道所必須的元素。

控制端IP,服務端IP:即控制端,服務端的網絡地址,也是木馬進行數據傳輸的目的地。

控制端端口,木馬端口:即控制端,服務端的數據入口,通過這個入口,數據可直達控制端程序或木馬程序。

用木馬這種黑客工具進行網絡入侵,從過程上看大致可分為三步,下面我們就按這六步來詳細闡述木馬的攻擊原理。

1. 配置木馬

一般來說一個設計成熟的木馬都有木馬配置程序,從具體的配置內容看,主要是為了實現以下兩方面功能:

(1)木馬偽裝:木馬配置程序為了在服務端盡可能好的隱藏木馬,會采用多種偽裝手段,如修改圖標、捆綁文件、定制端口、自我銷毀等等。

(2)信息反饋:木馬配置程序將就信息反饋的方式或地址進行設置,如設置信息反饋的郵件地址、IRC號、ICQ號等。

2. 傳播木馬

(1)傳播方式

木馬的傳播方式主要有兩種:一種是通過E-MAIL,控制端將木馬程序以附件的形式夾在郵件中發送出去,收信人只要打開附件系統就會感染木馬;另一種是軟件下載,一些非正規的網站以提供軟件下載為名義,將木馬捆綁在軟件安裝程序上,下載後,只要一運行這些程序,木馬就會自動安裝。

(2)偽裝方式

鑒於木馬的危害性,很多人對木馬知識還是有一定了解的,這對木馬的傳播起了一定的抑制作用,這是木馬設計者所不願見到的。因此他們開發了多種功能來偽裝木馬,以達到降低用戶警覺,欺騙用戶的目的。一般來說有以下幾種:

◆修改圖標

也許你會在E-MAIL的附件中看到一個很平常的文本圖標,但是我不得不告訴你,這也有可能是個木馬程序,已經有木馬可以將木馬服務端程序的圖標改成HTML、TXT、ZIP等各種文件的圖標,這有相當大的迷惑性,但是提供這種功能的木馬還不多見,並且這種偽裝也不是無懈可擊的,所以不必整天提心吊膽、疑神疑鬼的。

◆捆綁文件

這種偽裝手段是將木馬捆綁到一個安裝程序上,當安裝程序運行時,木馬在用戶毫無察覺的情況下,偷偷的進入了系統。至於被捆綁的文件一般是可執行文件,即EXE、COM一類的文件。

◆出錯顯示

有一定木馬知識的人都知道,如果打開一個文件,沒有任何反應,這很可能就是個木馬程序,木馬的設計者也意識到了這個缺陷,所以已經有木馬提供了一個叫做出錯顯示的功能。當服務端用戶打開木馬程序時,會彈出一個錯誤提示框——這當然是假的,錯誤內容可自由定義,大多會定制成一些諸如“文件已破壞,無法打開的!”之類的信息,當服務端用戶信以為真時,木馬卻悄悄侵入了系統。

◆定制端口

很多老式的木馬端口都是固定的,這給判斷是否感染了木馬帶來了方便,只要查一下特定的端口就知道感染了什麽木馬,所以很多新式的木馬都加入了定制端口的功能,控制端用戶可以在1024——65535之間任選一個端口作為木馬端口。一般不選1024以下的端口,這樣就給判斷所感染木馬類型帶來了麻煩。

◆自我銷毀

這項功能是為了彌補木馬的一個缺陷。我們知道當服務端用戶打開含有木馬的文件後,木馬會將自己拷貝到WINDOWS的系統文件的C:\WINDOWS或C:\WINDOWS\SYSTEM目錄下,一般來說原木馬文件和系統文件夾中的木馬文件的大小是一樣的,捆綁文件的木馬除外。那麽中了木馬的朋友只要在近來收到的信件和下載的軟件中找到原木馬文件,然後根據原木馬的大小去系統文件夾找相同大小的文件, 判斷一下哪個是木馬就行了。而木馬的自我銷毀功能是指安裝完木馬後,原木馬文件將自動銷毀,這樣服務端用戶就很難找到木馬的來源,在沒有查殺木馬的工具幫助下,就很難刪除木馬了。

◆木馬更名

安裝到系統文件夾中的木馬的文件名一般是固定的,那麽只要根據一些查殺木馬的文章,按圖索驥在系統文件夾查找特定的文件,就可以斷定中了什麽木馬。所以有很多木馬都允許控 制端用戶自由定制安裝後的木馬文件名,這樣很難判斷所感染的木馬類型了。

服務端用戶運行木馬或捆綁木馬的程序後,木馬就會自動進行安裝。首先將自身拷貝到WINDOWS的系統文件夾中C:\WINDOWS或C:\WINDOWS\SYSTEM目錄下。然後在註冊表、啟動組、非啟動組中設置好木馬的觸發條件,這樣木馬的安裝就完成了。安裝後就可以啟動木馬了。

由觸發條件激活木馬

觸發條件是指啟動木馬的條件,大致出下面八個地方:

◆註冊表

打開HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\下的五個以Run和RunServices主鍵,在其中尋找可能是啟動木馬的鍵值。

◆WIN.INI

C:\WINDOWS目錄下有一個配置文件win.ini,用文本方式打開,在windows字段中有啟動命令load=和run=,在一般情況下是空白的,如果有啟動程序,可能是木馬。

◆SYSTEM.INI

C:\WINDOWS目錄下有個配置文件system.ini,用文本方式打開,在386Enh、mic、drivers32中有命令行,在其中尋找木馬的啟動命令。

◆Autoexec.bat和Config.sys

在C盤根目錄下的這兩個文件也可以啟動木馬。但這種加載方式一般都需要控制端用戶與服務端建立連接後,將已添加木馬啟動命令的同名文件上傳到服務端覆蓋這兩個文件才行。

◆*.INI

即應用程序的啟動配置文件,控制端利用這些文件能啟動程序的特點,將制作好的帶有木馬啟動命令的同名文件上傳到服務端覆蓋這同名文件,這樣就可以達到啟動木馬的目的了。

◆註冊表

打開HKEY_CLASSES_ROOT\文件類型\shell\open\command主鍵,查看其鍵值。舉個例子,國產木馬“冰河”就是修改HKEY_CLASSES_ROOT\txtfile\shell\open\command下的鍵值,將“C:\WINDOWS \notepad.exe %1”改為“C:\WINDOWS\SYSTEM\SYSEXPLR.exe %1”,這時你雙擊一個TXT文件後,原本應用NOTEPAD打開文件的,卻變成啟動木馬程序了。還要說明的是不光是TXT文件,通過修改HTML、EXE、ZIP等文件的啟動命令的鍵值都可以啟動木馬,不同之處只在於“文件類型”這個主鍵的差別,TXT是txtfile,ZIP是WINZIP,大家可以試著去找一下。

◆捆綁文件

實現這種觸發條件首先要控制端和服務端通過木馬建立連接,然後控制端用戶用工具軟件將木馬文件和某一應用程序捆綁在一起,然後上傳到服務端覆蓋原文件,這樣即使木馬被刪除了,只要運行捆綁了木馬的應用程序,木馬又會被安裝上去了。

◆啟動菜單

在“開始—程序—啟動”選項下也可能有木馬的觸發條件。