騰訊反病毒實(shí)驗(yàn)室近期捕獲了“黑狐”木馬的最新變種,這已經(jīng)是該木馬從2014年初首次發(fā)現(xiàn)以來的第三個(gè)大變種,本次全國感染量近百萬。本文通過對(duì)“黑狐”木馬多個(gè)版本的分析對(duì)比,來探究當(dāng)前主流木馬在對(duì)抗殺軟技術(shù)、傳播渠道、獲利方式上的一些特征和線索,也為預(yù)知和防御新的變種尋找思路。
該木馬與正常的軟件“混編”,用戶在打開該木馬程序時(shí),誤以為是正常的程序。由于打開過程中,沒有明顯的異常,且木馬的主要文件是在運(yùn)行后經(jīng)過數(shù)輪的下載才安裝到用戶機(jī)器中,在原始樣本中只含有少量代碼,通過文件體積等完全無法看出。
圖1. 運(yùn)行后的木馬界面
圖2. 木馬的下載流程圖
使用惡意新聞簡(jiǎn)單報(bào)、惡意便簽等各種傳播推廣渠道迅速推開,在很短的時(shí)間內(nèi)迅速感染近百萬臺(tái)電腦。當(dāng)安全廠商監(jiān)控到該木馬廣度過大后,會(huì)進(jìn)行人工分析,而人工分析地不徹底,就會(huì)導(dǎo)致木馬被設(shè)置為信任而不報(bào)毒。截止3月31日,黑狐木馬的母體和子體在VirusTotal上包括騰訊電腦管家在內(nèi)只有三家報(bào)毒。
圖3. 截至目前,大部分安全廠商不報(bào)毒
該木馬使用了開機(jī)回寫、啟動(dòng)刪除、驅(qū)動(dòng)隱藏等技術(shù),在電腦開機(jī)時(shí),由系統(tǒng)用木馬文件替換系統(tǒng)文件,在木馬啟動(dòng)后,再用備份的系統(tǒng)文件替換掉木馬文件,因此木馬文件在系統(tǒng)關(guān)鍵位置存留的時(shí)間很短,且使用了rootkit技術(shù),隱蔽性很強(qiáng),絕大多數(shù)安全軟件在電腦體檢和木馬掃描時(shí)不會(huì)掃描到木馬文件及其啟動(dòng)項(xiàng)。
圖4. 使用注冊(cè)表PendingFileRenameOperations方式實(shí)現(xiàn)自啟動(dòng)
由于該木馬駐留在Winlogon.exe進(jìn)程中,該進(jìn)程是windows用戶登錄程序,啟動(dòng)地比安全軟件早,而關(guān)閉地比安全軟件遲。且在內(nèi)核中含有rootkit保護(hù)驅(qū)動(dòng),即便被掃描出來,也很難被徹底清除。
該木馬是一個(gè)典型的插件型遠(yuǎn)控木馬,控制者隨時(shí)可以通過命令下發(fā)插件,而插件可以由控制者任意定制。當(dāng)前發(fā)現(xiàn)的插件主要是進(jìn)行流氓推廣,但只要控制者想做,隨時(shí)可以下發(fā)盜號(hào)插件、監(jiān)控插件、竊密插件等可能給用戶財(cái)產(chǎn)、個(gè)人隱私造成嚴(yán)重?fù)p失。
圖5. “黑狐”木馬模塊分工示意圖
詳細(xì)分析
HSHZS.exe行為:
1) 正常的界面顯示、圖片格式轉(zhuǎn)換器
2) 創(chuàng)建一個(gè)線程,下載 http://ad*.tr*8.com/Ge*s/? HSHZS.jpg
3) 從jpg文件尾部提取數(shù)據(jù),解壓后得到HSHZS.dll,創(chuàng)建線程直接內(nèi)存執(zhí)行
4) 訪問http://to*.tr*.com/tongji.php,將本地磁盤序號(hào)信息等上傳統(tǒng)計(jì)
圖6. 木馬的下載和統(tǒng)計(jì)鏈接
HSHZS.dll行為:
1) 加載名為A01的資源,解壓后得到一個(gè)PE文件,以下將其命名為A01.dll
2) 將A01.dll以遠(yuǎn)程線程的方式注入到系統(tǒng)Winlogon.exe進(jìn)程中
圖7. 將A01資源解壓后以遠(yuǎn)程線程的方式插入winlogon.exe
A01.dll行為:
1) 下載http://98.126.20.182:443/HenKew并解壓,得到HenKew.dll,內(nèi)存執(zhí)行
圖8. 下載指定URL的數(shù)據(jù)到本地執(zhí)行,根據(jù)配置有兩種方式,WinExe和直接內(nèi)存執(zhí)行
HenKew.dll行為:
1) 下載http://98.126.20.182:443/YA20150218 并解壓,得到Y(jié)A20150218.dll,內(nèi)存執(zhí)行
圖9.每個(gè)模塊的下載代碼都使用的同一套代碼,支持http、https、ftp三種方式的URL
YA20150218.dll行為:
1) 加載名為RunWin的資源,該資源是一個(gè)PE文件,取名 RunWin.dll,內(nèi)存執(zhí)行
圖10. 提取RunWin資源,并執(zhí)行,RunWin才是正式的木馬體
RunWin.dll行為:
1) 判斷是否在Winlogon.exe進(jìn)程或者svchost.exe進(jìn)程
2) 創(chuàng)建線程,不斷進(jìn)行以下行為:
①創(chuàng)建C:\WINDOWS\System32\SET12.tmp(SET**.tmp)
② 修改注冊(cè)表PendingFileRenameOperations,實(shí)現(xiàn)重啟后用SET**.tmp替換cscdll.dll
3) 釋放C:\WINDOWS\System32\Wbem\csvcoy.xsl(csvc**.xsl)
4) 拷貝%windir%\System32\cscdll.dll到%windir%\Wbem\cscdll.xsl
5) 連接C&C服務(wù)器,接收指令,目前發(fā)現(xiàn)的有
①下載文件,WinExec執(zhí)行
②下載文件,注入到其他進(jìn)程執(zhí)行
6) 加載驅(qū)動(dòng),在驅(qū)動(dòng)中,實(shí)現(xiàn)以下兩個(gè)功能
①在驅(qū)動(dòng)中通過文件過濾隱藏Set**.tmp、csvc**.xsl文件
②創(chuàng)建關(guān)機(jī)回調(diào),在系統(tǒng)關(guān)機(jī)時(shí)再次回寫注冊(cè)表和文件,保證不被清除
SET**.tmp行為:(重啟使用)
1) 查找并讀取csvc**.xsl文件,解壓得到csvc**.dll,內(nèi)存執(zhí)行,csvc**.dll同RunWin.dll
圖11.木馬安裝過程
圖12. 該木馬的特征之一:運(yùn)行過程中會(huì)生成很多KB*.dat的中間文件
文章來源:FreeBuf黑客與極客(FreeBuf.COM)
下一篇:信息防泄漏:解密特洛伊