日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

信息安全原理与技术第七次实验:木马攻击与防范

發布時間:2023/12/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 信息安全原理与技术第七次实验:木马攻击与防范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

信息安全原理與技術第七次實驗:木馬攻擊與防范

  • 前言
  • 一、實驗目的
  • 二、實驗原理
  • 三、實驗環境
  • 四、實驗內容
  • 五、思考題

前言

為了幫助同學們完成痛苦的實驗課程設計,本作者將其作出的實驗結果及代碼貼至CSDN中,供同學們學習參考。如有不足或描述不完善之處,敬請各位指出,歡迎各位的斧正!

一、實驗目的

1.掌握目前網絡中常見的七種木馬的檢測及清除方法;
2.學會使用工具檢測并清除木馬。

二、實驗原理

1.木馬的概念與發展歷史
計算機世界中的特洛伊木馬病毒的名字由《荷馬史詩》的特洛伊戰記得來。故事說的是希臘人圍攻特洛伊城十年后仍不能得手,于是阿迦門農受雅典娜的啟發:把士兵藏匿于巨大無比的木馬中,然后佯作退兵。當特洛伊人將木馬作為戰利品拖入城內時,高大的木馬正好卡在城門間,進退兩難。夜晚木馬內的士兵爬出來,與城外的部隊里應外合而攻下了特洛伊城。而計算機世界的特洛伊木馬(Trojan)是指隱藏在正常程序中的一段具有特殊功能的惡意代碼,是具備破壞和刪除文件、發送密碼、記錄鍵盤和攻擊 Dos 等特殊功能的后門程序。
木馬是指通過一段特定的程序(木馬程序)來控制另一臺計算機。木馬通常有兩個可執行程序:一個是客戶端,即控制端,另一個是服務端,即被控制端。植入被種者電腦的是“服務器”部分,而所謂的“黑客”正是利用“控制器”進入運行了“服務器”的電腦。運行了木馬程序的“服務器”以后,被種者的電腦就會有一個或幾個端口被打開,使黑客可以利用這些打開的端口進入電腦系統,安全和個人隱私也就全無保障了!木馬的設計者為了防止木馬被發現,而采用多種手段隱藏木馬。木馬的服務一旦運行并被控制端連接,其控制端將享有服務端的大部分操作權限,例如給計算機增加口令,瀏覽、移動、復制、刪除文件,修改注冊表,更改計算機配置等。
(1)第一代木馬:偽裝型病毒
這種病毒通過偽裝成一個合法性程序誘騙用戶上當。世界上第一個計算機木馬是出現在 1986 年的 PC-Write 木馬。它偽裝成共享軟件 PC-Write 的 2.72 版本(事實上,編寫 PC-Write的 Quicksoft 公司從未發行過 2.72 版本),一旦用戶信以為真運行該木馬程序,那么他的下場就是硬盤被格式化。在我剛剛上大學的時候,曾聽說我校一個前輩牛人在 WAX 機房上用BASIC 作了一個登錄界面木馬程序,當你把你的用戶 ID,密碼輸入一個和正常的登錄界面一模一樣的偽登錄界面后后,木馬程序一面保存你的 ID 和密碼,一面提示你密碼錯誤讓你重新輸入,當你第二次登錄時,你已成了木馬的犧牲品。此時的第一代木馬還不具備傳染特征。
(2)第二代木馬:AIDS 型木馬
繼 PC-Write 之后,1989 年出現了 AIDS 木馬。由于當時很少有人使用電子郵件,所以AIDS 的作者就利用現實生活中的郵件進行散播,給其他人寄去一封封含有木馬程序軟盤的郵件。之所以叫這個名稱是因為軟盤中包含有 AIDS 和 HIV 疾病的藥品,價格,預防措施等相關信息。軟盤中的木馬程序在運行后,雖然不會破壞數據,但是他將硬盤加密鎖死,然后提示受感染用戶花錢消災。可以說第二代木馬已具備了傳播特征(盡管通過傳統的郵遞方式)。
(3)第三代木馬:網絡傳播性木馬
隨著 Internet 的普及,這一代木馬兼備偽裝和傳播兩種特征并結合 TCP/IP 網絡技術四處泛濫。同時他還有新的特征:
①第一,添加了“后門”功能。
所謂后門就是一種可以為計算機系統秘密開啟訪問入口的程序。一旦被安裝,這些程序就能夠使攻擊者繞過安全程序進入系統。該功能的目的就是收集系統中的重要信息,例如,財務報告、口令及信用卡號。此外,攻擊者還可以利用后門控制系統,使之成為攻擊其它計算機的幫兇。由于后門是隱藏在系統背后運行的,因此很難被檢測到。它們不像病毒和蠕蟲那樣通過消耗內存而引起注意。
②第二,添加了擊鍵記錄功能。
從名稱上就可以知道,該功能主要是記錄用戶所有的擊鍵內容然后形成擊鍵記錄的日志文件發送給惡意用戶。惡意用戶可以從中找到用戶名、口令以及信用卡號等用戶信息。這一代木馬比較有名的有國外的 BO2000(BackOrifice)和國內的冰河木馬。它們有如下共同特點:基于網絡的客戶端/服務器應用程序。具有搜集信息、執行系統命令、重新設置機器、重新定向等功能。當木馬程序攻擊得手后,計算機就完全在黑客控制的傀儡主機,黑客成了超級用戶,用戶的所有計算機操作不但沒有任何秘密而言,而且黑客可以遠程控制傀儡主機對別的主機發動攻擊,這時候背俘獲的傀儡主機成了黑客進行進一步攻擊的擋箭牌和跳板。隨著病毒編寫技術的發展,木馬程序對用戶的威脅越來越大,尤其是一些木馬程序采用了極其狡猾的手段來隱蔽自己,使普通用戶很難在中毒后發覺。
2.木馬工作原理
(1)基礎知識
在介紹木馬的原理之前有一些木馬構成的基礎知識我們要事先加以說明,因為下面有很多地方會提到這些內容。
一個完整的木馬系統由硬件部分,軟件部分和具體連接部分組成。
①硬件部分:建立木馬連接所必須的硬件實體。控制端:對服務端進行遠程控制的一方。服務端:被控制端遠程控制的一方。INTERNET:控制端對服務端進行遠程控制,數據傳輸的網絡載體。
②軟件部分:實現遠程控制所必須的軟件程序。控制端程序:控制端用以遠程控制服務端的程序。木馬程序:潛入服務端內部,獲取其操作權限的程序。木馬配置程序:設置木馬程序的端口號,觸發條件,木馬名稱等,使其在服務端藏得更隱蔽的程序。
③具體連接部分:通過 INTERNET 在服務端和控制端之間建立一條木馬通道所必須的元素。控制端 IP,服務端 IP:即控制端,服務端的網絡地址,也是木馬進行數據傳輸的目的地。控制端端口,木馬端口:即控制端,服務端的數據入口,通過這個入口,數據可直達控制端程序或木馬程序。
用木馬這種黑客工具進行網絡入侵,從過程上看大致可分為六步,下面我們就按這六步來詳細闡述木馬的攻擊原理。
一般來說一個設計成熟的木馬都有木馬配置程序,從具體的配置內容看,主要是為了實現以下兩方面功能:
①木馬偽裝:木馬配置程序為了在服務端盡可能的好的隱藏木馬,會采用多種偽裝手段,如修改圖標,捆綁文件,定制端口,自我銷毀等,我們將在“傳播木馬”這一節中詳細介紹。
②信息反饋:木馬配置程序將就信息反饋的方式或地址進行設置,如設置信息反饋的郵件地址,IRC 號,ICO 號等等,具體的我們將在“信息反饋”這一節中詳細介紹。
(2)傳播木馬
①傳播方式:
木馬的傳播方式主要有兩種:一種是通過 E-MAIL,控制端將木馬程序以附件的形式夾在郵件中發送出去,收信人只要打開附件系統就會感染木馬;另一種是軟件下載,一些非正規的網站以提供軟件下載為名義,將木馬捆綁在軟件安裝程序上,下載后,只要一運行這些程序,木馬就會自動安裝。
②偽裝方式:
鑒于木馬的危害性,很多人對木馬知識還是有一定了解的,這對木馬的傳播起了一定的抑制作用,這是木馬設計者所不愿見到的,因此他們開發了多種功能來偽裝木馬,以達到降低用戶警覺,欺騙用戶的目的。常見的偽裝方式有以下幾種。
修改圖標
當你在 E-MAIL 的附件中看到這個圖標時,是否會認為這是個文本文件呢?但是我不得不告訴你,這也有可能是個木馬程序,現在已經有木馬可以將木馬服務端程序的圖標改成HTML,TXT,ZIP 等各種文件的圖標,這有相當大的迷惑性,但是目前提供這種功能的木馬還不多見,并且這種偽裝也不是無懈可擊的,所以不必整天提心吊膽,疑神疑鬼的。
捆綁文件
這種偽裝手段是將木馬捆綁到一個安裝程序上,當安裝程序運行時,木馬在用戶毫無察覺的情況下,偷偷的進入了系統。至于被捆綁的文件一般是可執行文件(即 EXE,COM 一類的文件)。
出錯顯示
有一定木馬知識的人都知道,如果打開一個文件,沒有任何反應,這很可能就是個木馬程序,木馬的設計者也意識到了這個缺陷,所以已經有木馬提供了一個叫做出錯顯示的功能。當服務端用戶打開木馬程序時,會彈出一個的錯誤提示框,錯誤內容可自由定義,大多會定制成一些諸如“文件已破壞,無法打開的!”之類的信息,當服務端用戶信以為真時,木馬卻悄悄侵入了系統。
定制端口
很多老式的木馬端口都是固定的,這給判斷是否感染了木馬帶來了方便,只要查一下特定的端口就知道感染了什么木馬,所以現在很多新式的木馬都加入了定制端口的功能,控制端用戶可以在 1024—65535 之間任選一個端口作為木馬端口(一般不選 1024 以下的端口),這樣就給判斷所感染木馬類型帶來了麻煩。
自我銷毀
這項功能是為了彌補木馬的一個缺陷。我們知道當服務端用戶打開含有木馬的文件后,木馬會將自己拷貝到 WINDOWS 的系統文件夾中(C:\WINDOWS 或 C:\WINDOWS\SYSTEM 目錄下),一般來說原木馬文件和系統文件夾中的木馬文件的大小是一樣的(捆綁文件的木馬除外),那么中了木馬的朋友只要在近來收到的信件和下載的軟件中找到原木馬文件,然后根據原木馬的大小去系統文件夾找相同大小的文件, 判斷一下哪個是木馬就行了。而木馬的自我銷毀功能是指安裝完木馬后,原木馬文件將自動銷毀,這樣服務端用戶就很難找到木馬的來源,在沒有查殺木馬的工具幫助下,就很難刪除木馬了。
木馬更名
安裝到系統文件夾中的木馬的文件名一般是固定的,那么只要根據一些查殺木馬的文章, 按圖索驥在系統文件夾查找特定的文件,就可以斷定中了什么木馬。所以現在有很多木馬都允許控制端用戶自由定制安裝后的木馬文件名,這樣很難判斷所感染的木馬類型了。
(3)運行木馬
服務端用戶運行木馬或捆綁木馬的程序后,木馬就會自動進行安裝。首先將自身拷貝到WINDOWS的系統文件夾中(C:\WINDOWS或C:\WINDOWS\SYSTEM目錄下),然后在注冊表,啟動組, 非啟動組中設置好木馬的觸發條件,這樣木馬的安裝就完成了。安裝后就可以啟動木馬了,具體過程見下文:
①由自啟動激活木馬
自啟動木馬的條件,大致出現在下面 6 個地方:
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 盤根目錄下的這兩個文件也可以啟動木馬。但這種加載方式一般都 需要控制端用戶與服務端建立連接后,將已添加木馬啟動命令的同名文件上傳到服務端覆蓋這兩個文件才行。
5)**.INI:即應用程序的啟動配置文件,控制端利用這些文件能啟動程序的特點,將制作好的帶有木馬啟動命令的同名文件上傳到服務端覆蓋這同名文件,這樣就可以達到啟動木馬的目的了。
6)啟動菜單:在“開始—程序—啟動”選項下也可能有木馬的觸發條件。
②由觸發式激活木馬
1)注冊表:打開 HKEY_CLASSES_ROOT 文件類型\shellopencommand 主鍵,查看其鍵值。舉個例子,國產木馬“冰河”就是修改 HKEY_CLASSES_ROOT\xtfileshellopencommand 下的鍵值,將“C:WINDOWS NOTEPAD.EXE %1”改為“C:WINDOWS\SYSTEM\SYXXXPLR.EXE %1”,這時你雙擊一個 TXT 文件后,原本應用 NOTEPAD 打開文件的,現在卻變成啟動木馬程序了。還要說明的是不光是 TXT 文件,通過修改 HTML,EXE,ZIP 等文件的啟動命令的鍵值都可以啟動木馬,不同之處只在于“文件類型”這個主鍵的差別,TXT 是 txtfile,ZIP 是 WINZIP,大家可以試著去找一下。
2)捆綁文件:實現這種觸發條件首先要控制端和服務端已通過木馬建立連接,然后控制端用戶用工具軟件將木馬文件和某一應用程序捆綁在一起,然后上傳到服務端覆蓋原文件,這樣即使木馬被刪除了,只要運行捆綁了木馬的應用程序,木馬又會被安裝上去了。
3)自動播放式:自動播放本是用于光盤的,當插入一個電影光盤到光驅時,系統會自動播放里面的內容,這就是自動播放的本意,播放什么是由光盤中的 AutoRun.inf 文件指定的,修改 AutoRun.inf 中的 open 一行可以指定在自動播放過程中運行的程序。后來有人用于了硬盤與 U 盤,在 U 盤或硬盤的分區,創建 Autorun.inf 文件,并在 Open 中指定木馬程序,這樣,當你打開硬盤分區或 U 盤時,就會觸發木馬程序的運行。
木馬作者還在不斷尋找“可乘之機”這里只是舉例,又有不斷的自啟動的地方被挖掘出來。
③木馬運行過程
木馬被激活后,進入內存,并開啟事先定義的木馬端口,準備與控制端建立連接。這時服務端用戶可以在 MS-DOS 方式下,鍵入 NETSTAT-AN 查看端口狀態,一般個人電腦在脫機狀態下是不會有端口開放的,如果有端口開放,你就要注意是否感染木馬了。下面是電腦感染木馬后,用 NETSTAT 命令查看端口的兩個實例:
其中一是服務端與控制端建立連接時的顯示狀態,二是服務端與控制端還未建立連接時的顯示狀態。在上網過程中要下載軟件,發送信件,網上聊天等必然打開一些端口,下面是一些常用的端口:
1–1024 之間的端口:這些端口叫保留端口,是專給一些對外通訊的程序用的,如FTP 使用 21,SMTP 使用 25,POP3 使用 110 等。只有很少木馬會用保留端口作為木馬端口的。
1025 以上的連續端口:在上網瀏覽網站時,瀏覽器會打開多個連續的端口下載文字,圖片到本地硬盤上,這些端口都是 1025 以上的連續端口。
4000 端口:這是 QQ 的通訊端口。
6667 端口:這是 IRC 的通訊端口。除上述的端口基本可以排除在外,如發現還有其它端口打開,尤其是數值比較大的端口,那就要懷疑是否感染了木馬,當然如果木馬有定制端口的功能,那任何端口都有可能是木馬端口。
(4)信息泄露
一般來說,設計成熟的木馬都有一個信息反饋機制。所謂信息反饋機制是指木馬成功安裝后會收集一些服務端的軟硬件信息,并通過 E-MAIL,IRC 或 ICO 的方式告知控制端用戶。
從反饋信息中控制端可以知道服務端的一些軟硬件信息,包括使用的操作系統,系統目錄,硬盤分區況,系統口令等,在這些信息中,最重要的是服務端 IP,因為只有得到這個參數,控制端才能與服務端建立 連接,具體的連接方法我們會在下一節中講解。
(5)建立連接
這一節我們講解一下木馬連接是怎樣建立的。一個木馬連接的建立首先必須滿足兩個條件:一是服務端已安裝了木馬程序;二是控制端,服務端都要在線。在此基礎上控制端可以通過木馬端口與服務端建立連接。
假設 A 機為控制端,B 機為服務端,對于 A 機來說要與 B 機建立連接必須知道 B 機的木馬端口和 IP 地址,由于木馬端口是 A 機事先設定的,為已知項,所以最重要的是如何獲得B 機的 IP 地址。獲得 B 機的 IP 地址的方法主要有兩種:信息反饋和 IP 掃描。對于前一種已在上一節中已經介紹過了,不再贅述,我們重點來介紹 IP 掃描,因為 B 機裝有木馬程序,所以它的木馬端口 7626 是處于開放狀態的,所以現在 A 機只要掃描 IP 地址段中 7626 端口開放的主機就行了,例如圖中 B 機的 IP 地址是202.102.47.56,當 A 機掃描到這個 IP 時發現它的 7626 端口是開放的,那么這個 IP 就會被添加到列表中,這時 A 機就可以通過木馬的控制端程序向 B 機發出連接信號,B 機中的木馬程序收到信號后立即作出響應,當 A 機收到響應的信號后,開啟一個隨即端口 1031 與 B 機的木馬端口 7626 建立連接,到這時一個木馬連接才算真正建立。值得一提的要掃描整個 IP 地址段顯然費時費力,一般來說控制端都是先通過信息反饋獲得服務端的 IP 地址,由于撥號上網的 IP 是動態的,即用戶每次上網的IP 都是不同的,但是這個 IP 是在一定范圍內變動的,如圖中 B 機的 IP 是 202.102.47.56,那么 B 機上網 IP 的變動范圍是在202.102.000.000—202.102.255.255,所以每次控制端只要搜索這個 IP 地址段就可以找到 B 機了。
應當注意,近來一些新木馬(如灰鴿子)采用了反彈主動連接技術。這類木馬與傳統的遠程控制軟件相反,進行 C/S(客戶端/服務器)的反向連接。當木馬服務端被種植到他人的機器中,服務端運行后,會動態分配一個端口,主動連接客戶端(黑客)的 80 端口,如果你用“netstat-a”命令檢查,將顯示“TCP 本機 IP:2513 遠程 IP:80 ESTABLISHED”類似的數據,好象是在瀏覽網頁,因此防火墻也不會阻擋這種非法連接,給木馬的防范帶來了困難。
(6)遠程控制
木馬連接建立后,控制端端口和木馬端口之間將會出現一條通道。
控制端上的控制端程序可藉這條通道與服務端上的木馬程序取得聯系,并通過木馬程序對服務端進行遠程控制。下面我們就介紹一下控制端具體能享有哪些控制權限,這遠比你想象的要大。
①竊取密碼:一切以明文的形式,*形式或緩存在 CACHE 中的密碼都能被木馬偵測到,此外很多木馬還提供有擊鍵記錄功能,它將會記錄服務端每次敲擊鍵盤的動作,所以一旦有木馬入侵,密碼將很容易被竊取。
②文件操作:控制端可藉由遠程控制對服務端上的文件進行刪除,新建,修改,上傳,下載, 運行,更改屬性等一系列操作,基本涵蓋了 WINDOWS 平臺上所有的文件操作功能。
③修改注冊表:控制端可任意修改服務端注冊表,包括刪除,新建或修改主鍵,子鍵,鍵值。有了這項功能控制端就可以禁止服務端軟驅,光驅的使用,鎖住服務端的注冊表,將服務端上木馬的觸發條件設置得更隱蔽的一系列高級操作。
④系統操作:這項內容包括重啟或關閉服務端操作系統,斷開服務端網絡連接,控制服務端的鼠標,鍵盤,監視服務端桌面操作,查看服務端進程等,控制端甚至可以隨時給服務端發送信息,想象一下,當服務端的桌面上突然跳出一段話,不嚇人一跳才怪。
3.隱形木馬啟動方式
大家所熟知的木馬程序一般的啟動方式有:加載到“開始”菜單中的“啟動”項、記錄到注冊表的[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]項和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]項中,更高級的木馬還會注冊為系統的“服務”程序,以上這幾種啟動方式都可以在“系統配置實用程序”(在“開始→運行”中執行“msconfig”)的“啟動”項和“服務”項中找到它的蹤跡。
另一種鮮為人知的啟動方式,是在“開始→運行”中執行“Gpedit.msc”。打開“組策略”,可看到“本地計算機策略”中有兩個選項:“計算機配置”與“用戶配置”,展開“用戶配置→管理模板→系統→登錄”,雙擊“在用戶登錄時運行這些程序”子項進行屬性設置,選定“設置”項中的“已啟用”項并單擊“顯示”按鈕彈出“顯示內容”窗口,再單擊“添加”按鈕,在“添加項目”窗口內的文本框中輸入要自啟動的程序的路徑,如圖所示,單擊“確定”按鈕就完成了。
重新啟動計算機,系統在登錄時就會自動啟動你添加的程序,如果剛才添加的是木馬程序,那么一個“隱形”木馬就這樣誕生了。因為用這種方式添加的自啟動程序在系統的“系統配置實用程序”是找不到的,同樣在我們所熟知的注冊表項中也是找不到的,所以非常危險。
通過這種方式添加的自啟動程序雖然被記錄在注冊表中,但是不在我們所熟知的注冊表的[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]項和[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]項內,而是在冊表的[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]項。如果你懷疑你的電腦被種了“木馬”,可是又找不到它在哪兒,建議你到注冊表的[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]項里找找吧,或是進入“組策略”的“在用戶登錄時運行這些程序”看看有沒有啟動的程序。
現在網頁木馬無非有以下幾種方式中到你的機器里:
(1)把木馬文件改成 BMP 文件,然后配合你機器里的 DEBUG 來還原成 EXE,網上存在該木馬 20% ;
(2)下載一個 TXT 文件到你機器,然后里面藏有 FTP 程序,FTP 連上他們有木馬的機器下載木馬,網上存在該木馬 20% ;
(3)也是最常用的方式,下載一個 HTA 文件,然后用網頁控件解釋器來還原木馬。該木馬在網上存在 50%以上;
(4)采用 JS 腳本,用 VBS 腳本來執行木馬文件,該型木馬偷 QQ 的比較多,偷傳奇賬號的少,大概占 10%左右;
(5)ARP 欺騙,利用 ARP 欺騙攔截局域網數據,攻擊網關。在數據包中插入木馬。解決方案,安裝 ARP 防火墻。
4.木馬防治
雖然木馬程序手段越來越隱蔽,但是蒼蠅不叮無縫的蛋,只要加強個人安全防范意識,還是可以大大降低“中招”的幾率。
木馬的一般防防范方法:
(1)不要下載、接收、執行任何來歷不明的軟件或文件。很多木馬病毒都是通過綁定在其他的軟件或文件中來實現傳播的,一旦運行了這個被綁定的軟件或文件就會被感染,因此在下載的時候需要特別注意,一般推薦去一些信譽比較高的站點。在軟件安裝之前一定要用反病毒軟件檢查一下,建議用專門查殺木馬的軟件來進行檢查,確定無毒和無馬后再使用。
(2)不要隨意打開郵件的附件,也不要點擊郵件中的可疑圖片。(后邊另外介紹一個關于郵件的例子,大家注意收看)對不明來歷的電子郵件和插件不予理睬。
(3)將資源管理器配置成始終顯示擴展名。將 Windows 資源管理器配置成始終顯示擴展名,一些文件擴展名為 vbs、shs、pif 的文件多為木馬病毒的特征文件,如果碰到這些可疑的文件擴展名時就應該引起注意。
(4)盡量少用共享文件夾。如果因工作等原因必須將電腦設置成共享,則最好單獨開一個共享文件夾,把所有需共享的文件都放在這個共享文件夾中,注意千萬不要將系統目錄設置成共享。
(5)運行反木馬實時監控程序。木馬防范重要的一點就是在上網時最好運行反木馬實時監控程序,PC 萬用精靈等軟件一般都能實時顯示當前所有運行程序并有詳細的描述信息。此外如加上一些專業的最新殺毒軟件、個人防火墻等進行監控基本就可以放心了。
(6)經常升級系統。很多木馬都是通過系統漏洞來進行攻擊的,微軟公司發現這些漏洞之后都會在第一時間內發布補丁,很多時候打過補丁之后的系統本身就是一種最好的木馬防范辦法。
(7)關閉所有磁盤的自動播放功能,避免插入帶毒 U 盤,移動硬盤,數碼存儲卡中毒。
(8)安裝個人防病毒軟件、個人防火墻軟件。
(9)經常去安全網站轉一轉,以便及時了解一些新木馬的底細,做到知己知彼,百戰不殆。
木馬防范的方法那就是把 windows\system\mshta.exe 文件改名,改成什么自己隨便(xp 和 win2000 是 在 system32 下 )HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InternetExplorer\ActiveX Compatibility\下為 Active Setup controls 創建一個基于 CLSID 的新鍵值{6E449683_C509_11CF_AAFA_00AA00 B6015C},然后在新鍵值下創建一個 REG_DWORD 類型的鍵 Compatibility,并設定鍵值為0x00000400即可。
還有 windows\command\debug.exe 和 windows\ftp.exe 都給改個名字(或者刪除),這對一些最新流行的木馬是有效的防御。比如網絡上流行的木馬 smss.exe 這個是其中一種木馬的主體潛伏在 Windows 98/ME/XP 的 c:\windows 目錄下或 Windows 2000 的 c:\winnt … 下。假如你中了這個木馬,首先我們用進程管理器結束正在運行的木馬 smss.exe 然后在C:\windows 或 c:\winnt\目錄下創建一個假的 smss.exe 并設置為只讀屬性(如果 2000/XP是 NTFS 的磁盤格式的話那就更好,可以用“安全設置”將其屬性設置為讀取),這樣木馬沒了以后也不會在感染了。
“木馬”程序是目前比較流行的病毒文件,與一般的病毒不同,它不會自我繁殖,也并不“刻意”地去感染其他文件,它通過將自身偽裝吸引用戶下載執行,向施種木馬者提供打開被種者電腦的門戶,使施種者可以任意毀壞、竊取被種者的文件,甚至遠程操控被種者的電腦。“木馬”與計算機網絡中常常要用到的遠程控制軟件有些相似,但由于遠程控制軟件是“善意”的控制,因此通常不具有隱蔽性;“木馬”則完全相反,木馬要達到的是“偷竊”性的遠程控制,如果沒有很強的隱蔽性的話,那就是“毫無價值”的。
隨著病毒編寫技術的發展,木馬程序對用戶的威脅越來越大,尤其是一些木馬程序采用了極其狡猾的手段來隱蔽自己,使普通用戶很難在中毒后發覺。防治木馬的危害,應該采取以下措施:
第一,安裝殺毒軟件和個人防火墻,并及時升級。
第二,把個人防火墻設置好安全等級,防止未知程序向外傳送數據。
第三,可以考慮使用安全性比較好的瀏覽器和電子郵件客戶端工具。
第四,如果使用 IE 瀏覽器,應該安裝卡卡安全助手,防止惡意網站在自己電腦上安裝不明軟件和瀏覽器插件,以免被木馬趁機侵入。
遠程控制的木馬有:冰河、灰鴿子、上興、Pcshare、網絡神偷、FLUX、網絡公牛、Netspy、SubSeven、廣外女生等,現在通過線程插入技術的木馬也有很多。現在的木馬程序常常和DLL 文件息息相關,被很多人稱之為“DLL 木馬”。DLL 木馬的最高境界是線程插入技術,線程插入技術指的是將自己的代碼嵌入正在運行的進程中的技術。理論上說,在 Windows中的每個進程都有自己的私有內存空間,別的進程是不允許對這個私有空間進行操作的,但是實際上,我們仍然可以利用種種方法進入并操作進程的私有內存,因此也就擁有了那個遠程進程相當的權限。無論怎樣,都是讓木馬的核心代碼運行于別的進程的內存空間,這樣不僅能很好地隱藏自己,也能更好地保護自己。
DLL 不能獨立運行,所以要想讓木馬跑起來,就需要一個 EXE 文件使用動態嵌入技術讓DLL 搭上其他正常進程的車,讓被嵌入的進程調用這個 DLL 的 DllMain 函數,激發木馬運行,最后啟動木馬的 EXE 結束運行,木馬啟動完畢。啟動 DLL 木馬的 EXE 是個重要角色,它被稱為 Loader,Loader 可以是多種多樣的,Windows 的 Rundll32.exe 也被一些 DLL 木馬用來作為 Loader,這種木馬一般不帶動態嵌入技術,它直接注入 Rundll32 進程運行,即使你殺了Rundll32 進程,木馬本體還是存在的。利用這種方法除了可以啟動木馬之外,不少應用程序也采用了這種啟動方式,一個最常見的例子是“3721 網絡實名”。
“3721 網絡實名”就是通過 Rundll32 調用“網絡實名”的 DLL 文件實現的。在一臺安裝 了 網 絡 實 名 的 計 算 機 中 運 行 注 冊 表 編 輯 器 , 依 次 展 開“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”,發現一個名為“CnsMin”的啟動項,其鍵值為“Rundll32 C:\WINDOWS\Downlo~1\CnsMin.dll,Rundll32”,CnsMin.dll 是網絡實名的 DLL 文件,這樣就通過 Rundll32 命令實現了網絡實名的功能。
DLL 木馬簡單防御方法:
DLL 木馬的查殺比一般病毒和木馬的查殺要更加困難,建議用戶經常看看系統的啟動項中有沒有多出莫名其妙的項目,這是 DLL 木馬 Loader 可能存在的場所之一。如果用戶有一定的編程知識和分析能力,還可以在 Loader 里查找 DLL 名稱,或者從進程里看多掛接了什么陌生的 DLL。對普通用戶來說,最簡單有效的方法還是用殺毒軟件和防火墻來保護自己的計算機安全。現在有一些國外的防火墻軟件會在 DLL 文件加載時提醒用戶,比如 Tiny、SSM等,這樣我們就可以有效地防范惡意的 DLL 木馬了。

三、實驗環境

聯網的 PC 機 2 臺(安裝 Windows 2003/XP 操作系統)。
安裝實驗中需要檢測的木馬包括:網絡公牛、Netspy、冰河、廣外女生、灰鴿子和 anti。

四、實驗內容

1.常見木馬的檢測和清除
(1)網絡公牛(Netbull)①木馬特征:









網絡公牛默認的連接端口為 23444。服務端程序 newserver.exe 運行后,會自動脫殼成checkdll.exe,位于 C:\Windows\System 下,下次開機后 checkdll.exe 將自動運行,具有較強的隱蔽性。同時,服務端運行后會自動捆綁以下文件(Window 2000/XP 下):
Notepad.exe,regedit.exe,reged32.exe,drwtsn32.exe,winmine.exe





服務端運行后還會捆綁在開機時自動運行的第三方軟件,如 realplay.exe、QQ、ICQ 等,同時會在注冊表中建立鍵值。
網絡公牛采用的是文件捆綁功能,它和上面所列出的文件捆綁在一塊,要清除非常困難。用戶通過判斷文件長度是否發生變化,可分析是否中了木馬。

②清除方法:
刪除網絡公牛的自啟動程序 C:\Windows\System32\Checkdll.exe
把網絡公牛在注冊表中所建立的鍵值全部刪除
檢查上面列出的文件,如果發現文件長度發生變化(大約增加了 40 KB 左右,可以通過與其他機子上的正常文件比較而知),就刪除它們。然后點擊“開始”→“所有程序”→“附件”→“系統工具”→“系統信息”→“工具”→“系統文件檢查器”,在彈出的對話框中選中“從安裝軟盤提取一個文件(E)”,在框中填人要提取的文件(前面刪除的文件),點“確定”按鈕,然后按屏幕提示將這些文件恢復即可。如果是開機時自動運行的第三方軟件,如 realplay.exe、QQ、ICQ 等被捆綁上了,那就把這些文件刪除,再重新安裝。


(2)Netspy 網絡精靈
①木馬特征:Nespy 又名網絡精靈,默認連接端口為 7306。客戶端通過 IE 或 Navigate 就可以對服務器端進行遠程監控。服務器端程序被執行后,會在 C:\Windows\System 目錄下生成 netspy.exe文件。同時在注冊表 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current\Vesion\Run\下建立鍵值 C:\Windows\System\netspy.exe,用于在系統啟動時自動加載運,由于版本過老,沒有相應控制端,Netspy 部分了解即可。
②清除方法:
重新啟動機器并在出現 Starifig Windows 提示時,按 F5 鍵進入命令行狀態。在C:\Windows\System\目錄下輸入以下命令:

del netspy.exe

進入HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current\Vesion\Run\ ,刪除 Netspy 的鍵值,即可安全清除 Netspy。
(4)廣外女生
①木馬特征:
“廣外女生”是一種新出現的遠程監控工具,破壞性很大,能實現遠程上傳、下載。刪除文件、修改注冊表等功能。而且“廣外女生”服務器端被執行后,會自動檢查進程中是否含有“金山毒霸”、“天網”等字樣,如果發現就將該進程終止,使防火墻完全失去作用。









②清除方法:
從任務管理器中刪除 diagcfg.exe 進程,找到 System32 目錄下的 diagfg.exe,刪除它(由于刪除后會導致 exe 文件無法運行,先打開注冊表編輯器再刪)。
找 到 HKEY_CLASSES_ROOT\exefile\shell\open\command , 將 其 默 認 鍵 值 改 成“%1” %*。
找到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current-Version\RunServices,刪除注冊表中名稱為“Diagnostic Configuration”的鍵值。(ctr+F Diagnostic Configuration)












(3)冰河
①木馬特征:
這里介紹的是對其標準版的清除,掌握了如何清除標準版,再來對付變種冰河就很容易了。冰河的服務器端程序為 G-server.exe。,客戶端程序為 G-client.exe,默認連接端口為 7626。一旦運行 G-server,那么該程序就會在C:\Windows\System32 目錄下生成 Kernel32.exe 和sy***plr.exe,并刪除自身。Kernel32.exe 在系統啟動時自動加載運行,sy***plr.exe 和 TXT 文件關聯。即使刪除了 Kernel32.exe,但只要打開 TXT 文件,sy***plr.exe 就會被激活,再次生成 Kernel32.exe。


②清除方法:
刪除 C:\Windows\System32 下的 Kernel32.exe 和 Sy***plr.exe 文件。
冰 河 會 在 注 冊 表 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current\Vesion\Run\下扎根,鍵值為C:\Windows\System\Kernel32.exe,刪除它
在注冊表的 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current\Vesion\Runservices 下,還有鍵值為 C:\Windows\System\ Kernel32.exe 的,也要刪除。
修改注冊表 HKEY_CLASSES_ROOT\txtfile\shell\open\command 下的默認值,由表中木馬后的 C:\Windows\System\Sy***plr.exe %1 改為正常的 C:\Windows\System\notepad.exe %1,即可恢復 TXT 文關聯功能。










2.木馬檢測工具的使用
Anti-Trojan Shield 是一款享譽歐洲的專業木馬偵測、攔截及清除軟件。讀者可以從http://www.atshield.com/index.php?r=download 下載試用版。
(1)從上面的網站下載安裝軟件 atsl.exe。
(2)雙擊該軟件,根據提示完成安裝。
(3)運行 Anti-Trojan Shield,如圖 7.42 所示。






圖 7.42 Anti-Trojan Shield 運行圖
(4)選擇掃描對象,然后點擊“Start”,開始對目標進行掃描,如圖 7.43 所示。

圖 7.43 掃描示意圖
(5)如果軟件找到木馬會提示,并把該木馬顯示出來,如圖 7.44 所示。

圖 7.44 報警示意圖
此時,可以根據實際情況選擇“Delete”刪除或“Quarantine”隔離該木馬。
如圖 7.45 所示,讀者還可以根據需要,在“setup”標簽下勾選“scan archives”選項,這樣就可以對 ZIP、RAR、ARJ 和 CAB 等壓縮包內部進行掃描。勾選“Use Program code analysis”,可以對程序進行代碼分析,查找出未知的木馬程序,這有點類似于反病毒軟件中的“啟發式查毒”,但是掃描速度會減慢。
另外,默認選擇“Min [high speed]”項,則只對可執行文件進行掃描,建議選擇“Max[low speed]”,對所有文件都進行掃描。

圖 7.45 木馬處理
(5)灰鴿子
①木馬特征:
灰鴿子木馬分兩部分:客戶端和服務端。黑客(姑且這么稱呼吧)操縱著客戶端,利用客戶端配置生成一個服務端程序。服務端文件的名字默認為 G_Server.exe,然后黑客通過各種渠道傳播這個木馬(俗稱種木馬或者開后門)。
由于灰鴿子病毒變種繁多,其文件名也很多變,近來發現的以(Backdoor.GPigeon.sgr)類型居多,不易對付,在被感染的系統%Windows%目錄下生成三個病毒文件,分別是G_Server.exe,G_Server.dll,G_Server_Hook.dll。
G_Server.exe 運行后將自己拷貝到 Windows 目錄下(98/xp 下為系統盤的 windows 目錄,2k/NT 下為系統盤的 Winnt 目錄),然后再從體內釋放 G_Server.dll 和 G_Server_Hook.dll 到windows 目錄下。G_Server.exe、G_Server.dll 和 G_Server_Hook.dll 三個文件相互配合組成了灰鴿子服務端,有些灰鴿子會多釋放出一個名為 G_ServerKey.dll 的文件用來記錄鍵盤操作。同時注意,G_Server.exe 這個名稱并不固定,它是可以定制的,比如當定制服務端文件名為A.exe 時,生成的文件就是 A.exe、A.dll 和 A_Hook.dll。
Windows 目錄下的 G_Server.exe 文件將自己注冊成服務(9X 系統寫注冊表啟動項),每次開機都能自動運行,運行后啟動 G_Server.dll 和 G_Server_Hook.dll 并自動退出。G_Server.dll 文件實現后門功能,與控制端客戶端進行通信;G_Server_Hook.dll 則通過攔截API 調用來隱藏病毒。因此,中毒后,我們看不到病毒文件,也看不到病毒注冊的服務項。隨著灰鴿子服務端文件的設置不同,G_Server_Hook.dll 有時候附在 Explorer.exe 的進程空間中,有時候則是附在所有進程中。
灰鴿子病毒其特點是“三個隱藏”——隱藏進程、隱藏服務、隱藏病毒文件。









由于正常模式下灰鴿子會隱藏自身,因此檢測灰鴿子的操作一定要在安全模式下進行。進入安全模式的方法是:啟動計算機,在系統進入 Windows 啟動畫面前,按下 F8 鍵,在出現的啟動選項菜單中,選擇“安全模式”。
第一步:由于灰鴿子的文件本身具有隱藏屬性,因此要設置 Windows 顯示所有文件。打開“我的電腦”,選擇菜單“工具”→“文件夾選項”,點擊“查看”,取消“隱藏受保護的操作系統文件”前的對勾,并在“隱藏文件和文件夾”項中選擇“顯示所有文件和文件夾”,然后點擊“確定”。
第二步:打開 Windows 的“搜索文件”,文件名稱輸入“*_hook.dll”,搜索位置選擇 Windows的安裝目錄(默認 98/xp 為 C:\windows,2k/NT 為 C:\Winnt)。
第三步 : 經過搜索,在Windows 目錄 (不包含子目錄)下發現了一個名為G_Server_Hook.dll 的文件。
第四步:根據灰鴿子原理分析我們知道,G_Server_Hook.dll 是灰鴿子的文件,則在操作系統安裝目錄下還會有 G_Server.exe 和 G_Server.dll 文件。打開 Windows 目錄,果然有這兩個文件,同時還有一個用于記錄鍵盤操作的 G_ServerKey.dll 文件。
經過這幾步操作基本就可以確定這些文件是灰鴿子木馬了。
②清除方法:
對灰鴿子木馬可以目前一些流行的殺病毒軟件查殺,也可以進行手動清除。下面介紹一種手工清除方法。清除灰鴿子仍然要在安全模式下操作,主要有“清除灰鴿子的服務”和“刪除灰鴿子程序文件”兩大步。注意:此操作需在安全模式下進行,為防止誤操作,清除前一定要做好備份。
第一:刪除相應木馬程序
首先在 windows 中找到配置服務器時的名稱(默認:Hacker.com.cn.exe),進行刪除。












由于在刪除程序在執行時會偽裝成 IEEXPLORE 進程,所以進程管理器結束進程再刪除文件。
第二:刪除遺留的注冊表信息
1)打開注冊表編輯器(點擊“開始”→“運行”,輸入“Regedit.exe”,確定。)。
2)點擊菜單“編輯”→“查找”,“查找目標”輸入“Hacker.com.cn”,點擊確定,我們就可以找到灰鴿子的服務項。
3)刪除整個 G_server.exe 鍵值所在的服務項。
即完成灰鴿子的刪除。

五、思考題

  • 惡意軟件入侵流程可歸納為怎么樣的一個過程?
    答:通過對用戶在網絡下載軟件的捆綁,將帶有惡意代碼的客戶端或服務端發送至用戶,當用戶運行時,即可控制用戶電腦。
  • 現今的常見惡意軟件的隱藏方式有哪些?請舉例說明。
    答:反-反匯編和調試器(保護器)、Rootkit、代碼,進程和DLL注入等。
  • 總結

    以上是生活随笔為你收集整理的信息安全原理与技术第七次实验:木马攻击与防范的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。