Rootkit的類型、功能及主要技術(shù)_第1頁
Rootkit的類型、功能及主要技術(shù)_第2頁
Rootkit的類型、功能及主要技術(shù)_第3頁
Rootkit的類型、功能及主要技術(shù)_第4頁
Rootkit的類型、功能及主要技術(shù)_第5頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Rootkit的類型、功能及主要技術(shù)Rootkit 的類型小結(jié)1.固化 Rootkits 和 BIOS Rootkits固化程序是存于 ROM 中,通常很小,使用系統(tǒng)硬件和 BIOS 創(chuàng)建頑固的軟件鏡像。將制定的代碼植入到BIOS中,刷新BIOS,在BIOS初始化的末尾獲得運行機會。重啟無用、 格式化無用,在硬盤上無法探測,現(xiàn)有的安全軟件將大部分的掃描時間用在了對硬盤的掃描 上。本文整理:(第三方信息安全網(wǎng)) HYPERLINK / /內(nèi)核級 Rootkits內(nèi)核級Rootkits(Kernelland Rootkits)是通過修改內(nèi)核、增加額外的代碼、直接修改系統(tǒng)調(diào)用表、系統(tǒng)調(diào)用跳轉(zhuǎn)(Sys

2、caHJump),并能夠替換一個操作系統(tǒng)的部分功能,包括內(nèi)核和 相關(guān)的設(shè)備驅(qū)動程序?,F(xiàn)在的操作系統(tǒng)大多沒有強化內(nèi)核和驅(qū)動程序的不同特性。許多內(nèi)核 模式的Rootkit是作為設(shè)備驅(qū)動程序而開發(fā),或者作為可加載模塊,如Linux中的可加載 模塊或Windows中的設(shè)備驅(qū)動程序,這類Rootkit極其危險,它可獲得不受限制的安全訪 問權(quán)。如果代碼中有任何一點錯誤,那么內(nèi)核級別的任何代碼操作都將對整個系統(tǒng)的穩(wěn)定性 產(chǎn)生深遠的影響。特點:無進程;無端口。與用戶級Rootkit相比,與操作系統(tǒng)處于同一級別,可以修改或 破壞由其它軟件所發(fā)出的任何請求。用戶態(tài) Rootkits用戶態(tài) Rootkits(Use

3、rland Rootkits)是運行在 Ring3 級的 Rootkit, 由于 Ring3 級就是 用戶應用級的程序,而且信任級別低,每一個程序運行,操作系統(tǒng)給這一層的最小權(quán)限。用 戶態(tài)Rootkit使用各種方法隱藏進程、文件,注入模塊、修改注冊表等。應用級 Rootkits應用級 Rootkits 通過具有特洛伊木馬特征的偽裝代碼來替換普通的應用程序的二進制代碼,也可以使用Hook、補丁、注入代碼或其它方式來修改現(xiàn)有應用程序的行為。代碼庫 Rootkits代碼庫Rootkits用隱藏攻擊者信息的方法進行補丁、Hook、替換系統(tǒng)調(diào)用。這種Rootkit可 以通過檢查代碼庫( 如 Window

4、s 中 DLL) 的改變而發(fā)現(xiàn)其蹤跡。實際上,很難檢測一些應用 程序和補丁包一起發(fā)行的多種程序庫中的 Rootkit。虛擬化 Rootkits 與 HypervisorRootkits虛擬化Rootkit(Virtual Rootkits)是利用虛擬機技術(shù)的虛擬機Rootkit (是模仿軟件虛擬機形式的Rootkit)。這種Rootkit通過修改計算機的啟動順序而發(fā)生作用,目的是加載 自己而不是原始的操作系統(tǒng)。一旦加載到內(nèi)存,虛擬化Rootkits就會將原始的操作系統(tǒng)加 載為一個虛擬機,這使得Rootkit能夠截獲客戶操作系統(tǒng)所發(fā)出的所有硬件請求。Hypervisor Rootkits是一種基

5、于硬件或固化的Rootkit。它具有管理員權(quán)限的管理程序,可以在支持硬件協(xié)助虛擬化和未安裝虛擬化軟件的系統(tǒng)上安裝基于Hypervisor的Rootkit。然后,這個基于Hypervisor的Rootkit將可以在比操作系統(tǒng)本身更高的權(quán)限級 別上運行。特點:合法內(nèi)核模式代碼降低了檢測出攻擊者 Hypervisor 模式代碼的能力。它是在硬件上 運行的虛擬的環(huán)境,由于攻擊者強行在真正的內(nèi)核插入虛擬機,在硬件上運行,因此,這常 被誤認為是內(nèi)核Rootkits。在攻擊者執(zhí)行內(nèi)核模式代碼之前,Hypervisor Rootkits不會 運行。當一個系統(tǒng)被 Hypervisor Rootkits 感染時,

6、在該系統(tǒng)的 Kernelland 沒有任何跡象, 這是與Hypervisor Rootkits而不是真正的硬件交互。因此,幾乎是不可能從Kernelland、Userland 和應用層檢測到。在 Rootkit 和 Anti-Rootkit 的對抗中,取決于對該 Hypervisor 層的檢測和預防,以及在哪一層安裝了 Rootkit。誰先去接近硬件就是贏者。這意味著如果用戶運行 基于 Userland 或 Kernelland 的 Anti-Rootkit 工具 ,無法 檢測到HypervisorRootkits,因為前者不是運行在真實的硬件上,但高于真正的硬件虛擬機。rootkit 的常見

7、功能:隱藏文件:通過strace ls可以發(fā)現(xiàn)ls命令其實是通過sys_getdents64獲得文件目錄的,因此可以通過修改sys_getdents64系統(tǒng)調(diào)用或者更底層的readdir實現(xiàn)隱藏文件及目錄, 還有對 ext2 文件系統(tǒng)直接進行修改的方法,不過實現(xiàn)起來不夠方便,也有一些具體的限制。隱藏進程:隱藏進程的方法和隱藏文件類似,ps命令是通過讀取/proc文件系統(tǒng)下的進程目 錄獲得進程信息的,只要能夠隱藏/proc文件系統(tǒng)下的進程目錄就可以達到隱藏進程的效 果,即 hook sys_getdents64和 readdir 等。隱藏連接:netstat命令是通過讀取/proc文件系統(tǒng)下的n

8、et/tcp和net/udp文件獲得當前 連接信息,因此可以通過hook sys_read調(diào)用實現(xiàn)隱藏連接,也可以修改tcp4_seq_show 和 udp4_seq_show 等函數(shù)實現(xiàn)。隱藏模塊:lsmod命令主要是通過sys_query_module系統(tǒng)調(diào)用獲得模塊信息,可以通過hook sys_query_module 系統(tǒng)調(diào)用隱藏模塊,也可以通過將模塊從內(nèi)核模塊鏈表中摘除從而達到 隱藏效果。嗅探工具:嗅探工具可以通過libpcap庫直接訪問鏈路層,截獲數(shù)據(jù)包,也可以通過linux 的netfilter框架在IP層的hook點上截獲數(shù)據(jù)包。嗅探器要獲得網(wǎng)絡(luò)上的其他數(shù)據(jù)包需要 將網(wǎng)卡設(shè)置

9、為混雜模式,這是通過ioctl系統(tǒng)調(diào)用的SIOCSIFFLAGS命令實現(xiàn)的,查看網(wǎng)卡 的當前模式是通過SIOCGIFFLAGS命令,因此可以通過hook sys_ioctl隱藏網(wǎng)卡的混雜模式。密碼記錄:密碼記錄可以通過hook sys_read系統(tǒng)調(diào)用實現(xiàn),比如通過判斷當前運行的進程名或者當前終端是否關(guān)閉回顯,可以獲取用戶的輸入密碼。hook sys_read還可以實現(xiàn)login 后門等其它功能。日志擦除:傳統(tǒng)的 unix 日志主要在/var/log/messages, /var/log/lastlog, /var/run/utmp,/var /log/wtmp下,可以通過編寫相應的工具對日志

10、文件進行修改,還可以將HISTFILE等 環(huán)境變設(shè)為/dev/null隱藏用戶的一些操作信息。內(nèi)核后門:可以是本地的提權(quán)后門和網(wǎng)絡(luò)的監(jiān)聽后門,本地的提權(quán)可以通過對內(nèi)核模塊發(fā)送定制命令實現(xiàn),網(wǎng)絡(luò)內(nèi)核后門可以在IP層對進入主機的數(shù)據(jù)包進行監(jiān)聽,發(fā)現(xiàn)匹配的指定 數(shù)據(jù)包后立刻啟動回連進程。rootkit 的主要技術(shù):lkm注射、模塊摘除、攔截中斷0 x80、0 x01)、劫持系統(tǒng)調(diào)用、運行時補丁、inline hook、 端口反彈lkm注射:也是一種隱藏內(nèi)核模塊的方法,通過感染系統(tǒng)的lkm,在不影響原有功能的情況 下將rootkit模塊鏈接到系統(tǒng)lkm中,在模塊運行時獲得控制權(quán),初始化后調(diào)用系統(tǒng)lkm

11、 的初始化函數(shù), lkm 注射涉及到 elf 文件格式與模塊加載機制。模塊摘除:主要是指將模塊從模塊鏈表中摘除從而隱藏模塊的方法,最新加載的模塊總是在 模塊鏈表的表頭,因此可以在加載完rootkit模塊后再加載一個清除模塊將rootkit模塊信 息從鏈表中刪除,再退出清除模塊,新版本內(nèi)核中也可以通過判斷模塊信息后直接list_del。攔截中斷:主要通過sidt指令獲得中斷調(diào)用表的地址,進而獲取中斷處理程序的入口地址, 修改對應的中斷處理程序nt 0 x80, int 0 x1等。其中攔截int 0 x1是較新的技術(shù),主 要利用系統(tǒng)的調(diào)試機制,通過設(shè)置DR寄存器在要攔截的內(nèi)存地址上下斷點,從而在

12、執(zhí)行到 指定指令時轉(zhuǎn)入0 x1中斷的處理程序,通過修改0 x1中斷的處理程序即可實現(xiàn)想要的功能。劫持系統(tǒng)調(diào)用:和攔截中斷類似,但主要是對系統(tǒng)調(diào)用表進行修改,可以直接替換原系統(tǒng)調(diào) 用表,也可以修改系統(tǒng)調(diào)用表的入口地址。在2.4內(nèi)核之前,內(nèi)核的系統(tǒng)調(diào)用表地址是導出 的,因此可以直接對其進行修改。但在2.6內(nèi)核之后,系統(tǒng)調(diào)用表的地址已經(jīng)不再導出,需 要對 0 x80 中斷處理程序進行分析從而獲取系統(tǒng)調(diào)用表的地址。運行時補丁:字符設(shè)備驅(qū)動程序和塊設(shè)備驅(qū)動程序在加載時都會向系統(tǒng)注冊一個Struct file_operations結(jié)構(gòu)實現(xiàn)指定的read、write等操作,文件系統(tǒng)也是如此,通過修改文件 系統(tǒng)的file_operatio

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論