傳奇私服暗藏殺機,亡靈病毒肆虐江湖

語言: CN / TW / HK

概況

以《傳奇》為代表的各大遊戲私服非法運營活動長期氾濫,在國內遊戲地下黑產圈內堪稱獨樹一幟,圍繞遊戲暴利的爭奪導致各大私服運營者之間鬥爭加劇,頻繁利用網絡劫持、DDOS等技術手段進行”攻城掠地”,所以私服客户端一直都是頑固病毒家族繁殖傳播的沉痾宿疾。為了對抗競爭者、外掛和安全廠商,私服客户端經常捆綁各類Rootkit/Bootkit類頑固病毒,並且盜用冒用正常軟件數字簽名逃避查殺防禦,採用VMP等虛擬機強殼保護對抗分析。作為剛性強需求,普通遊戲用户會往往無視安全軟件查殺攔截提示,反而主動放行惡意驅動模塊的加載,最終導致網絡瀏覽異常、系統藍屏崩潰、感染盜號木馬等嚴重安全後果。

近期,毒霸安全團隊通過“捕風”系統再次監測到一類劫持Rootkit病毒家族的活躍跡象,該病毒家族主要通過各類私服客户端進行捆綁傳播,主要通過TDI過濾、DNS劫持、HTTP(s)注入、HOSTS重定向等技術手法篡改用户系統網絡數據包,將正常網頁訪問劫持引流至指定私服網站,並利用安全軟件雲查殺數據包屏蔽、關機回調重寫等手段實現對抗查殺,此外,該家族還針對私服運營競爭對手常用的病毒驅動簽名進行屏蔽對抗,實現長期穩定劫持控制用户的目的。

根據其模塊pdb路徑中的項目名稱”fk_undead”,我們將其命名為” 亡靈 ” 家族。 從我們的長期監控數據看,該家族近兩年非常活躍,從2017年初開始盜用正規廠商數字簽名頻繁變種傳播,本次變種版本最早出現於2018年10左右,目前該家族呈現活躍趨勢,全網累計感染量預估超過50萬。

技術分析

該病毒的主要運行流程如下:

病毒驅動從惡意傳奇私服客户端層層釋放而來,根據系統版本的不同,最終釋放不同的驅動文件,我們以其中一個樣本為例。

用户打開傳奇私服客户端之後,程序釋放ntprint.exe到TEMP目錄下,ntprint.exe主要負責上報相關配置信息到指定服務器,上報完成後會下載 http://183.2.193.147:11153/msvcdlx *.dat到本地,而這個msvcdlx*.dat又會下載4個驅動文件到本地,這4個驅動文件的大致用途如下:

(1)mstxdlx*.dat

以64位系統下釋放的驅動(mstxdlx64.dat)為例,它主要的作用是通過劫持用户電腦的網絡以及篡改相關係統配置,從而達到攔截殺軟雲查詢以及劫持HTTP的正常訪問,具體實現方式如下:

A、註冊TDI回調函數,過濾收發包

病毒驅動加載後,對TDI_SEND和TDI_SET_EVENT_HANDLER進行了處理,前者主要是負責網絡數據的發包,後者則是負責對接收到網絡數據進行處理,對這兩個地方進行過濾處理之後,帶來的效果就是訪問A域名,實際打開的卻是B網站。

在TDI_SEND中,通過檢測360與其雲端的通訊時的關鍵字段“x-360-ver:”,中斷雲查詢,從而造成雲查殺的失效:

在TDI_SET_EVENT_HANDLER中,收到符合規則的請求響應數據後,病毒直接修改數據包,嵌入相應的HTML框架代碼進行劫持,劫持後效果如下:

以下則是被篡改插入的數據包代碼:

B、 設置IE代理,劫持HTTP訪問

通常在設置了TDI過濾之後,就已經實現對網絡的全局管理了,而設置IE代理的目的,猜測是為了在病毒驅動被殺軟清理後,依舊能夠長期劫持網站訪問所用。

IE的代理配置信息由雲端實時下發,相關配置文件下載地址為106.14.47.210:11054/paclist.dat,可根據需要,實時變換文件內容,文件中的內容為BASE64加密後的信息,解密後為pall.ndypkh.com:50511/auto11037.pac:

鏈接指向一個混淆後的pac腳本文件,去混淆後內容包含大量私服網站的URL信息,當程序使用IE的代理設置,並且訪問到列表中的網站時,就會被統一劫持跳轉至114.55.234.27:10000(kusf.com):

根據對劫持名單的梳理,除去私服網站,被劫持跳轉的部分主流網站還有:

C、創建關機回調,劫持DNS和自更新

在關機回調中,該病毒驅動主要做了劫持DNS和自更新這兩件事情。

通過訪問106.14.47.210:11054/dnlist.dat下載劫持的DNS配置信息,然後在關機回調中設置電腦的DNS,從而完成DNS的修改劫持,雖然目前被修改的DNS是正常的,但由於此配置信息由雲端下發,所以不排除後期病毒作者會設置惡意的DNS配置信息:

接着,病毒又會訪問120.77.36.184:11054/mstxdlx64_up.dat,下載最新版本的驅動文件,並且隨機命名保存,然後以服務的方式在下次開機時自啟動,完成更新:

D、 創建映像加載回調,攔截其它病毒運行

在映像加載回調中,為了確保被感染的電腦能夠被自己成功劫持,當檢測到當前加載的是驅動程序時,還會對比簽名是否為黑名單中的簽名(黑名單從106.14.47.210:11054/bctlist.dat下載而來),若符合攔截規則,則直接禁止加載,黑名單中的驅動簽名如下,這些簽名大多曾被同類型病毒盜用過,用來給自身惡意程序簽名:

E、 創建註冊表回調,保護自身啟動

在註冊表回調中,若發現有對IE代理設置和驅動服務類註冊表項的操作,則直接拒絕訪問,防止相關注冊表項被修改。

除此之外,病毒還會循環枚舉註冊表回調函數的地址,若檢測到被刪除,則會再次註冊回調函數,這麼做為了防止用户利用pchunter之類的ARK工具對回調函數進行刪除操作,使病毒難以被手動清除。但如果是病毒程序自身升級需要修改相關的註冊表項時,則會利用開關標記來暫停對相關注冊表項的保護。

F、 下載配置信息,實時更新劫持信息

上述的整個劫持的流程,無需與3環進程交互,完全由0環的驅動實現,而相關的配置信息,也統一從遠程服務器下載,具體的配置文件信息如下:

(2)msdvdlx*.dat

該驅動加載後,會在下次開機時,劫持svchost進程對本地hosts文件的訪問,本地hosts的基本作用是把一些常用的域名和IP關聯起來,當用户輸入一個網址時,會先從本地的hosts文件尋找對應的IP,從而加速解析的速度,但如果劫持了本地hosts文件的話,就可能返回錯誤的IP地址。

該病毒驅動主要通過註冊一個關機回調函數,在該回調函數中加載釋放netmsvc.dll到system32目錄下,然後註冊NetMSvc這個服務項,以確保之後每次開機都能正常加載這個DLL。而netmsvc.dll又釋放驅動cbfltfs3.sys到了TEMP目錄下,這個cbfltfs3.sys是Callback Technologies公司提供的一個的文件過濾器驅動:

其封裝了大量的文件操作API供使用者使用,在netmsvc.dll中,通過添加對hosts文件的攔截規則,即:當svchost進程訪問etc目錄下的hosts文件時,則會重定向到ringend.mid:

ringend.mid這份劫持名單,由netmsvc.dll從 http://106.14.47.210:11153/hstslist.dat 下載而來,偽裝成系統聲音文件保存在C:\Windows\media\下,其內容則是被劫持的域名和要跳轉到IP,部分會被劫持的網站截圖如下:

當訪問的正常網站被劫持後,訪問到的結果如下:

而msdvdlx*.dat自己也會實時從120.77.36.184:11153/msdvdlx32_up.dat下載更新,升級自身:

(3)mshsdlx*.dat

該驅動主要用於安裝根證書,從而劫持使用了HTTPS的網站。

驅動加載後,會釋放證書文件到c:\Windows\SSL下並安裝,釋放出來的Sample CA 2.cer是一個根證書,會以受信任的根證書頒發機構形式安裝到系統中,這一步主要是為了後續在對HTTPS網站進行劫持時,瀏覽器不會發出警告,而這也是常見的中間人攻擊的方式。

相關的劫持列表信息會從 http://106.14.47.210:11153/nflist.dat 下載,之後訪問未被劫持HTTPS網站時,會發現證書為:

而當你訪問被劫持的HTTPS網站時,則會在網頁中插入跳轉代碼,跳轉到設置好的私服頁面,被劫持的部分規則如下:

(4)msadsdlx*.dat

該驅動會下載運行msadapdlx*.dat,由於下載鏈接已失效,暫不清楚具體行為,不過根據PDB的名稱fk_adswindll*.dll,猜測可能用於廣告目的。

IOC

PDB信息:

D:\Work\git\driver\fk_undead\tempobj\rel_x64\fk_drv64\fk_drv.pdb
D:\Work\git\driver\fk_undead\tempobj\rel_x32\fk_maindrv\fk_maindrv.pdb
D:\Work\git\driver\fk_undead\tempobj\rel_x32\fk_svcsdll\fk_svcsdll.pdb
fk_adswindll32.pdb
fk_netfltdll32.pdb

MD5:

4889063c79d1f020a6e66a5bbbc67a7a
d13663cacf144c64d2ec5ec9e17cc4e4
d46df4bc4b5ef88c96be76f22556b3cd
b69c1f02c9b5591ddf6396d220055e16
98fc3fc117ca3f20366a1cf06b985854
5a15eb8a362c1d409b9ebe1715bf0999
ec617ac421207c8decb7dc329e2ec4ec
9a10a008e479ce7cf9f4539ec5345a93
4bea9b46142e24ea8b15a645773a094a
d8decc0b64f8c34490b43f1a748e2ce5
73c3dc37a7ff5ea5c2ae8834a504e748
83505258cd10da2080e33fd995b18e86
852fc34ab0ffc0596ab4ce2527e5ecfa
79b3189e2f1e9c7583523aa905f05777
549b186ead42123725b157346b025159
40d94961bddb12d06ea324a52e6a3248
7774822f89a5ae69e4dc4a8eee1b0141
c7304f07edee09f6235c125bb5588c8d
e20e9605e09c4145ead51af16415f2af
a811f6d783c2cdca2b8dc488369bf05e
fccdf8b186b420fe45bd8d829011d45f
1489fc0e1c5bca573ac35a1a19930f06
域名信息:
dlx.qyrgy.com
dlx1.qyrgy.com
183.2.193.147
106.14.47.210
120.77.36.184
180.76.235.211(酷搜服 kusf.com)
ssyl.jbjfrx.com:31355
182.61.55.53:82/index2.html

*本文作者:安全豹,轉載請註明來自FreeBuf.COM