後門木馬

後門木馬

後門木馬又稱特洛伊木馬,英文叫做“Trojan horse”,它是一種基於遠程控制的黑客工具。分為兩大部分,即客戶端和服務端。

後門木馬


特洛伊木馬(以下簡稱木馬),英文叫做“Trojan horse”,其名稱取自希臘神話的特洛伊木馬記,它是一種基於遠程控制的黑客工具。在黑客進行的各種攻擊行為中,木馬都起到了開路先鋒的作用。
特洛伊木馬屬於客戶/服務模式。它分為兩大部分,即客戶端和服務端。其原理是一台主機提供服務(伺服器),另一台主機接受服務(客戶機),作為伺服器的主機一般會打開一個默認的埠進行監聽。如果有客戶機向伺服器的這一埠提出連接請求,伺服器上的相應程序就會自動運行,來應答客戶機的請求。這個程序被稱為守護進程。以大名鼎鼎的木馬冰河為例,被控制端可視為一台伺服器,控制端則是一台客戶機,服務端程序G_Server.exe是守護進程,G_Client.exe是客戶端應用程序。

後門木馬隱藏方法


為進一步了解木馬,我們來看看它們的隱藏方式,木馬隱藏方法主要有以下幾種:
1.在任務欄里隱藏
這是最基本的。如果在windows的任務欄里出現一個莫名其妙的圖標,傻子都會明白怎麼回事。在VB中,只要把form的Viseble屬性設置為False,ShowInTaskBar設為False程序就不會出現在任務欄里了。
2.在任務管理器里隱藏
查看正在運行的進程最簡單的方法就是按下ctrl+alt+del時出現的任務管理器。如果你按下ctrl+alt+del后可以看見一個木馬程序在運行,那麼這肯定不是什麼好的木馬。所以,木馬千方百計的偽裝自己,使自己不出現在任務管理器里。木馬發現把自己設為“系統服務”就可以輕鬆的騙過去。因此希望通過按ctrl+alt+del發現木馬是不大現實的。
3.埠
一台機器由65536個埠,你會注意這麼多埠么?而木馬就很注意你的埠。如果你稍微留意一下,不難發現,大多數木馬使用的埠在1024以上,而且呈越來越大的趨勢。當然也有佔用1024以下埠的木馬。但這些埠是常用埠,佔用這些埠可能會造成系統不正常。這樣的話,木馬就會很容易暴露。也許你知道一些木馬佔用的埠,你或許會經常掃描這些埠,但現在的木馬都提供埠修改功能,你有時間掃描65536個埠么?
4.木馬的載入方式隱蔽
木馬載入的方式可以說千奇百怪,無奇不有。但殊途同歸,都為了達到一個共同的目的,那就是使你運行木馬的服務端程序。如果木馬不加任何偽裝。就告訴你這是木馬,你會運行它才怪呢。而隨著網站互動化進程的不斷進步,越來越多的東西可以成為木馬的傳播介質,JavaScript、VBScript、ActiveX、XLM……..幾乎www每一個新功能都會導致木馬的快速進化。
5.木馬的命名
木馬服務端程序的命名也有很大的學問。如果你不做任何修改的話,就使用原來的名字。誰不知道這是個木馬程序呢?所以木馬的命名也是千奇百怪。不過大多是改為和系統文件名差不多的名字,如果你對系統文件不夠了解,那可就危險了。例如有的木馬把名字改為window.exe,如果不告訴你這是木馬的話,你敢刪除么?還有的就是更改一些後綴名,比如把dll改為dl等,你不仔細看的話,你會發現么?
6.最新隱身技術
目前,除了以上所常用的隱身技術,又出現了一種更新、更隱蔽的方法。那就是修改虛擬設備驅動程序(vxd)或修改動態連接庫(DLL)。這種方法與一般方法不同,它基本上擺脫了原有的木馬模式—監聽埠,而採用替代系統功能的方法(改寫vxd或DLL文件),木馬會將修改後的DLL替換系統已知的DLL,並對所有的函數調用進行過濾。對於常用的調用,使用函數轉發器直接轉發給被替換的系統DLL,對於一些事先約定好的特種情況,DLL會執行一些相應的操作。實際上這樣的木馬多只是使用DLL進行監聽,一旦發現控制端的連接請求就激活自身,綁在一個進程上進行正常的木馬操作。這樣做的好處是沒有增加新的文件,不需要打開新的埠,沒有新的進程,使用常規的方法監測不到它,在正常運行時木馬幾乎沒有任何癥狀,而一旦木馬的控制端向被控制端發出特定的信息后,隱藏的程序就立即開始運作。