關(guān)于r77-Rootkit
r77-Rootkit是一款功能強(qiáng)大的無(wú)文件Ring 3 Rootkit,并且?guī)в型暾陌踩ぞ吆统志没瘷C(jī)制,可以實(shí)現(xiàn)進(jìn)程、文件和網(wǎng)絡(luò)連接等操作及任務(wù)的隱藏。
r77能夠在所有進(jìn)程中隱藏下列實(shí)體:
文件、目錄、連接、命名管道、計(jì)劃任務(wù);
進(jìn)程;
CPU用量;
注冊(cè)表鍵&值;
服務(wù);
TCP&UDP連接;
該工具兼容32位和64位版本的windows 7以及Windows 10。
通過(guò)前綴隱藏
所有以“$77”為前綴命名的實(shí)體都將被隱藏:
配置系統(tǒng)
動(dòng)態(tài)配置系統(tǒng)允許廣大研究人員通過(guò)PID或抿成來(lái)隱藏進(jìn)程,通過(guò)完整路徑來(lái)隱藏文件系統(tǒng),或通過(guò)指定端口隱藏TCP&UDP連接:
配置信息存儲(chǔ)在“HKEY_LOCAL_macHINESOFTWARE$77config”中,并且可以在未提權(quán)狀態(tài)下由任何進(jìn)程寫(xiě)入。這個(gè)鍵的DACL被設(shè)置為可以給任意用戶授予完整訪問(wèn)權(quán)。
“$77config”鍵在注冊(cè)表編輯器被注入了Rootkit之后會(huì)自動(dòng)隱藏。
安裝工具
r77可以直接使用單獨(dú)的“Install.exe”進(jìn)行安裝,安裝工具會(huì)將r77服務(wù)在用戶登錄之前開(kāi)啟,后臺(tái)進(jìn)程會(huì)向所有當(dāng)前正在運(yùn)行以及后續(xù)生成的進(jìn)程中注入命令。這里需要使用兩個(gè)進(jìn)程來(lái)分別注入32位和64位進(jìn)程,這兩個(gè)進(jìn)程都可以使用配置系統(tǒng)和PID來(lái)進(jìn)行隱藏。
“Uninstall.exe”程序負(fù)責(zé)將r77從系統(tǒng)中卸載掉,并解除Rootkit跟所有進(jìn)程的綁定關(guān)系。
無(wú)文件持久化
Rootkit將駐留在系統(tǒng)內(nèi)存中,不會(huì)將任何文件寫(xiě)入磁,這種機(jī)制是分多個(gè)階段實(shí)現(xiàn)的。
階段一
安裝程序?yàn)?2位和64位r77服務(wù)創(chuàng)建兩個(gè)計(jì)劃任務(wù)。計(jì)劃任務(wù)確實(shí)需要存儲(chǔ)名為$77svc32.job和$77svc64.job的文件,這是無(wú)文件概念的唯一例外。但是,一旦Rootkit運(yùn)行,計(jì)劃任務(wù)也會(huì)通過(guò)前綴隱藏。
計(jì)劃任務(wù)將使用下列命令開(kāi)啟“powershell.exe”:
[Reflection.Assembly]::Load([Microsoft.Win32.Registry]::LocalMachine.OpenSubkey('SOFTWARE').GetValue('$77stager')).EntryPoint.Invoke($Null,$Null)
該命令是內(nèi)聯(lián)的,不需要.ps1腳本。這里,使用PowerShell的.NET Framework功能從注冊(cè)表加載C#可執(zhí)行文件并在內(nèi)存中執(zhí)行。由于命令行的最大長(zhǎng)度為260(MAX_PATH),因此只有足夠的空間執(zhí)行簡(jiǎn)單的Assembly.Load().EntryPoint.Invoke()。
階段二
執(zhí)行的C#代碼為stager,它將會(huì)使用Process Hollowing技術(shù)創(chuàng)建r77服務(wù)進(jìn)程。r77服務(wù)是一個(gè)本地可執(zhí)行文件,分別以32位和64位架構(gòu)繼續(xù)寧編譯。父進(jìn)程被設(shè)置為了winlogon.exe以增加欺騙性(模糊性)。另外,這兩個(gè)進(jìn)程被ID隱藏,在任務(wù)管理器中不可見(jiàn)。
磁盤(pán)上從未存儲(chǔ)可執(zhí)行文件或DLL。stager存儲(chǔ)在注冊(cè)表中,并從其資源加載r77服務(wù)可執(zhí)行文件。
測(cè)試環(huán)境
測(cè)試控制臺(tái)可以用來(lái)向單獨(dú)進(jìn)程注入r77,或接觸進(jìn)程跟Rootkit的綁定關(guān)系:
項(xiàng)目地址
r77-Rootkit:https://github.com/bytecode77/r77-rootkit
參考資料
https://bytecode77.com/downloads/r77%20Rootkit%20Technical%20Documentation.pdf
https://bytecode77.com/r77-rootkit?






