Board logo

標題: 木馬防禦全攻略 [打印本頁]

作者: 電腦奇才    時間: 2005-5-6 23:24     標題: 木馬防禦全攻略

木馬防禦全攻略

木馬,也稱特伊洛木馬,名稱源於古希臘的特伊洛馬神話,此詞語來源於古希臘的神話故事,傳說希臘人圍攻特洛伊城,久久不能得手。後來想出了一個木馬計,讓士兵藏匿於巨大的木馬中。大批部隊假裝撤退而將木馬丟棄於特洛伊城下,讓敵人將其作為戰利品拖入城內。木馬內的士兵則乘夜晚敵人慶祝勝利、放鬆警惕的時候從木馬中爬出來,與城外的部隊裏應外合而攻下了特洛伊城。
盡管資深的駭客不屑於使用木馬,但在對以往網路安全事件的分析統計裏,我們發現-,有相當部分的網路入侵是通過木馬來進行的,包括去年微軟被入侵一案,據稱該駭客是通過一種普通的蠕蟲木馬侵入微軟的系統的,並且竊取了微軟部分產品的原始碼。
木馬的危害性在於它對電腦系統強大的控制和破壞能力,竊取密碼、控制系統操作、進行檔案操作等等,一個功能強大的木馬一旦被植入您的電腦,攻擊者就可以像操作自己的電腦一樣控制您的電腦,甚至可以遠程-監控您的所有操作。
木馬是如何侵入的?

一般的木馬都有客戶端和服務器端兩個執行程-式,其中客戶端是用於攻擊者遠程-控制植入木馬的電腦,服務器端程-式即是木馬程-式。攻擊者要通過木馬攻擊您的系統,他所做的第一步是要把木馬的服務器端程-式植入到您的電腦裏面。
目前木馬入侵的主要途徑還是先通過一定的方法把木馬執行檔案弄到被攻擊者的電腦系統裏,如郵件、下載等,然後通過一定的提示故意誤導被攻擊者打開執行檔案,比如故意謊稱這是個木馬執行檔案是您朋友送給您賀卡,可能您打開這個檔案後,確實有賀卡的畫面出現-,但這時可能木馬已經悄悄在您的後台執行了。
一般的木馬執行檔案非常小,大到都是幾K到幾十K,如果把木馬連接到其它正常檔案上,您很難發現-的,所以,有一些網站提供的軟件下載往往是連接了木馬檔案的,在您執行這些下載的檔案,也同時執行了木馬。
木馬也可以通過Script、ActiveX及Asp、Cgi交互腳本的方式植入,由於微軟的瀏覽器在執行Script腳本上存在一些漏洞,攻擊者可以利用這些漏洞傳播病毒和木馬,甚至直接對瀏覽者電腦進行檔案操作等控制,前不久就出現-一個利用微軟Scripts腳本漏洞對瀏覽者硬碟進行格式化的Html網頁。如果攻擊者有辦法把木馬執行檔案上載到攻擊主機的一個可執行WWW目錄夾裏面,他可以通過編制Cgi程-式在攻擊主機上執行木馬目錄
木馬還可以利用系統的一些漏洞進行植入,如微軟著名的IIS服務器溢出漏洞,通過一個IISHACK攻擊程-式即在把IIS服務器崩潰,並且同時在攻擊服務器執行遠程-木馬執行檔案。


木馬如何將入侵主機信息發送給攻擊者?

木馬在被植入攻擊主機後,它一般會通過一定的方式把入侵主機的信息,如主機的IP地址、木馬植入的端口等發送給攻擊者,這樣攻擊者有這些信息才能夠與木馬裏應外合控制攻擊主機。
在早期的木馬裏面,大多都是通過發送電子郵件的方式把入侵主機信息告訴攻擊者,有一些木馬檔案乾脆把主機所有的密碼用郵件的形式通知給攻擊者,這樣攻擊都就不用直接連接攻擊主機即可獲得一些重要數據,如攻擊OICQ密碼的GOP木馬即是如此。
使用電子郵件的方式對攻擊者來說並不是最好的一種選擇,因為如果木馬被發現-,可以能過這個電子郵件的地址找出攻擊者。現-在還有一些木馬採用的是通過發送UDP或者ICMP數據包的方式通知攻擊者。


木馬隱身術

在執行前,很一些木馬經常故意弄成Txt、Html等你認-為對你系統沒有多少危害性質的檔案圖標,這樣很容易迷誘你把它打開。
在執行中,木馬的作者也意識到如果程-式打開後像早期木馬一樣沒有什麼反應的話,這樣只要對木馬稍有了解的人都會知道這個程-式有鬼,這樣他們往往會有採取行動殺除木馬。所以,新的木馬大多都以彈出某種欺騙性質的錯誤窗口使執行者不起疑心,比如操作系統版本錯誤等等。
在執行後,木馬在執行後需要自我銷毀和隱藏,木馬分為兩種類型,一種是隨系統自動啟動的,另一種附加或者連接在Windows系統或者其它應用程-式上,或者乾脆替代成它們。如果是前者,木馬會把自己拷貝到windows系統目錄夾下面一個隱蔽的地方,當然是會把自己的檔案屬性設為隱藏,然後再刪除自己。如果是後者,木馬會尋找系統程-式把自己連接或者替換到它們身上,這樣你執行這些系統程-式的時候就會啟動木馬。
還有一種技術更為先進的木馬,它是把自己複製取代成為動態鏈結DLL檔案.,如果系統正常的使用請求,它把請求轉到原先的DLL,對於一些事先約定好的木馬操作,DLL檔案就跟一個木馬程-式毫無區別。
隱藏通訊,任何木馬執行後都要和攻擊者進行通訊連接,或者通過即時連接,如攻擊者通過客戶端直接接入被植入木馬的主機,或者通過間接通訊,如通過電子郵件的方式,木馬把侵入主機的敏感信息送給攻擊者。現-在大部分木馬一般在占領主機後,會在1024以上不易發現-的高端口上駐留,有一些木馬會選擇一些常用的端口,如80、23,有一種非常先進的木馬還可以做到在佔領80HTTP端口後,收到正常的HTTP請求仍然把它交與Web服務器處理,只有收到一些特殊約定的數據包後,才啟用木馬程-式。
目前大部分木馬都是採用TCP連接的方式使攻擊者控制主機,這樣通過簡單的NETSTAT命令或者監視數據包等方式即可以查出攻擊,現-在有的木馬可以通過ICMP數據包進行通訊控制,這樣除非分析數據包裏面的內容,否則很難發現-木馬連接。
通過電子郵件這類間接通訊的木馬一般是以竊取主機密碼等機密檔案為主,它們比較難覺察,不過,如果採用這種方式,一旦被發現-,很容易查出郵件和郵件的主人。
隱藏動作,在win9X系統裏面,簡單的註冊為系統動作即可以從任務欄裏消失,但在windows2000系統裏面,任何一個執行的動作都會在Administrator權限下顯示出來,並且可以直接關閉掉。在最新的一些木馬裏面,開始採用了先進的DLL陷阱技術,DLL陷阱技術是一種針對DLL(動態鏈接庫)的高級編輯程-式技術,編輯程-式者用特洛伊DLL替換已知的系統DLL,並對所有的函數調用進行過濾,對於正常的調用,使用函數轉發器直接轉發給被替換的系統DLL,對於一些事先約定好的特殊情況,DLL會執行一些相對應的操作,一個比較簡單的方法是起一個動作,雖然所有的操作都在DLL中完成會更加隱蔽,但是這大大增加了程-式編寫的難度,實際上這樣的木馬大多數只是使用DLL進行監聽,一旦發現-控制端的連接請求就啟動自身,起一個連接端口的動作進行正常的木馬操作。操作結束後關掉執行中程-式,繼續進入休眠狀況。


木馬是如何啟動的?

在Windows系統下,木馬可以通過註冊表、Win.ini、System.ini、Autoexec.bat和Config.sys、連接替換系統檔案、啟動功能表及程-式配置.ini檔案來自我啟動執行。
Win.in:[WINDOWS]下面,"run="和"load="行是Windows啟動時要自動加載執行的程-式項目
System.ini:[BOOT]下面有個"shell=Explorer.exe"項。正確的表述方法就是這樣。如果等號後面不僅僅是explorer.exe,而是"shell=Explorer.exe 程-式名",那麼後面跟著的那個程-式就是木馬程-式
註冊表:在KEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\下面五個以Run開頭的主鍵目錄都是系統自啟的鍵值。

未來木馬發展的方向

1、傳統的TCP端對端連接會被拋棄,未來木馬要就採用非TCP/UDP的IP族數據包,它們十分隱蔽,如果不對數據包詳細分析,很難察出木馬入侵﹔要就採用寄生Tcp端口,這樣木馬傳輸的數據包和正常的數據包很難區分開來。
2、在傳播方式上,未來木馬會和病毒一樣,採用交叉式迅速大規模擴散,並且執行方式越來越隱蔽,可能通過瀏覽一個html頁面即可把木馬植入你的主機。
3、未來木馬將更注重底層的通訊編輯程-式,如針對網卡和Modem的通訊編輯程-式,這樣可以逃過防火牆的監視和過濾。

如何發現-偵探木馬?

對於一些常見的木馬,如SUB7、,BO2000,冰河等等,它們都是採用打開TCP端口監聽和寫入註冊表啟動等方式,使用Cllean之類的軟體可以檢測到這些木馬,在將要推出的最新版天網個人防火牆也將提供強大的木馬檢測和清除功能。
這些檢測木馬的軟體大多都是利用檢測TCP連結、註冊表等信息來判斷是否有木馬入侵,這也可以通過手工來探測。
如果您發現-自己的硬碟老沒原由的讀取,軟碟燈經常自己亮起,網路連接及滑鼠、螢幕出現-異常現-象,很可能就是因為有木馬潛伏在您的電腦裏面。這時最簡單的方法就是使用netstat命令查看:

Proto Local Address Foreign Address State
TCP dddd-gam68abjr9:1662 202.106.184.200:http ESTABLISHE
TCP dddd-gam68abjr9:1694 TCE-E-7-182-210.bta.net.cn:http
TCP dddd-gam68abjr9:1702 202.106.184.200:http ESTABLISHE
TCP dddd-gam68abjr9:1823 202.106.184.158:http CLOSE_WAIT
TCP dddd-gam68abjr9:1824 202.106.184.158:http CLOSE_WAIT

從左到右依次是連接類型、本地連接地址端口、遠程-連接地址端口、連接狀態,您可以通過這個命令發現-所有網路連接,如果這是有攻擊者通過木馬連接,您可以通過這些信息發現-異狀。通過端口掃描的方法也可以發現-一些弱智的木馬,特別是一些早期的木馬,它們連接的端口不能更改的,通過掃描這些固定的端口也可以發現-木馬是否被植入。
您還可以通過手工檢測上文所述的和木馬啟動的系統檔案和註冊表的方式把那些不明的自啟動執行檔案清除掉。如果在發生系統異常後,最好將系統斷線再診斷木馬。

如何清除掉木馬

目前已經有一些專門的清除木馬的軟體,我們在新推出天網防火牆裏面也會連接強大的木馬清除功能,清除一般木馬的機制原理主要是:

1、檢測木馬。
2、找到木馬啟動檔案,一般在註冊表及與系統啟動有關的檔案裏能找到木馬檔案的位置,
3、刪除木馬檔案,並且刪除註冊表或系統啟動檔案中關於木馬的信息。

但對於一些十分狡滑的木馬,這些措施是無法把它們找出來的,我們現-在檢測木馬的手段無非是通過網路連接和查看系統進程-,事實上,一些技術高明的木馬編寫者完全可以通過合理的隱藏通訊和進程-使木馬很難被檢測到。

如何防範木馬

自然,如果您不打開任何木馬檔案,就不會有木馬的入侵,但這種保證是不可靠的,因為木馬植入方式更為先進,甚至您在接到一封E-Mail,只要簡單的瀏覽一下即可被植入木馬,而且您下載各種軟體時,您根本不知道這裏面是否摻了別的東西,何況,攻擊者還可以利用您系統的漏洞來植入木馬。
防火牆是抵擋木馬入侵的最好途徑,絕大多數木馬都是必須採用直接通訊的方式進行連接,雖然它們可以採用一定的方式隱藏這種連結,如只有在收到攻擊者特殊數據包的時候才啟動木馬打開通訊端口,連接完畢後木馬則馬上進入休眠狀態。
防火牆這種阻塞方式不僅適用於TCP數據包,還能夠阻止UDP、ICMP等其它IP數據包的通訊控制。
防火牆完全可以進行數據包過濾檢查,在適當規則的限制下,如對通訊端口進行限制,只允許系統接受限定幾個端口的數據請求,這樣即使木馬植入成功,攻擊者也是無法進入到您的系統,因為防火牆把攻擊者和木馬分隔開來了。
盡管如此,對一些技術高明的木馬,防火牆有時也是無能為力,如寄生在Http端口上的木馬。還有一種是與木馬正常控制程-式相反的木馬,它是通過木馬向外面的端口發送數據,比如它發一個數據到一個主機的80端口,任何防火牆都不可能阻塞這種數據請求,要不然整個系統就不用上網瀏覽網頁了。
在天網防火牆裏面,還有專門針對各種木馬攻擊的防禦規則,防火牆可以確保您免受木馬攻擊。




歡迎光臨 SPY NET (https://spynet.fun/) Powered by Discuz! 6.1.0