史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   Hacker/Cracker 及加解密技術文件 (http://forum.slime.com.tw/f132.html)
-   -   特洛伊木馬程式原理 (http://forum.slime.com.tw/thread2049.html)

mancool 2002-12-15 01:11 PM

特洛伊木馬程式原理
 
1. 特洛伊木馬程式原理
一、 引言
  特洛伊木馬是 Trojan Horse 的中譯,是借自"木馬屠城記"中那只木馬的名稱。古希臘有大軍圍攻特洛伊城,逾年無法攻下。 有人獻計製造一隻高二丈的大木馬假裝作戰馬神,攻擊數天後仍然無功,遂留下木馬拔營而去。城中得到解圍的消息,及得到"木馬"這個奇異的戰利品,全城飲酒狂歡。 到午夜時份,全城軍民盡入夢鄉,匿於木馬中的將士開暗門垂繩而下,開啟城門及四處縱火,城外伏兵湧入,焚屠特洛伊城。後世稱這只木馬為"特洛伊木馬",現今電腦術語借用其名,意思是"一經進入,後患無窮"。 特洛伊木馬原則上它和Laplink 、 PCanywhere 等程式一樣,只是一種遠端管理工具。 而且本身不帶傷害性,也沒有感染力,所以不能稱之為病毒(也有人稱之為第二代病毒);但卻常常被視之為病毒。原因是如果有人不當的使用,破壞力可以比病毒更強。

二、木馬攻擊原理
  特洛伊木馬是一個程式,它駐留在目標電腦裡,可以隨電腦自動啟動並在某一連接進行偵聽,在對接收的資料識別後,對目標電腦執行特定的****作。 木馬,其實只是一個使用連接進行通訊的網路客戶/伺服器程式。
基本概念:網路客戶/伺服器模式的原理是一台主機提供伺服器(伺服端),另一台主機接受伺服器(客戶端)。 作為伺服端的主機一般會開啟一個預設的連接埠並進行監聽(Listen),如果有客戶端向伺服端的這一連接埠提出連接請求(Connect Request),伺服端上的相對應程式就會自動執行,來回覆客戶端的請求。對於特洛伊木馬,被控制端就成為一台伺服器。

三、特洛伊木馬隱身方法
  木馬程式會想盡一切辦法隱藏自己,主要途徑有:在工作程序中隱形:將程式設為「系統伺服器」可以偽裝自己。 當然它也會悄無聲息地啟動,木馬會在每次使用者啟動時自動載入伺服器端,Windows系統啟動時自動載入應用程式的方法,「木馬」都會用上,如:win.ini、system.ini、註冊表等等都是「木馬」藏身的好地方。
  在win.ini檔案中,在[WINDOWS]下面,「run=」和「load=」是可能載入「木馬」程式的途徑,一般情況下,它們的等號後面什麼都沒有,如果發現後面跟有路徑與檔案名稱不是您熟悉的啟動檔案,電腦就可能中「木馬」了。當然也得看清楚,因為好多「木馬」,如「AOL Trojan木馬」,它把自身偽裝成command.exe檔案,如果不注意可能不會發現它不是真正的系統啟動檔案。
 MLaplink 、 PCanywhere 等程式一樣,只是一種遠端管理工具。 而且本身不帶傷害性,也沒有感染力,所以不能稱之為病毒(也有人稱之為第二代病毒);但卻常常被視之為病毒。原因是如果有人不當的使用,破壞力可以比病毒更強。

二、木馬攻擊原理
  特洛伊木馬是一個程式,它駐留在目標電腦裡,可以隨電腦自動啟動並在某一連接進行偵聽,在對接收的資料識別後,對目標電腦執行特定的****作。 木馬,其實只是一個使用連接進行通訊的網路客戶/伺服器程式。
基本概念:網路客戶/伺服器模式的原理是一台主機提供伺服器(伺服端),另一台主機接受伺服器(客戶端)。 作為伺服端的主機一般會開啟一個預設的連接埠並進行監聽(Listen),如果有客戶端向伺服端的這一連接埠提出連接請求(Connect Request),伺服端上的相對應程式就會自動執行,來回覆客戶端的請求。對於特洛伊木馬,被控制端就成為一台伺服器。

三、特洛伊木馬隱身方法
  木馬程式會想盡一切辦法隱藏自己,主要途徑有:在工作程序中隱形:將程式設為「系統伺服器」可以偽裝自己。 當然它也會悄無聲息地啟動,木馬會在每次使用者啟動時自動載入伺服器端,Windows系統啟動時自動載入應用程式的方法,「木馬」都會用上,如:win.ini、system.ini、註冊表等等都是「木馬」藏身的好地方。
  在win.ini檔案中,在[WINDOWS]下面,「run=」和「load=」是可能載入「木馬」程式的途徑,一般情況下,它們的等號後面什麼都沒有,如果發現後面跟有路徑與檔案名稱不是您熟悉的啟動檔案,電腦就可能中「木馬」了。當然也得看清楚,因為好多「木馬」,如「AOL Trojan木馬」,它把自身偽裝成command.exe檔案,如果不注意可能不會發現它不是真正的系統啟動檔案。
  在system.ini檔案中,在[BOOT]下面有個「shell=檔案名稱」。正確的檔案名稱應該是「explorer.exe」,如果不是「explorer.exe」,而是「shell= explorer.exe 程式名」,那麼後面跟著的那個程式就是「木馬」程式,就是說已經中「木馬」了。
  在註冊表中的情況最複雜,使用regedit指令開啟註冊表編輯器,在點擊至:「HKEY-LOCAL-MACHINE \Software \Microsoft \Windows \Current Version \Run」目錄下,檢視鍵值中有沒有自己不熟悉的自動啟動檔案,副檔名為EXE,這裡切記:有的「木馬」程式產生的檔案很像系統自身檔案,想使用偽裝矇混過關,如「Acid Battery v1.0木馬」,它將註冊表「HKEY-LOCAL-MACHINE \SOFTWARE \Microsoft\Windows\CurrentVersion\Run」下的 Explorer 鍵值改為Explorer =「C:\WINDOWS\expiorer.exe」,「木馬」程式與真正的Explorer之間只有「i」與「l」的差別。當然在註冊表中還有很多地方都可以隱藏「木馬」程式,如:
「HKEY-CURRENT-USER@Software@Microsoft@Windows@CurrentVersion@Run」、
「HKEY-USERS@Software@Microsoft@Windows@CurrentVersion@Run」
的目錄下都有可能,最好的辦法就是在
「HKEY-LOCAL-MACHINE@Software@Microsoft@Windows@CurrentVersion@Run」
下找到「木馬」程式的檔案名稱,再在整個註冊表中搜尋即可。
目前,除了上面介紹的隱身技術外,更新、更隱蔽的方法已經出現,那就是-驅動程式及動態連結技術。 驅動程式及動態連結技術和一般的木馬不同,它基本上擺脫了原有的木馬模式-監聽連接,而採用替代系統功能的方法(覆寫驅動程式或動態連結)。 這樣做的結果是:系統中沒有增加新的檔案(所以不能用掃瞄的方法搜尋)、不需要間@在system.ini檔案中,在[BOOT]下面有個「shell=檔案名稱」。正確的檔案名稱應該是「explorer.exe」,如果不是「explorer.exe」,而是「shell= explorer.exe 程式名」,那麼後面跟著的那個程式就是「木馬」程式,就是說已經中「木馬」了。
  在註冊表中的情況最複雜,使用regedit指令開啟註冊表編輯器,在點擊至:「HKEY-LOCAL-MACHINE \Software \Microsoft \Windows \Current Version \Run」目錄下,檢視鍵值中有沒有自己不熟悉的自動啟動檔案,副檔名為EXE,這裡切記:有的「木馬」程式產生的檔案很像系統自身檔案,想使用偽裝矇混過關,如「Acid Battery v1.0木馬」,它將註冊表「HKEY-LOCAL-MACHINE \SOFTWARE \Microsoft\Windows\CurrentVersion\Run」下的 Explorer 鍵值改為Explorer =「C:\WINDOWS\expiorer.exe」,「木馬」程式與真正的Explorer之間只有「i」與「l」的差別。當然在註冊表中還有很多地方都可以隱藏「木馬」程式,如:
「HKEY-CURRENT-USER@Software@Microsoft@Windows@CurrentVersion@Run」、
「HKEY-USERS@Software@Microsoft@Windows@CurrentVersion@Run」
的目錄下都有可能,最好的辦法就是在
「HKEY-LOCAL-MACHINE@Software@Microsoft@Windows@CurrentVersion@Run」
下找到「木馬」程式的檔案名稱,再在整個註冊表中搜尋即可。
目前,除了上面介紹的隱身技術外,更新、更隱蔽的方法已經出現,那就是-驅動程式及動態連結技術。 驅動程式及動態連結技術和一般的木馬不同,它基本上擺脫了原有的木馬模式-監聽連接,而採用替代系統功能的方法(覆寫驅動程式或動態連結)。 這樣做的結果是:系統中沒有增加新的檔案(所以不能用掃瞄的方法搜尋)、不需要開啟新的連接(所以不能用連接監視的方法搜尋)、沒有新的程序(所以使用程序檢視的方法發現不了它,也不能用kill程序的方法終止它的執行)。 在正常執行時木馬幾乎沒有任何的症狀,而一旦木馬的控制端向被控端發出特定的訊息後,隱藏的程式就立即開始運作。

四、 特洛伊木馬防禦原理
  知道了木馬的攻擊原理和隱身方法,我們就可以採取措施進行防禦了。
  1.連接埠掃瞄
  連接埠掃瞄是檢查遠端機器有無木馬的最好辦法,連接埠掃瞄的原理非常簡單,掃瞄程式嘗試連接某個連接埠,如果成功,則說明連接埠開放,如果失敗或超過某個特定的時間(逾時),則說明連接埠關閉。但對於驅動程式/動態連結木馬,掃瞄連接是不起作用的。
  2.檢視連接
  檢視連接埠和連接掃瞄的原理基本相同,不過是在本地電腦上使用netstat -a檢視所有的TCP/UDP連接,檢視連接要比連接埠掃瞄快,但同樣是無法查出驅動程式/動態連結木馬,而且僅能在本地電腦使用。
  3.檢查註冊表
  上面在討論木馬的啟動方式時已經提到,木馬可以使用註冊表啟動(現在大部分的木馬都是使用註冊表啟動的,至少也把註冊表作為一個自我保護的方式),那麼,我們同樣可以使用檢查註冊表來發現木馬在註冊表裡留下的痕跡。
  4.尋找檔案
  尋找木馬特定的檔案也是一個常用的方法,木馬的一個特徵檔案是kernl32.exe,另一個是sysexlpr.exe,只要刪除了這兩個檔案,木馬就已經不起作用了。

2. 冰河木馬所包含的二支程式:
G_Server.exe伺服端程式。
G_Client.exe客戶漂啟新的連接(所以不能用連接監視的方法搜尋)、沒有新的程序(所以使用程序檢視的方法發現不了它,也不能用kill程序的方法終止它的執行)。 在正常執行時木馬幾乎沒有任何的症狀,而一旦木馬的控制端向被控端發出特定的訊息後,隱藏的程式就立即開始運作。

四、 特洛伊木馬防禦原理
  知道了木馬的攻擊原理和隱身方法,我們就可以採取措施進行防禦了。
  1.連接埠掃瞄
  連接埠掃瞄是檢查遠端機器有無木馬的最好辦法,連接埠掃瞄的原理非常簡單,掃瞄程式嘗試連接某個連接埠,如果成功,則說明連接埠開放,如果失敗或超過某個特定的時間(逾時),則說明連接埠關閉。但對於驅動程式/動態連結木馬,掃瞄連接是不起作用的。
  2.檢視連接
  檢視連接埠和連接掃瞄的原理基本相同,不過是在本地電腦上使用netstat -a檢視所有的TCP/UDP連接,檢視連接要比連接埠掃瞄快,但同樣是無法查出驅動程式/動態連結木馬,而且僅能在本地電腦使用。
  3.檢查註冊表
  上面在討論木馬的啟動方式時已經提到,木馬可以使用註冊表啟動(現在大部分的木馬都是使用註冊表啟動的,至少也把註冊表作為一個自我保護的方式),那麼,我們同樣可以使用檢查註冊表來發現木馬在註冊表裡留下的痕跡。
  4.尋找檔案
  尋找木馬特定的檔案也是一個常用的方法,木馬的一個特徵檔案是kernl32.exe,另一個是sysexlpr.exe,只要刪除了這兩個檔案,木馬就已經不起作用了。

2. 冰河木馬所包含的二支程式:
G_Server.exe伺服端程式。
G_Client.exe客戶端程式。
2002年元旦,大陸推出了冰河8.0正式版。作者聲明本軟體主要用途是配合網管進行遠程監控,凡使用本軟件惡意入侵他人電腦或網路者,後果自行負責。我們將伺服端程式植入210.x.x.x電腦內,利用168.192.0.2電腦執行客戶端程式呼叫。

表格 1 常見木馬所使用的port
Port 木馬程式
1243 Subseven
30029 AOL Trojan
31377 Back Orifice, BackFire, DeepBO

放下是真功夫 2002-12-15 02:03 PM

Cool~~~~~man

quasar 2002-12-15 03:11 PM

謝謝詳細說明

marlius 2002-12-15 03:19 PM

Re: 特洛伊木馬程式原理
 
引用:

原文由 mancool 所發表
G_Server.exe伺服端程式。
G_Client.exe客戶端程式。

對,重點就是server跟client,
就是在你的電腦架設一個伺服器讓大家來連線啦

kyoshih 2002-12-15 04:05 PM

謝謝分享...感恩囉 !!

aac 2002-12-18 01:31 AM

謝謝>>>>大大...^^

幸福^-^ 2002-12-18 11:05 PM

多謝大大的指導..

jpack 2002-12-19 12:17 PM

好像很難的樣子
學習中

macub 2002-12-19 01:39 PM

謝謝囉

stool 2002-12-20 03:29 AM

ㄚ…我都看不太懂!
慢慢研究吧!
謝謝大大分享!

kyle218 2002-12-20 11:28 PM

我有問題耶!!要怎麼掃瞄 連接埠 以及 檢視連接
能夠幫我解答嗎 謝謝^^"

PS.謝謝分享^^

枯葉 2002-12-20 11:58 PM

道高一尺,魔高一丈
 
大家快修練成精吧
謝謝分享 聖誕快樂

碗糕 2002-12-24 03:26 PM

謝謝分享^^

botyer 2002-12-31 01:48 AM

值得注意唷

nichy 2003-01-05 01:11 AM

謝謝大大的指導!

丹楓 2003-01-05 01:14 PM

引用:

原文由 kyle218 所發表
我有問題耶!!要怎麼掃瞄 連接埠 以及 檢視連接
能夠幫我解答嗎 謝謝^^"

PS.謝謝分享^^

用防火牆或者是殺木馬病毒的程式來檔就行了。

TGC 2003-01-11 01:13 AM

M~!值得一看…

譜學 2003-01-15 12:03 PM

看完後立即想找一個
木馬移除程式來防護
感謝

Trowa 2003-01-26 05:47 AM

感謝!在下受惠良多。

fan0421 2003-01-26 09:46 AM

超感謝大大您作這麼詳細的解說。真的獲益良多……。
要打這麼多的字,可要消耗掉您不少的寶貴時間吧。
要是像我打字速度這麼慢的人,恐怕要耗掉我一個小時吧。
所以大大的用心讓我蠻感動。
最後再次謝謝您的分享。

kissyou 2003-01-28 11:06 PM

很感謝你喔^^

mx4568 2003-03-04 08:10 AM

謝謝分享

no1power 2003-04-26 12:13 AM

多謝賜教

botyer 2003-04-26 12:19 AM

謝謝大大ㄉ文章嚕

lbloodcow 2003-04-27 09:02 AM

感謝分享!
研究中…好文章

alan7583 2003-04-27 06:38 PM

感謝真正完整的解說,五體投地,感謝

wiwi88 2003-05-29 06:33 AM

謝謝大大分享

linlili 2003-08-03 04:12 PM

多謝多謝

maslo 2003-08-06 02:53 PM

原來這就是特洛伊木馬的原理
感謝告知


所有時間均為台北時間。現在的時間是 06:53 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1