Liang的Rootkit习作-ZION
Win32平臺下的Rootkit習(xí)作 Codename: Zion by Liang
Zion是一套Rootkit攻防函數(shù)庫,我(Liang)負責(zé)全部的攻擊部分,檢測部分由另一實習(xí)生同學(xué)完成,能夠躲避常見的安全檢測工具這是本次練習(xí)中的關(guān)鍵任務(wù),針對這些流行的內(nèi)核級Rootkit隱藏技術(shù),我一一對它們進行了實現(xiàn)。用戶可通過命令行輸入特定命令,達到特定的隱藏目的,效果圖如下:
?
目前的實現(xiàn)包括:
A 掛鉤系統(tǒng)服務(wù)描述表隱藏進程與文件 用戶可在用戶模式下自定義掛鉤函數(shù),放在緩沖區(qū)中傳入內(nèi)核態(tài)。進入內(nèi)核態(tài)后,程序分配一段非分頁區(qū)存放該例程。利用這種方式,即使檢測軟件發(fā)現(xiàn)了SSDT HOOK的存在,也無法得知該HOOK 例程屬于哪一驅(qū)動模塊(因為分配的這段非分頁區(qū)不在任何模塊的地址空間范圍中),達到了其隱藏目的。因而是本次練習(xí)的一個亮點所在。
B DKOM方式隱藏進程、驅(qū)動模塊 對于DKOM,沒有很好的創(chuàng)新思路,唯一的原則便是分析檢測工具的原理,然后制定相應(yīng)的執(zhí)行體對象修改方案。在隱藏驅(qū)動以及注冊表部分可以繞過ICESword檢測。然而,IceSword檢測進程使用了四種不同的方式,其中直接搜索內(nèi)存的方式無法通過DKOM方式繞過。
C 驅(qū)動派遣例程掛鉤方式隱藏網(wǎng)絡(luò)連接信息 在《Subverting the Windows Kernel》中給出了隱藏TCP連接的示例代碼,本次練習(xí)中我在此基礎(chǔ)上對其進行了完善,使其能夠繞過一些Anti-rootkit如IceSword的檢測(原版并不能繞過),并增加了過濾功能(例如用戶可自定義需要隱藏的ip信息與端口,操作非常友好)。另外,逆向了tcpip中查詢連接信息的代碼,分析出UDP的相關(guān)查詢結(jié)構(gòu),實現(xiàn)了UDP通信的隱藏。
D 文件過濾驅(qū)動實現(xiàn)隱藏文件或文件夾 修改自Winodws DDK的Sample Code: Sfilter。 刪去了很多功能:例如,動態(tài)綁定卷等。 這種方式與驅(qū)動派遣例程掛鉤原理類似,并沒有實際意義,僅僅為了Zion的完整性而加入。
E 掛鉤注冊表儲巢查詢例程實現(xiàn)注冊表隱藏 參考Pediy的《也談rootkit 注冊表信息隱藏》。
F 對檢測工具的一點總結(jié) 無論是Cross-View檢測技術(shù)還是掃描內(nèi)核代碼檢測Hook的技術(shù),要確保檢測結(jié)果的正確性,就必須保證檢測所采用的技術(shù)比Rootkit本身更底層。而Zion Rootkit之所以能繞過IceSword對內(nèi)核模塊、端口信息、注冊表的檢測,正是因為在隱藏手段上,Zion使用了更為底層的技術(shù)。 從本質(zhì)上講,內(nèi)核態(tài)Rootkit之所以存在,是因為Windows為了提高查詢操作的效率,在內(nèi)核中預(yù)留了許多冗余信息,例如:Windows采用遍歷EPROCESS鏈表的方式枚舉進程,然而CPU調(diào)度的最基本單位是線程,斷鏈EPROCESS并不會影響到CPU對線程的調(diào)度。如果檢測工具能夠找到CPU調(diào)度線程的真實鏈表對其進行枚舉,那么得到的結(jié)果必將是準(zhǔn)確的(這里排除了Shadow Walker這類Rootkit技術(shù)),因為一旦Rootkit斷鏈了CPU調(diào)度線程列表,那么被斷鏈的線程將永遠得不到執(zhí)行,這種操作應(yīng)當(dāng)視為“刪除”,而非“隱藏”。 可以這么說,運行于Windows內(nèi)核級的所有檢測技術(shù),永遠是不可靠的。必須比內(nèi)核級Rootkit優(yōu)先級別高,才能真正實現(xiàn)可靠檢測。將操作系統(tǒng)以虛擬化模式運行,在其之上進行實時監(jiān)測,是一種比較理想的方法(如North Security Labs 推出的Hypersight RD),因為在這種情況下,Rootkit理論上不可能知道運行在其之上的檢測程序的存在。(但是,對于目前最新的硬件級Rootkit,這種檢測方式也是不可靠的。比如Bluepill Rootkit) - END by Liang
總結(jié)
以上是生活随笔為你收集整理的Liang的Rootkit习作-ZION的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 非常好用的截图做笔记软件
- 下一篇: jenkins的企业微信通知报错:No