木馬攻擊原理
木馬程序是一種客戶機服務器程序,典型結(jié)構(gòu)為客戶端/服務器(Client/Server,C/S)模式,服務器端(被攻擊的主機)程序在運行時,黑客可以使用對應的客戶端直接控制目標主機。操作系統(tǒng)用戶權限管理中有一個基本規(guī)則,就是在本機直接啟動運行的程序擁有與使用者相同的權限。假設你以管理員的身份使用機器,那么從本地硬盤啟動的一個應用程序就享有管理員權限,可以操作本機的全部資源。但是從外部接入的程序一般沒有對硬盤操作訪問的權限。木馬服務器端就是利用了這個規(guī)則,植入目標主機,誘導用戶執(zhí)行,獲取目標主機的操作權限,以達到控制目標主機的目的的。
木馬程序的服務器端程序是需要植入到目標主機的部分,植入目標主機后作為響應程序??蛻舳顺绦蚴怯脕砜刂颇繕酥鳈C的部分,安裝在控制者的計算機上,它的作用是連接木馬服務器端程序,監(jiān)視或控制遠程計算機。
典型的木馬工作原理是:當服務器端程序在目標主機上執(zhí)行后,木馬打開一個默認的端口進行監(jiān)聽,當客戶端(控制端)向服務器端(被控主機)提出連接請求時,被控主機上的木馬程序就會自動應答客戶端的請求,服務器端程序與客戶端建立連接后,客戶端(控制端)就可以發(fā)送各類控制指令對服務器端(被控主機)進行完全控制,其操作幾乎與在被控主機的本機操作的權限完全相同。
木馬軟件的終極目標是實現(xiàn)對目標主機的控制,但是為了實現(xiàn)此目標,木馬軟件必須采取多種方式偽裝,以確保更容易地傳播,更隱蔽地駐留在目標主機中。
下面介紹木馬的種植原理和木馬的隱藏。
(1)木馬種植原理
木馬程序最核心的一個要求是能夠?qū)⒎掌鞫顺绦蛑踩肽繕酥鳈C。木馬種植(傳播)的方式一般包括以下3種。
1)通過電子郵件附件夾帶
這是最常用也是比較有效的一種方式。木馬傳播者將木馬服務器端程序以電子郵件附件的方式附加在電子郵件中,針對特定主機發(fā)送或漫無目的地群發(fā),電子郵件的標題和內(nèi)容一般都非常吸引人,當用戶點擊閱讀電子郵件時,附件中的程序就會在后臺悄悄下載到本機。
2)捆綁在各類軟件中
黑客經(jīng)常把木馬程序捆綁在各類所謂的補丁、注冊機、破解程序等軟件中進行傳播,當用戶下載相應的程序時,木馬程序也會被下載到自己的計算機中,這類方式的隱蔽度和成功率較高。
3)網(wǎng)頁掛馬
網(wǎng)頁掛馬是在正常瀏覽的網(wǎng)頁中嵌入特定的腳本代碼,當用戶瀏覽該網(wǎng)頁時,嵌入網(wǎng)頁的腳本就會在后臺自動下載其指定的木馬并執(zhí)行。其中網(wǎng)頁是網(wǎng)頁木馬的核心部分,特定的網(wǎng)頁代碼使網(wǎng)頁被打開時木馬能隨之下載并執(zhí)行。網(wǎng)頁掛馬大多利用瀏覽器的漏洞來實現(xiàn),也有利用ActiveX控件或釣魚網(wǎng)頁來實現(xiàn)的。
(2)木馬程序隱藏
木馬程序為了能更好地躲過用戶的檢查,以悄悄控制用戶系統(tǒng),必須采用各種方式將其隱藏在用戶系統(tǒng)中。木馬為了達到長期隱藏的目的,通常會同時采用多種隱藏技術。木馬程序隱藏的方式有很多,主要包括以下4類:
① 通過將木馬程序設置為系統(tǒng)、隱藏或是只讀屬性來實現(xiàn)隱藏;
② 通過將木馬程序命名為和系統(tǒng)文件的名稱極度相似的文件名,從而使用戶誤認為其是系統(tǒng)文件而忽略之;
③ 將木馬程序存放在不常用或難以發(fā)現(xiàn)的系統(tǒng)文件目錄中;
④ 將木馬程序存放的區(qū)域設置為壞扇區(qū)的硬盤磁道。
(3)木馬啟動隱藏
木馬程序在啟動時必須讓操作系統(tǒng)或殺毒軟件無法發(fā)現(xiàn)自身才能駐留系統(tǒng)。木馬程序啟動的隱藏方式介紹如下。
1)文件偽裝
木馬最常用的文件隱藏方式是將木馬文件偽裝成本地可執(zhí)行文件。例如,木馬程序經(jīng)常會將自己偽裝成圖片文件,修改其圖標為Windows默認的圖片文件圖標,同時修改木馬文件擴展名為.jpg、.exe等,由于Windows默認設置不顯示已知的文件后綴名,因此文件將會顯示為.jpg,當用戶以正常圖片文件打開并瀏覽其時就會啟動木馬程序。
2)修改系統(tǒng)配置
利用系統(tǒng)配置文件的特殊作用,木馬程序很容易隱藏在系統(tǒng)啟動項中。例如,Windows系統(tǒng)配置文件MSCONFIG.sys中的系統(tǒng)啟動項system.ini是眾多木馬的隱藏地。Windows安裝目錄下的system.ini[boot]字段中,正常情況下有boot=“Explorer.exe”,如果其后面有其他的程序,如boot=“Explorer.exe file.exe”,則這里的file.exe就有可能是木馬服務端程序。
3)利用系統(tǒng)搜索規(guī)則
Windows系統(tǒng)搜尋一個不帶路徑信息的文件時遵循“從外到里”的規(guī)則,它會由系統(tǒng)所在的盤符的根目錄開始向系統(tǒng)目錄深處遞進查找,而不是精確定位。這就意味著,如果有兩個同樣名稱的文件分別放在“C:\”和“C:\WINDOWS”下時,搜索會執(zhí)行C:\下的程序,而不是C:\WINDOWS下的程序。這樣的搜尋規(guī)則就給木馬提供了一個機會,木馬可以把自己改為系統(tǒng)啟動時必定會調(diào)用的某個文件,并復制到比原文件的目錄淺一級的目錄里,操作系統(tǒng)就會執(zhí)行這個木馬程序,而不是正常的那個程序。若要提防這種占用系統(tǒng)啟動項而做到自動運行的木馬,則用戶必須了解自己的計算機里所有正常的啟動項信息。
4)替換系統(tǒng)文件
木馬程序會利用系統(tǒng)里的那些不會危害到系統(tǒng)正常運行而又會被經(jīng)常調(diào)用的程序文件,如輸入法指示程序。木馬程序會替換掉原來的系統(tǒng)文件,并把原來的系統(tǒng)文件名改成只有木馬程序知道的一個生僻文件名。只要系統(tǒng)調(diào)用那個被替換的程序,木馬就能繼續(xù)駐留內(nèi)存。木馬程序作為原來的程序被系統(tǒng)啟動時,會獲得一個由系統(tǒng)傳遞來的運行參數(shù),此時,木馬程序就把這個參數(shù)傳遞給被改名的程序執(zhí)行。
(4)木馬進程隱藏
木馬程序運行后的進程隱藏有兩種情況:一種是木馬程序的進程存在,只是不出現(xiàn)在進程列表里,采用APIHOOK技術攔截有關系統(tǒng)函數(shù)的調(diào)用以實現(xiàn)運行時的隱藏;另一種是木馬不以一個進程或者服務的方式工作,而是將其核心代碼以線程或DLL的方式注入合法進程,用戶很難發(fā)現(xiàn)被插入的線程或DLL,從而達到木馬隱藏的目的。
在Windows系統(tǒng)中常見的隱藏方式有注冊表DLL插入、特洛伊DLL、動態(tài)嵌入技術、CreateProcess插入和調(diào)試程序插入等。
(5)木馬通信時的信息隱藏
木馬運行時需要通過網(wǎng)絡與外機通信,以獲取外機的控制命令或向外機發(fā)送信息。木馬通信時的信息隱藏主要包括通信內(nèi)容、流量、信道和端口的隱藏。
木馬常用的通信內(nèi)容隱藏方法是對通信內(nèi)容進行加密。通信信道的隱藏一般采用網(wǎng)絡隱蔽通道技術。在TCP/IP族中,有許多冗余信息可用于建立網(wǎng)絡隱蔽通道。木馬可以利用這些網(wǎng)絡隱蔽通道突破網(wǎng)絡安全機制。比較常見的有:ICMP畸形報文傳遞、HTTP隧道技術、自定義 TCP/UDP報文等。木馬采用網(wǎng)絡隱蔽通道技術時,如果選用一般的安全策略都會允許的端口(如80端口)進行通信,則可輕易穿透防火墻和避過入侵檢測系統(tǒng)等安全機制的檢測,從而獲得較強的隱蔽性。通信流量的隱藏一般采用監(jiān)控系統(tǒng)網(wǎng)絡通信的方式,當監(jiān)測到系統(tǒng)中存在其他通信流量時,木馬程序就會啟動通信;當不存在其他通信流量時,木馬程序就會處于監(jiān)聽狀態(tài),等待其他通信開啟。
(6)木馬隱蔽加載
木馬隱蔽加載是指通過修改虛擬設備驅(qū)動程序(VxD)或動態(tài)鏈接庫(DLL)來加載木馬。這種方法基本上擺脫了原有的木馬模式——監(jiān)聽端口,而采用了替代系統(tǒng)功能的方法(改寫VxD或DLL文件):木馬用修改后的DLL替換系統(tǒng)原來的DLL,并對所有的函數(shù)調(diào)用進行過濾。對于常用函數(shù)的調(diào)用,木馬會使用函數(shù)轉(zhuǎn)發(fā)器將其直接轉(zhuǎn)發(fā)給被替換的系統(tǒng)DLL;對于一些事先約定好的特殊情況,木馬會自動執(zhí)行。一般情況下,DLL只是進行監(jiān)聽,一旦發(fā)現(xiàn)控制端的請求,其就會激活自身。這種木馬沒有增加新的文件,不需要打開新的端口,沒有新的進程,使用常規(guī)的方法無法監(jiān)測到。在正常運行時,木馬幾乎沒有任何蹤跡,只有在木馬的控制端向被控制端發(fā)出特定的信息后,隱藏的木馬程序才會開始運行。
責編AJX
-
網(wǎng)絡安全
+關注
關注
11文章
3413瀏覽量
62442 -
木馬
+關注
關注
0文章
47瀏覽量
13643 -
網(wǎng)絡攻擊
+關注
關注
0文章
331瀏覽量
24080
發(fā)布評論請先 登錄
從晶圓代工廠下黑手?提防集成電路的“硬件木馬”
[轉(zhuǎn)帖]利用windows命令來識別木馬病毒
【assingle原創(chuàng)】試論網(wǎng)絡入侵、攻擊與防范技術
什么是特洛伊木馬技術
木馬的工作原理

特洛伊木馬類型及隱藏技術
改進歐式距離的硬件木馬檢測

如何使用信息隱藏技術進行木馬植入的方法概述

卡巴斯基實驗室發(fā)現(xiàn),2019年銀行木馬攻擊的數(shù)量將繼續(xù)增加
數(shù)字貨幣挖礦如何防范挖礦木馬攻擊
網(wǎng)站服務器被攻擊后如何查找被木馬篡改的痕跡
詳談挖礦木馬的檢測和解決方案

基于RNN和深度學習的Linux遠控木馬檢測

一文詳談波峰焊接工藝資料下載

華為安全大咖談 | 華為終端檢測與響應EDR 第05期:挖礦木馬防御新視角:從攻擊鏈檢測到深度處置

評論