Rootkit病毒利用“天龍八部”私服傳播,可劫持網頁
近期,火絨威脅情報系統監測到一種Rootkit病毒正通過“天龍八部”游戲私服進行傳播。該病毒通過劫持用戶訪問的網頁來推廣自己的私服網站,并且具有廣告推廣功能。此外,其還采用多種對抗手段來對抗殺毒軟件查殺,對用戶構成較大威脅。目前,火絨安全產品可對上述病毒進行攔截查殺,請用戶及時更新病毒庫以進行防御。

查殺圖
用戶登錄“天龍八部”游戲私服后,Rootkit病毒會被釋放,隨后進行網頁劫持、廣告推廣等惡意行為。用戶再次訪問“天龍八部”相關網頁時,會跳轉到指定的私服網站,該病毒的執行流程,如下圖所示:

病毒執行流程圖
一
樣本分析
病毒功能的分析
初始化階段
Rootkit病毒被加載后,會先將自身復制到Driver目錄下,并添加注冊表啟動項,相關代碼,如下圖所示:

復制自身到Driver并添加注冊表啟動項
之后,在驅動模塊中會向C&C服務器請求配置信息,成功從C&C服務器獲取配置信息后,該Rootkit病毒將這些配置信息整合并添加到各個惡意功能的鏈表結構中,有些配置會進行加密并保存到注冊表中(網頁劫持規則、要攔截的驅動列表)。在執行惡意功能時,Rootkit病毒會根據對應鏈表中的配置信息來確定執行的具體行為和方式。相關代碼,如下圖所示:

請求C&C服務器配置信息
獲取到的相關配置信息,如下圖所示:

配置信息
病毒自我保護策略
為了降低被檢測和清除的可能性,該病毒將自身偽裝成系統驅動pci.sys。這種偽裝策略使得它在運行時能夠混淆在正常系統進程中,讓安全人員進行排查時容易疏忽,相關代碼,如下圖所示:

偽裝成系統驅動
從火絨劍中可以看見有兩個pci.sys驅動,如下圖所示:

火絨劍
該Rootkit病毒還會通過Hook FSD (文件系統驅動) 設備對象的方式來保護自身不被讀取和修改,來躲避殺毒軟件的查殺,相關代碼,如下圖所示:

HOOK FSD保護自身不被讀取和寫入
該病毒還會通過直接向文件系統驅動(FSD)發送 I/O 請求包(IRP)來打開其自身,然后持續保持相關句柄不釋放。這種策略將導致惡意驅動無法被刪除,從而達成了其自我保護的目標,相關代碼,如下圖所示:

保護自身不被刪除
為了防止注冊表項被刪除,該病毒會注冊一個關機回調,如果不存在專殺工具的話,就會重新添加一個注冊表項,相關代碼,如下所示:

關機回調函數
還會添加一個模塊加載回調,該回調中會根據C&C服務器下發的配置信息,來攔截指定的驅動文件,大多數Rootkit病毒都使用該功能來攔截殺毒軟件驅動,相關代碼,如下圖所示:

模塊加載回調攔截指定驅動
該病毒除了采用各種自保策略保護自身外,還會創建一個獨立的監控線程來持續檢測系統進程,檢查是否有專門的殺毒工具在運行,如果發現專殺工具運行就會減少惡意行為,相關代碼,如下圖所示:

檢測專殺工具
病毒推廣策略
在受害者打開指定進程時,會彈出相關推廣網頁,該病毒在應用層模塊和驅動層模塊都實現了該功能。
應用層網頁推廣功能
驅動中會釋放隨機文件名的應用層模塊到Sytem32目錄中,通過注入Winlogon進程中執行WinExec來調用該模塊,相關代碼,如下圖所示:

釋放應用層模塊
在應用層模塊中會向C&C服務器請求配置文件,獲取進程以及對應的推廣鏈接,在監測到某進程存在后會打開指定推廣鏈接。獲取配置信息代碼,如下圖所示:

獲取配置信息
在調試過程中C&C服務器并未下發相關推廣配置。當用戶打開配置中指定的進程時,會彈出指定推廣網頁,相關推廣代碼,如下圖所示:

彈出指定推廣網頁
驅動層網頁推廣功能
該病毒會添加一個進程回調,在回調中實現類似應用層模塊功能,在指定進程啟動后會彈出指定的推廣網頁,相關代碼,如下圖所示:

網頁推廣
網頁劫持策略
該病毒使用WFP網絡過濾驅動來劫持用戶訪問的天龍八部私服到黑客指定的私服,WFP網絡過濾驅動相關代碼,如下圖所示:

添加WFP過濾層
在FWPM_LAYER_STREAM_V4過濾層中會監聽http請求,會判斷訪問的網頁是否需要劫持,如果需要進行劫持就會記錄相關數據流信息以及劫持的網頁,相關代碼,如下圖所示:

判斷是否需要劫持
該病毒實現網頁劫持主要通過以下三種方式:
1.修改http請求將目標網站改成劫持的網站;
2.修改http請求重定向到劫持的網站;
3.直接修改網頁返回的內容顯示劫持網站,
網頁劫持相關代碼,如下圖所示:

網絡劫持代碼
二
附錄
C&C:

HASH:
