閩人
Rootkit病毒的開發者常常是把后門寫成符合微軟WDM規范的驅動程序模塊,然后把自身添加進注冊表的驅動程序加載入口,很多還會通過添加的服務進行自我監視。這樣一旦發現驅動文件被刪除則會立刻“復活”,這就導致此類病毒極難被徹底查殺。因此如果大家懷疑自己的電腦中招Rootkit病毒,首先就要檢查當前加載的驅動,這可以借助OpenArk軟件(下載地址:https://openark.blackint3.com/)來完成。安裝完該軟件后以管理員身份啟動,切換到“內核→驅動管理”,它會列出本機里所有加載的驅動程序。
一般情況下,因為Rootkit病毒的開發者沒有公司,或者是一些非知名公司,所以我們可以點擊“公司”進行排序。之后對標示紅色的驅動進行排查,類似dump _x x x x.sys之類的驅動,通過搜索微軟的技術文檔可以知道這些是在系統啟動時加入到內核,在出現藍屏時生成dump內存鏡像的工具,所以可以先將這類文件篩除(圖2)。
接著再忽略英特爾、微軟等知名公司的驅動,并結合藍屏提示,如圖1的藍屏錯誤,顯示的是“passguard_ x64.sys”文件錯誤,其公司名一欄為空,是可疑文件。用鼠標右擊該文件并選擇“定位到文件”,自動跳轉到它所在的文件夾,右擊這一文件并選擇“屬性”,依次切換到“數字簽名→簽名列表→簽名者姓名”,可以看到是一個非知名公司的簽名(圖3)。

筆者試圖刪除該文件,系統卻提示該文件正在被使用而無法刪除。因為驅動都是通過系統服務來加載的,所以先要找到對應的服務。啟動注冊表編輯器,依次展開[計算機\HKEY_ LOCAL _MACHINE\SYSTEM\CurrentControlSet\Ser vices](即服務所在的鍵值),搜索關鍵詞“passguard_x64.sys”,可以找到加載該驅動的服務,路徑為[H K E Y_ LOCA L _ MACH I N E \SYSTEM\CurrentControlSet\Services\PassGuard](圖4)。
刪除[PassGuard]鍵值后重啟電腦(建議刪除前先備份該鍵值),然后打開“C:\Windows\System32\drivers”并刪除“passguard_x64.sys”。可是再次重啟電腦后發現它又“復活”了,顯然在系統后臺還有一個監視進程。同上啟動OpenArt后切換到“進程”,點擊“公司名”進行排序,同樣排查無公司名稱的進程。通過查看文件的簽名信息后發現,“roca.exe”和“passguard_x64.sys”是一致的,描述顯示“Windows服務主進程”、啟動的父進程ID是868(圖5)。
在上述的窗口中點擊“進程ID”進行排序,可以看到進程ID是868的進程名稱為“ser vices.exe”(即系統服務進程),既然“roca.exe”是通過父進程“ser vices.exe”啟動的,結合進程描述為“Windows服務主進程”,可以判定“roca.exe”是一個系統服務進程(圖6)。

繼續啟動注冊表編輯器,同上展開上述的[Services]鍵值并搜索“roca.exe”,可以找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\roca]服務,其DisplayName(服務顯示名稱)的數值為“@%systemroot%\system32\roca.exe,-1”。再以該數值為關鍵詞進行查找,在[HKEY_USERS\S-1-5-21-2763384395-1765730566-4010330844-1001_Classes\LocalSettings\MuiCache\27\AAF68885]中可以看到它對應的數據名稱為“roca”(圖7),這個就是該服務在“服務管理組件”窗口中顯示的名稱。接下來就可以通過名稱找到具體的服務并進行處置。
打開系統的服務管理,按提示找到“roca”服務并將其停止,同時在注冊表中刪除它所對應的服務鍵值。重啟系統后分別進入“C:\Windows\System32\drivers”和“C:\Windows”,刪除“passguard_x64.sys”和“roca.exe”。再次重啟后電腦恢復正常,也未出現藍屏現象,自此順利地刪除該病毒。
當然,完成上述操作后,為了確保系統里沒有漏網之魚,大家還可以使用一些專門的Rootkit病毒查殺工具進行全面掃描,如卡巴斯基的TDSSKiller等,啟動程序后點擊Scan進行全面掃描即可(圖8)。