揭秘“食鼠貓”病毒背后的灰色產(chǎn)業(yè)鏈
“食鼠貓”樣本主要通過虛假色情播放器等流氓軟件的捆綁安裝進(jìn)行傳播,感染主機(jī)會被強(qiáng)制安裝多款推廣軟件,病毒通過篡改瀏覽器快捷方式、Hosts文件等方式劫持用戶電腦的導(dǎo)航網(wǎng)站流量,病毒導(dǎo)入根證書偽造數(shù)字簽名逃避殺毒軟件查殺與防御,還嘗試使用網(wǎng)絡(luò)過濾驅(qū)動屏蔽殺毒軟件的升級與云查殺。
“食鼠貓”樣本作為典型的推廣類病毒,對于當(dāng)前國內(nèi)病毒傳播的流行形勢具有一定的代表性。本文嘗試通過對樣本行為、傳播源頭的相關(guān)分析,溯源追蹤其幕后黑手,揭露國內(nèi)流氓推廣類病毒傳播與牟利的灰色產(chǎn)業(yè)鏈。
病毒樣本行為分析
“食鼠貓”病毒運(yùn)行流程簡圖
“食鼠貓”病毒捆綁在一款名為“好愛FM收音機(jī)”的流氓軟件中,主要通過一些色情站點(diǎn)和下載站點(diǎn)的誘導(dǎo)虛假下載鏈接進(jìn)行傳播。樣本使用delphi語言編寫,通過多層Loader模塊的解密與內(nèi)存加載執(zhí)行,下載運(yùn)行最終功能模塊,樣本分析同樣按Loader層和功能模塊層分為兩大部分。
一、Loader層分析
1、靜默安裝“愛好FM收音機(jī)”流氓軟件,然后解密病毒模塊A,直接在內(nèi)存中加載運(yùn)行。
2、模塊A訪問http://jsion.sin-o.com/favicon.ico,讀取解析其中隱藏的下載鏈接并解密,然后訪問此鏈接下載模塊B,解密后再次內(nèi)存裝載運(yùn)行。
3、模塊B的主要功能包括病毒運(yùn)行環(huán)境檢測、流量渠道標(biāo)記保存、后續(xù)惡意模塊釋放以及安裝統(tǒng)計數(shù)據(jù)發(fā)送等:
1)、病毒運(yùn)行環(huán)境檢測,主要是為了對抗分析檢測。使用的手法也比較常規(guī),包括簡單的反調(diào)試、特權(quán)指令反虛擬機(jī)、遍歷檢測系統(tǒng)窗口是否存在安全工具以及是否存在網(wǎng)吧管理程序進(jìn)程等。
2)、保存推廣渠道流量標(biāo)記信息到注冊表,方便后續(xù)模塊根據(jù)流量ID讀取對應(yīng)的配置信息。
渠道標(biāo)記信息:"fifm_s1_1030" (文件名)
標(biāo)記信息格式:fifm_渠道標(biāo)識_安裝包標(biāo)識
注冊表:HKEY_CURRENT_USER\\SOFTWARE\\_alt
3)、釋放資源中包含的MSI程序包(模塊C)到臨時目錄(~DFAN9FP.tmp),調(diào)用msiexec.exe以靜默參數(shù)解析安裝。
4)、獲取主機(jī)的MAC地址、系統(tǒng)版本以及安裝包路徑,加密后發(fā)送到遠(yuǎn)程服務(wù)器。
數(shù)據(jù)包信息:000XX9B704C2|Hide|5.1.2600.Service Pack 3|C:\fifm_s1_1030.exe|1
統(tǒng)計后臺地址:http://tj.5astyle.com/_one/GetState.aspx?Login=
4、模塊C實(shí)際為msi格式的安裝包程序,使用rootsupd.exe工具導(dǎo)入根證書,為加入惡意代碼的IDriverT.exe偽造數(shù)字簽名,企圖逃避安全軟件的查殺與防御。
MSI包文件列表:
IDriverT.exe:作者修改某款delphi程序源碼(個人電腦助手v1.3),在其中添加了惡意代碼后重新編譯。
RCImage.skn:IDriverT.exe的依賴模塊,實(shí)際為VMProtect的SDK動態(tài)庫文件。
~DFDE9FD.tmp:實(shí)際為rootsupd.exe,用于更新系統(tǒng)根證書列表的命令行工具。
~DFCCBFE.tmp:根證書文件,偽造Symantec Corporation簽名。
5、IDriverT.exe在正常程序的基礎(chǔ)上添加惡意代碼后重新編譯,運(yùn)行以后解密模塊D,繼續(xù)內(nèi)存加載運(yùn)行。
6、模塊D訪問遠(yuǎn)程服務(wù)器下載http://dl.zzxssm.com/data/_Config.dat(模塊E),解密后繼續(xù)在內(nèi)存中直接加載運(yùn)行。
7、模塊E同樣將如下格式信息加密后發(fā)送到另一安裝統(tǒng)計后臺服務(wù)器,可以看到此次的病毒變種版本為v1.6.1;然后與模塊B一樣再次對病毒運(yùn)行環(huán)境進(jìn)行檢測;最后檢測"_lost_downfile_mod_"互斥事件是否存在,如果存在則發(fā)送另外一條安裝統(tǒng)計信息后退出,不存在則進(jìn)入后續(xù)模塊下載的邏輯分支。
明文數(shù)據(jù)A:000XX97C9DA6|v1.6.1|5.1.2600.Service Pack 3|C:\Temp\IDriverT.exe|0
統(tǒng)計后臺A:http://g.d8ht.com/set_index.php?Ver=
明文數(shù)據(jù)B:000C297C9DA6|v1.6.1|5.1.2600.Service Pack 3|C:\Temp\IDriverT.exe|0#0#0#0#0#2
統(tǒng)計后臺B:http://g.d8ht.com/set_stat.php?Ver=
8、模塊E后續(xù)下載邏輯分支:發(fā)送安裝統(tǒng)計數(shù)據(jù)包,返回數(shù)據(jù)為渠道的安裝位置量,如果小于100則sleep十分鐘后退出進(jìn)程,否則開始下載白文件DumpUper.exe和惡意模塊F到臨時目錄,讀取惡意模塊F解密后注入到白文件進(jìn)程中運(yùn)行,命令行參數(shù)為“1”。注入方法為常規(guī)手法,以掛起方式啟動白文件進(jìn)程,卸載原進(jìn)程鏡像內(nèi)存后重新申請,拷貝自身并修復(fù)導(dǎo)入表,修改線程上下文,將目標(biāo)進(jìn)程OEP指向自身入口,最后恢復(fù)進(jìn)程運(yùn)行。
明文數(shù)據(jù):000XX97C9DA6|v1.6.1|5.1.2600.Service Pack 3|C:\Temp\IDriverT.EXE|0
統(tǒng)計后臺:http://g.d8ht.com/set_index.php?Ver=
白文件鏈接:http://dl.zzxssm.com/data/1.jpg
文件目錄:%temp%/DumpUper.exe [360殺毒的dump上報進(jìn)程文件]
模塊F鏈接:http://dl.zzxssm.com/data/6.jpg
文件目錄:%temp%/YYM_JFFMEHN9_S%T955WD38.jpg [加密文件]
9、模塊F首先檢查“_Lost_Jump_Mod_1”互斥事件是否只存在,存在則退出進(jìn)程;如果進(jìn)程參數(shù)為”0”或“1”則將模塊F重新注入自身白進(jìn)程,命令參數(shù)為”2”;如進(jìn)程參數(shù)為“2”則刪除模塊F文件,下載模塊G注入自身進(jìn)程繼續(xù)運(yùn)行,啟動參數(shù)為渠道標(biāo)識信息。
模塊G鏈接:http://dl.zzxssm.com/data//2.jpg
10、模塊G讀取服務(wù)器配置信息,開始下載真正的工作模塊。模塊G取命令行參數(shù)解密獲得渠道標(biāo)記,開啟定時器訪問http://i1.d8ht.com:8080/GetLog.html獲取配置信息,根據(jù)自身渠道標(biāo)記去讀取對應(yīng)的配置信息,二次解密后再進(jìn)行格式化解析,下載鏈接信息,開啟線程下載執(zhí)行各模塊。
1)訪問http://i1.d8ht.com:8080/GetLog.html獲取配置信息,共26條有效數(shù)據(jù),可以推測出此變種目前最少有26個流量渠道進(jìn)行推廣,格式如下:
2)獲取上面的配置信息后,模塊G根據(jù)自身的渠道ID讀取對應(yīng)的條目,進(jìn)行兩層解密,然后進(jìn)行格式化解析,結(jié)果如下:
3)模塊G接著開啟線程按照格式化后的數(shù)據(jù)進(jìn)行下載安裝,本例中推廣軟件安裝包為百度殺毒、百度衛(wèi)士以及UC瀏覽器,下載安裝包到配置信息中的指定目錄;其他[self]標(biāo)簽的模塊為自身工作模塊,其中12.jpg為推廣包安裝模塊,4.jpg為瀏覽器快捷方式篡改模塊,8.jpg為hosts文件劫持模塊,test.exe為網(wǎng)絡(luò)驅(qū)動對抗模塊,以上[self]類工作模塊下載完成后通過白文件DumpUper.exe進(jìn)程注入啟動。
主要工作模塊功能列表:
http://dl.zzxssm.com/data/test.exe [網(wǎng)絡(luò)驅(qū)動對抗模塊]
http://dl.zzxssm.com/data/3.gif[鏈接失效]
http://dl.zzxssm.com/data/12.jpg[推廣包安裝模塊]
http://dl.zzxssm.com/data/4.jpg[瀏覽器快捷方式篡改模塊]
http://dl.zzxssm.com/data/8.jpg[hosts文件劫持導(dǎo)航模塊]
#p#
功能模塊層分析
1、網(wǎng)絡(luò)驅(qū)動對抗模塊
網(wǎng)絡(luò)過濾驅(qū)動對抗模塊流程簡圖
本模塊主要嘗試加載TDI過濾驅(qū)動來屏蔽主流殺毒軟件進(jìn)程訪問網(wǎng)絡(luò),屏蔽殺毒軟件升級逃避云查殺。主要流程如下:
1)、下載百度殺毒軟件壓縮包釋放,釋放資源文件BDLiveUpdate.exe、dl.dll以及twain.dat,創(chuàng)建服務(wù)啟動BDLiveUpdate.exe進(jìn)程,在被白進(jìn)程主動加載的dl.dll中解密twain.dat模塊,然后內(nèi)存加載運(yùn)行。
百度殺毒壓縮包:http://files.cnblogs.com/cfdown/bd_data.zip
釋放目錄:C:\Program Files\Baidu\BaiduLiveUpdate\
服務(wù)信息:
ServiceName = "BDLiveUpSvc"
DisplayName = "BDLiveUpdate Service"
BinaryPathName = """C:\Program Files\Baidu\BaiduLiveUpdate\BDLiveUpdate.exe"" -Embedding"
2)、twain.dat模塊為BDLiveUpSvc服務(wù)的控制函數(shù),主要負(fù)責(zé)后續(xù)網(wǎng)絡(luò)過濾驅(qū)動的加載。創(chuàng)建VolStub驅(qū)動服務(wù),根據(jù)操作系統(tǒng)類型釋放相應(yīng)x86/x64的網(wǎng)絡(luò)過濾驅(qū)動文件并啟動此驅(qū)動服務(wù),隨后釋放另一份驅(qū)動文件(白文件:SscRdCls.sys)替換掉volstub.sys,再刪除VolStub驅(qū)動服務(wù)。
X86/X64版本的驅(qū)動文件簽名:(X86版本數(shù)字簽名是通過導(dǎo)入根證書偽造的)
3)、隨后嘗試打開網(wǎng)絡(luò)過濾驅(qū)動設(shè)備,如果成功則聯(lián)網(wǎng)下載http://jsion.sin-o.com/data.json并解密,內(nèi)容為主流殺軟的進(jìn)程列表,然后通過DeviceIoControl將格式化后的殺軟進(jìn)程列表數(shù)據(jù)發(fā)送給驅(qū)動程序。
4)、網(wǎng)絡(luò)過濾驅(qū)動程序內(nèi)容比較簡單,通過掛載tcp/udp驅(qū)動設(shè)備,對常見殺毒軟件進(jìn)程訪問網(wǎng)絡(luò)進(jìn)行過濾屏蔽。
2、推廣包安裝模塊
本模塊主要負(fù)責(zé)前面下載的推廣軟件包的安裝,根據(jù)下載模塊傳遞的命令行參數(shù)進(jìn)行安裝,參數(shù)分別為安裝目錄環(huán)境變量、推廣包名、安裝后進(jìn)程名稱。
1)首先檢測是否存在常見的網(wǎng)吧管理程序進(jìn)程,存在則不進(jìn)行安裝。
2)檢查指定目錄下的推廣包是否存在,如果存在判斷相應(yīng)進(jìn)程名是否存在,防止重復(fù)安裝。
3)解密DmpUper.exe(360殺毒白文件)作為宿主傀儡進(jìn)程,將安裝包程序注入其中運(yùn)行,循環(huán)繼續(xù)下一個安裝包的安裝。
4)統(tǒng)計安裝成功結(jié)果數(shù)量,如果為0則獲取當(dāng)前系統(tǒng)環(huán)境信息上傳到遠(yuǎn)程FTP服務(wù)器,信息內(nèi)容主要包括系統(tǒng)信息、活動窗口程序、系統(tǒng)進(jìn)程列表以及桌面截圖等。
5)發(fā)送安裝統(tǒng)計信息到遠(yuǎn)程服務(wù)器。
數(shù)據(jù)包明文:000C2915324A|v1.5.1|5.1.2600.Service Pack 3|def_def_def|1#0#0#1#0#0
統(tǒng)計后臺A:http://g.d8ht.com/set_stat.php?Ver=
統(tǒng)計后臺B:http://tj.5astyle.com/two/GetState.aspx?Login=
3、瀏覽器快捷方式篡改模塊
本模塊主要通過修改瀏覽器快捷方式的屬性實(shí)現(xiàn)篡改主頁功能。
1)、訪問http://www.d8ht.com/Model/url_mod.html配置鏈接,按啟動參數(shù)指定的渠道標(biāo)記讀取對應(yīng)的配置條目,解密后內(nèi)容如下:
2)、修改注冊表,隱藏系統(tǒng)桌面原生Internet Explorer圖標(biāo)。
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\]NewStartPanel:"{871C5380-42A0-1069-A2EA-08002B30309D}"=dword:00000001ClassicStartMenu:"{871C5380-42A0-1069-A2EA-08002B30309D}"=dword:00000001
3)、讀取注冊表獲取桌面、開始菜單、快速啟動欄等目錄,遍歷目錄對快捷方式等文件進(jìn)行過濾,刪除其他網(wǎng)頁快捷方式,按配置信息篡改主流瀏覽器快捷方式的目標(biāo)屬性,修改為病毒指定的導(dǎo)航網(wǎng)站。
4、hosts文件劫持導(dǎo)航模塊
本模塊主要通過修改hosts文件劫持域名解析,將hao123等常見導(dǎo)航網(wǎng)站引導(dǎo)到自己的服務(wù)器上,通過自己導(dǎo)航站點(diǎn)的廣告推廣賺取利潤。
1)、讀取注冊表解析自身的渠道標(biāo)記,訪問http://i1.d8ht.com:8080/GetIp.html配置鏈接,解密獲取對應(yīng)劫持IP的信息。
2)、遍歷進(jìn)程檢查是否存在qqpcrtp.exe(騰訊管家進(jìn)程),如果存在則放棄修改,否則將常見導(dǎo)航網(wǎng)站的域名加上劫持IP寫入到hosts文件中。
導(dǎo)航網(wǎng)站劫持列表:
www.hao123.com / hao.# / www.3600.com
hao.qq.com / 123.duba.net / www.duba.com
123.sogou.com / www.114la.com / www.256.cc / www.uc123.com
通過上述的分析可以看出“食鼠貓”病毒所使用的對抗技術(shù)手段并不是特別高深,但是另一方面又具有一定的代表性,體現(xiàn)在以下幾個部分:
1、樣本loader部分使用多層的模塊內(nèi)存加載。loader進(jìn)行解密再內(nèi)存加載配合“白加黑”技術(shù),已經(jīng)成為對抗殺毒查殺的常見手法,部分情況下可以繞過殺毒查殺攔截。
2、修改正常軟件源碼添加惡意代碼后重新編譯。在大量的正常代碼中混合一小段的loader代碼,對殺毒引擎的鑒別能力和人工病毒分析都提出了更高的要求。
3、在系統(tǒng)中導(dǎo)入根證書偽造正常簽名??梢岳@過部分對文件數(shù)字簽名驗(yàn)證邏輯不夠嚴(yán)謹(jǐn)?shù)陌踩浖?p#
樣本追蹤溯源
“食鼠貓”樣本溯源簡圖
每一個熱點(diǎn)病毒的傳播過程都并非孤立事件,從樣本編寫、傳播渠道、牟利方式以及到最終的受害用戶,各個環(huán)節(jié)往往都是緊密關(guān)聯(lián)的,“食鼠貓”病毒同樣如此,通過對樣本暴漏的信息以及安全統(tǒng)計數(shù)據(jù)的分析,嘗試對“食鼠貓”病毒進(jìn)行樣本溯源,追蹤病毒傳播鏈條的幕后黑手。
1)、通過對病毒關(guān)聯(lián)域名的歷史解析數(shù)據(jù)分析,可以此流氓軟件的推廣從2014年初開始,變種文件最少在30個以上,本次新變種從2014年8月份左右開始傳播,大多通過誘導(dǎo)站點(diǎn)的流氓軟件捆綁傳播,涉及到的推廣渠道多達(dá)數(shù)十個。本次變種使用的推廣域名與服務(wù)器在編寫分析報告時已經(jīng)關(guān)閉,病毒作者可能更換了新的下載域名和渠道,后續(xù)傳播情況有待進(jìn)一步的監(jiān)控。
傳播渠道域名關(guān)系簡圖(部分?jǐn)?shù)據(jù))
2)、部分病毒作者缺乏基本安全意識,經(jīng)常使用郵箱、FTP服務(wù)器等方式上傳信息,導(dǎo)致帳號密碼信息暴漏。“食鼠貓”樣本嘗試上傳到FTP服務(wù)器上的信息主要包括兩類:安裝失敗和對抗監(jiān)控,主要內(nèi)容為系統(tǒng)環(huán)境信息和桌面截圖。從FTP的上傳文件中我們可以看到一些比較有意思的內(nèi)容:
(1)、信息上傳按日期創(chuàng)建目錄,從8月11日到8月23日,這也說明本次新變種從近期開始傳播;上傳信息主要為系統(tǒng)環(huán)境和桌面截圖,從部分感染用戶當(dāng)時的系統(tǒng)環(huán)境分析看,主要是被誘導(dǎo)安裝了一些虛假色情播放器(例如優(yōu)播視頻等流氓軟件),這些軟件往往也捆綁安裝了其他的的流氓病毒,在“剛需”的作用下不少用戶面對殺毒攔截選擇了放行。
(2)、用戶在訪問一些安全軟件論壇時也會觸發(fā)上傳策略,其中大多為用戶中招以后無法升級殺毒軟件,訪問論壇進(jìn)行求助。從上傳信息分析來看,很明顯實(shí)際情況并非像某殺毒廠商對外宣傳的很早就可以完美查殺修復(fù),更不存在所謂的”憑借云查功能的某一特殊保護(hù)機(jī)制,是目前唯一未被“食貓鼠”阻斷云安全服務(wù)的安全軟件 ”。安全宣傳應(yīng)該本著實(shí)事求是的態(tài)度,這樣才能真正幫助用戶解決問題。
(3)、病毒作者在測試樣本的時候也上傳了一些調(diào)試信息,包括系統(tǒng)信息、代碼截圖等。可以發(fā)現(xiàn)一個有趣的細(xì)節(jié),作者當(dāng)時正在瀏覽一篇網(wǎng)頁“DELPHI中MessageBox的用法”,從這個細(xì)節(jié)中我們可以看出作者可能是個delphi編程的初學(xué)者。
3)、同樣在對病毒使用的某統(tǒng)計后臺進(jìn)行檢測時,發(fā)現(xiàn)統(tǒng)計程序和服務(wù)器配置存在安全漏洞,導(dǎo)致統(tǒng)計后臺程序的源碼泄漏,進(jìn)而獲取到相應(yīng)數(shù)據(jù)庫的帳號密碼信息,后續(xù)滲透拿到了部分病毒服務(wù)器的管理權(quán)限。通過對病毒服務(wù)器文件的進(jìn)一步分析,獲取到“食鼠貓”病毒的傳播統(tǒng)計數(shù)據(jù)和病毒作者的其他信息。
(1)、病毒統(tǒng)計后臺程序存在安全漏洞,數(shù)據(jù)庫操作語句也未進(jìn)行安全過濾操作,還可以看到作者針對不同推廣渠道進(jìn)行扣量的設(shè)置。
(2)、后續(xù)滲透得到部分病毒后臺服務(wù)器的管理權(quán)限,通過進(jìn)一步分析,掌握了“食鼠貓”病毒樣本傳播的歷史統(tǒng)計數(shù)據(jù)以及病毒作者的其他信息。從“食鼠貓”病毒的后臺安裝統(tǒng)計數(shù)據(jù)中可以看出,本次新變種的傳播感染量較高,在8月8日前后達(dá)到日感染量近9萬最高峰,在總共一個半月的時間里,累計感染量達(dá)到95萬。
互聯(lián)網(wǎng)灰色產(chǎn)業(yè)鏈的一角
互聯(lián)網(wǎng)流量推廣鏈條
國內(nèi)互聯(lián)網(wǎng)的推廣行為一直以來缺乏嚴(yán)格的規(guī)范和監(jiān)管,在利益的熏陶下衍生了非常多的灰色地帶。被利益糾結(jié)在一起的流量圈內(nèi)角色關(guān)系復(fù)雜,有時其中一環(huán)就覆蓋了鏈條上的多個角色。龐大的國內(nèi)互聯(lián)網(wǎng)市場作為一塊蛋糕,有人通過出色的產(chǎn)品贏得用戶,有人則伸出黑手在背后暗暗蠶食。
“食鼠貓”樣本作為一例典型的流氓推廣類木馬,一個多月的傳播感染量就多達(dá)近百萬,其本身載體就是一款流氓軟件,而推廣渠道也大多是通過其他流氓軟件進(jìn)行捆綁安裝。一方面通過安裝安裝某殺毒軟件賺取推廣費(fèi)用,另一方面通過劫持導(dǎo)航網(wǎng)站賺取廣告費(fèi)用。一款殺毒產(chǎn)品最終通過病毒木馬被安裝到用戶電腦上,不得不說這是一種尷尬和諷刺,也暴漏了軟件廠商對產(chǎn)品推廣監(jiān)管的缺失,通過強(qiáng)制手段的推廣安裝也很難得到用戶的真正認(rèn)可。
流氓軟件牟利方式-充分榨取流量價值
流氓軟件的本質(zhì),一方面體現(xiàn)在其流氓推廣方式上,往往是隱蔽、強(qiáng)制和暴力的;另一方面流氓軟件很大程度上是個空殼軟件,并沒有為用戶帶來應(yīng)有價值,帶來的是系統(tǒng)資源浪費(fèi)和各種頻繁騷擾;最不容忽視的一點(diǎn)是其往往暗藏病毒木馬,在利益追求的引導(dǎo)下,推廣者想盡辦法通過一臺電腦的安裝流量榨取十份的推廣回報,用戶電腦最終只能淪為賺取推廣費(fèi)用的傀儡,甚至最后被裝上各類木馬病毒,嚴(yán)重影響用戶系統(tǒng)安全。
近年來流氓軟件的傳播增長趨勢非常迅猛,加上與之伴隨的流量類、推廣類木馬,已經(jīng)日益成為國內(nèi)互聯(lián)網(wǎng)安全的一大毒瘤。用戶作為流氓軟件的最大受害者,不僅要遭受推廣騷擾和安全威脅,最終可能還要為廠商推廣費(fèi)用的超額部分買單。流氓軟件安全問題的解決,需要用戶自覺抵制各類誘導(dǎo)軟件,需要部分廠商聯(lián)盟加強(qiáng)監(jiān)管,規(guī)范自身的推廣行為,也需要各安全公司增強(qiáng)針對性的查殺清理方案,為用戶提供更全面及時的安全保護(hù)。