鄭州廣播電視大學 王民川
特洛伊木馬程序的設計方法研究
鄭州廣播電視大學 王民川
目前在不斷發生的互聯網安全事件中,大部分都有木馬的身影。據中國國家計算機網絡應急處理中心的估計,目前木馬黑色產業鏈的年產值已超過2.38億元人民幣,造成的損失則超過76億元。
只要了解木馬的工作原理,借助協議分析工具,就能及時發現其蛛絲馬跡,降低木馬帶來的危害。只要熟悉木馬的隱藏方法,就能快速找到并徹底清除木馬,甚至找到入侵者。如果能夠預先了解木馬攻擊手段,就可以有針對性地防范木馬的主動入侵或攻擊。
在計算機領域中特洛伊木馬程序是一種未經授權的程序,它包含在一段正常的程序中,這個未經授權的程序提供了一些用戶不知道的功能,其目的是不需要管理員的準許就可獲得系統使用權。木馬的全稱是“特洛伊木馬”,是一種新型的計算機網絡病毒程序。它利用自身所具有的植入功能,依附其他具有傳播能力的病毒之上, 或者通過入侵后植入等多種途徑,進駐目標機器,搜集其中的各種敏感信息,并通過網絡與外界通信,發回所搜集到的各種敏感信息,接受植入者指令,完成其他各種操作,如修改指定文件、格式化硬盤等。
典型的木馬工作原理為:當服務器端在目標計算機上被執行后,木馬打開一個默認的端口進行監聽,當客戶機向服務端提出連接請求,服務器上的相應程序就會自動運行來應答客戶機的請求,服務器端程序與客戶端建立連接后,由客戶端發出指令,服務器在計算機中執行這些指令,并將數據傳送到客戶端,以達到控制主機的目的。
木馬程序的工作過程包含了木馬程序的偽裝、隱藏、啟動、通信以及攻擊等。特洛伊木馬程序的偽裝技術主要有以下幾種方法:修改圖標、捆綁于正常文件中、顯示出錯信息、自我銷毀、更改文件名。木馬的隱蔽性是木馬能否長期存活的關鍵,木馬隱藏的主要方式有:在任務欄里隱藏、隱藏端口、在任務管理器里隱藏、隱藏通信、隱藏啟動方式、隱藏傳播方式、最新隱身技術。特洛伊木馬程序主要有以下幾種啟動方式:隨正常的程序啟動而啟動、隱藏在配置文件中、潛伏在Win.ini中、在System.ini中藏身、偽裝成普通文件、內置到注冊表中、隱形于啟動組中、隱蔽在Winstart.bat中、設置在超級鏈接中。
遠程計算機控制指的是基于一定的物理網絡,通過一定的網絡協議,對分布在網絡上的計算機實現遠程控制并協同工作。目前的許多木馬檢測軟件正是通過掃描本地和遠程主機系統中打開的已知木馬端口進行木馬檢測的。為此采用新技術的木馬對其通信形式進行了隱蔽和變通,使其很難被端口掃描發現。木馬為隱蔽通信形式所采用手段有:端口復用、反彈端口和潛伏技術。
本系統采用基于反彈端口機制的C/S模型進行通信。反彈端口的機制是進行C/S的反向連接,即由服務器向客戶機主動建立連接。當服務端在目標主機上運行后,目標的主機系統會為其動態分配一個端口,此時,服務端即可向客戶端發起連接,并且連接的端口指向客戶端的80端口,即使用“netstat-an”命令查看本機的TCP/IP網絡連接狀態,也將顯示“TCP本機IP地址:端口 遠程IP地址:80ESTABLISHED”類似的數據,防火墻也不會阻擋這種非法連接,從而確保了木馬控制程序的安全和通信的隱蔽。
本節將詳細介紹遠程控制木馬的主要實現過程,包括客戶端和服務端的實現,通信模塊的實現,程序的界面和功能的測試等。
1.服務端程序的實現。本模塊通過修改注冊表來實現目標監控子系統的自啟動,根據注冊表的結構和每個鍵值的含義,服務端在注冊表中加載自啟動項及自啟動參數的位置如下:
Internet SettingsAgenter子鍵下加載系統的自啟動參數,如在線中轉服務器的IP地址、目標管理子系統的IP地址以及程序的配置信息等。
通信模塊的實現。通信模塊的開發采用Winsock API,建立基于阻塞模式的流式Sockets套接字,數據的接收和發送除了與通用流式套接字編程模型相同外,還增加了對數據的處理功能。
服務端管理模塊。管理模塊是服務端的主模塊,它將各個功能模塊融合在一起,實現對目標主機的監控和管理。它主要負責接收監控系統的命令,對其命令進行識別解釋,并調用各個功能模塊,執行管理器命令。
2.客戶端的實現??蛻舳耸沁\行在控制端主機上,用來遠程控制被控制端的信息和操作。客戶端運行后,修改中間服務器上的客戶端信息,包括客戶機IP,開放的端口和登錄密碼。修改成功后,等待遠程主機的上線。如果有遠程主機上線,則可以完成的操作有文件控制、系統控制和文件傳輸。
操作遠程主機的文件,完成所需要的目的,包括文件的新建、刪除、上傳和下載。作為木馬的破壞功能,系統控制中包括了遠程關機、重啟、注銷、鼠標屏幕控制等功能。選擇需要控制的主機,然后點擊相應的按鈕,即可完成操作。
選擇從遠程主機下載文件后,其具體實現就由文件傳輸模塊來實現。選擇需要的任務,然后點擊“正常啟動”,“暫停任務”和“刪除任務”按鈕完成相應操作。傳輸進度顯示當前啟動的任務文件已經完成數據程度。文件的傳輸采用斷點傳輸模式。
本文,筆者設計實現了一個基于反彈端口連接的遠程控制木馬,該木馬程序較成功地實現服務端的主動上線、客戶端對服務端的良好控制、服務端良好的偽裝和隱藏性以及整個通信過程的秘密性。通過該項目的實施,可對木馬技術、遠程控制技術、防火墻技術、信息系統安全等技術有了更加深刻的認識。