銀狐木馬終于還是對(duì)微信下手了
近期,360反病毒安全團(tuán)隊(duì)捕獲到一類活躍度極高的惡意樣本。攻擊者將目標(biāo)鎖定在國(guó)民級(jí)應(yīng)用——“微信”身上,其利用經(jīng)典的“DLL劫持”技術(shù),實(shí)施所謂的“白加黑”攻擊。與以往常見(jiàn)的針對(duì)version.dll或userenv.dll兩個(gè)文件的劫持不同,此次攻擊者選擇劫持的是更為隱蔽的系統(tǒng)庫(kù)文件——cryptbase.dll,以及 d3dcompiler_74.dll。攻擊者通過(guò)釣魚(yú)郵件、捆綁軟件等方式,將這些精心構(gòu)造的惡意DLL文件釋放到用戶的微信安裝目錄下。
技術(shù)分析
運(yùn)行流程概述
由于Windows系統(tǒng)的DLL加載機(jī)制是按照特定的路徑順序進(jìn)行搜索,所以當(dāng)用戶啟動(dòng)微信程序時(shí),這些惡意文件會(huì)先于正常系統(tǒng)文件被加載,導(dǎo)致微信進(jìn)程在毫不知情的情況下成為木馬的“宿主”。這不僅使得惡意代碼能夠繞過(guò)大量基于白名單的安全防護(hù),更讓黑客獲得了穩(wěn)定的系統(tǒng)啟動(dòng)機(jī)會(huì),從而對(duì)受害主機(jī)實(shí)施長(zhǎng)期的遠(yuǎn)程控制、數(shù)據(jù)竊取。
本文將針對(duì)該攻擊樣本的劫持原理、執(zhí)行流程進(jìn)行深入分析。
?
圖1. 木馬攻擊流程示意圖
劫持機(jī)制說(shuō)明
本次分析的示例樣本路徑如下:
C:\Program Files\Tencent\Weixin\4.1.4.19\cryptbase.dll
以上路徑所指向的cryptbase.dll文件是Windows操作系統(tǒng)的一個(gè)核心系統(tǒng)庫(kù)文件,原本屬于Base Cryptographic API的一部分。包括微信在內(nèi)的許多應(yīng)用程序,都會(huì)在運(yùn)行時(shí)調(diào)用這個(gè)庫(kù)文件進(jìn)行加密、解密或證書(shū)驗(yàn)證等操作。系統(tǒng)中正常的cryptbase.dll文件,通常存在于以下兩個(gè)目錄中:
C:\Windows\System32\
C:\Windows\SysWOW64\
當(dāng)微信主程序WeChat.exe啟動(dòng)崩潰檢查組件crashpad_handler.exe時(shí),會(huì)嘗試加載一些DLL文件,其中就包含上述這個(gè)cryptbase.dll文件。但在這個(gè)加載過(guò)程中,并沒(méi)有明確指定該待加載的DLL文件的絕對(duì)路徑,而是完全依賴于Windows系統(tǒng)的默認(rèn)搜索順序,對(duì)這些待加載文件進(jìn)行查找。
?
圖2. 微信組件按系統(tǒng)默認(rèn)順序加載被劫持的DLL文件?
根據(jù)Windows的DLL加載機(jī)制,默認(rèn)的搜索順序通常如下:
1.?應(yīng)用程序所在的目錄(如本案例中的D:\Program Files\Tencent\WeChat);
2.?系統(tǒng)目錄(通常為C:\Windows\System32);
3.?16位系統(tǒng)目錄(通常為C:\Windows\System);
4.?Windows目錄(通常為C:\Windows);
5.?當(dāng)前工作目錄;
6.?環(huán)境變量PATH中列出的其他目錄。
顯然,在未指定DLL文件絕對(duì)路徑的前提下,木馬所存在的路徑是最優(yōu)先被加載的位置,會(huì)先于系統(tǒng)的正常文件被加載。
?
圖3. DLL劫持攻擊原理示意圖
代碼分析
用于劫持的木馬DLL文件,會(huì)在啟動(dòng)后先從其內(nèi)置數(shù)據(jù)中解密出一個(gè)URL:
hxxp://augvertu[.]com/xxxca.txt
其相關(guān)解密代碼如下:
?
圖4. 解密處的URL鏈接
解密后,木馬會(huì)繼續(xù)訪問(wèn)這個(gè)拿到的URL,并解析服務(wù)器返回的數(shù)據(jù),將其中#ST#到#ed#之間的數(shù)據(jù)段先用Base64解碼后,再進(jìn)行Shellcode解密。
?
圖5. 解密從服務(wù)器獲取到的數(shù)據(jù)
解密出來(lái)的Shellcode內(nèi)容,其代碼和數(shù)據(jù)部分會(huì)被黑客預(yù)先用codemark 進(jìn)行分隔。其中,數(shù)據(jù)區(qū)塊前部主要為執(zhí)行參數(shù)、執(zhí)行條件,以及一些標(biāo)志位,而后部則是逆序處理過(guò)的域名,形如:
?
圖6. 解密出數(shù)據(jù)的內(nèi)容?
完成后,木馬會(huì)再度根據(jù)解密出的配置信息進(jìn)行遠(yuǎn)程的C2連接:
?
圖7. 與遠(yuǎn)端C2服務(wù)器進(jìn)行連接
連接成功后,會(huì)再度從該C2服務(wù)器中拉取所需的加密數(shù)據(jù):
?
圖8. 從C2服務(wù)器上拉取加密數(shù)據(jù)
對(duì)于請(qǐng)求到的內(nèi)容,通過(guò)如下算法進(jìn)行解密:
?
圖9. C2服務(wù)器數(shù)據(jù)解密代碼
解密后的代碼可以執(zhí)行包括遠(yuǎn)程控制在內(nèi)的各種操作,其中也包括上線模塊.dll以及登錄模塊.dll等。
?
圖10. 解密出的遠(yuǎn)程控制代碼
接下來(lái),木馬會(huì)將合法的tracerpt.exe程序作為宿主,以進(jìn)程注入的方式在其內(nèi)存空間中開(kāi)辟一段代碼執(zhí)行空間,并寫入惡意Shellcode代碼,完成寫入操作后,再喚醒宿主進(jìn)程的主線程,這樣宿主進(jìn)程便會(huì)直接跳轉(zhuǎn)去執(zhí)行注入內(nèi)存當(dāng)中的Shellcode惡意代碼。
?
圖11. 木馬對(duì)tracerpt.exe進(jìn)行注入?
木馬會(huì)將解密后的惡意代碼寫入注冊(cè)表當(dāng)中,此后木馬會(huì)直接讀取注冊(cè)表中存儲(chǔ)的惡意代碼,并加載到內(nèi)存當(dāng)中執(zhí)行,屬于典型的無(wú)文件攻擊方式。猜測(cè)這一步驟是為了防止對(duì)C2服務(wù)器的網(wǎng)絡(luò)訪問(wèn)被阻斷,使用本地注冊(cè)表來(lái)保障對(duì)Payload的隨時(shí)調(diào)取。
?
圖12. 將惡意代碼數(shù)據(jù)寫入注冊(cè)表當(dāng)中備份?
注冊(cè)表中所保存的Shellcode代碼是一個(gè)經(jīng)典的x64反射式DLL加載器,其主要功能是在內(nèi)存中加載一個(gè)黑客指定的可執(zhí)行程序。
?
圖13. 注冊(cè)表中保存的Shellcode數(shù)據(jù)?
而在解密獲取到的第二段Shellcode中,包含了多個(gè)功能模塊。其主要功能為:檢測(cè)敏感軟件窗口信息、獲取剪貼版信息、鍵盤記錄等。
完成后,木馬會(huì)再度使用遠(yuǎn)程線程注入技術(shù),將一段新的Shellcode及相關(guān)數(shù)據(jù)注入系統(tǒng)進(jìn)程svchost.exe中并執(zhí)行。
?
圖14. 木馬對(duì)svchost.exe進(jìn)程進(jìn)行遠(yuǎn)程線程注入?
這段注入的Shellcode代碼會(huì)進(jìn)行截屏、清除系統(tǒng)事件日志、導(dǎo)出函數(shù)、加載傀儡進(jìn)程,以及檢測(cè)安全軟件等操作。
?
圖15. 被檢測(cè)的安全軟件列表
安全提醒與防護(hù)建議
360安全終端可直接對(duì)該木馬進(jìn)行有效查殺。
?
圖16. 360安全終端查殺木馬
針對(duì)此類利用微信目錄進(jìn)行DLL劫持的攻擊,建議采取以下措施進(jìn)行排查:
自我排查
檢查您的微信安裝目錄。如果在安裝時(shí)未進(jìn)行指定,則安裝路徑通常位于:
C:\Program Files (x86)\Tencent\WeChat\[版本號(hào)]\
在安裝目錄下查看是否存在以下文件:
cryptbase.dll
d3dcompiler_74.dll
上述文件均為Windows系統(tǒng)組件,正常情況下不會(huì)出現(xiàn)在微信的安裝目錄下,而應(yīng)位于C:\Windows\System32目錄中。如果在微信目錄下發(fā)現(xiàn)這些文件,您的電腦有極大概率已被植入木馬。
處置方案
一旦發(fā)現(xiàn)微信可能被感染,可按照如下方案進(jìn)行處置:
l終止進(jìn)程:立即在任務(wù)管理器中結(jié)束所有 WeChat.exe 進(jìn)程。
l刪除文件:手動(dòng)刪除微信目錄下的上述可疑 DLL 文件。
l全盤殺毒:使用有效的殺毒軟件進(jìn)行全盤掃描,查殺可能殘留的釋放器(Dropper)或其他惡意組件。目前,360安全衛(wèi)士無(wú)需升級(jí)即可查殺和攔截該類木馬。
l修改密碼:考慮到木馬可能具有鍵盤記錄或竊密功能,建議在清除病毒后修改微信及相關(guān)敏感賬號(hào)的密碼。
日常防范建議
此外,建議所有用戶增強(qiáng)安全意識(shí),對(duì)此類攻擊進(jìn)行日常防范。
l下載渠道:務(wù)必通過(guò)官網(wǎng)下載軟件安裝包,避免使用第三方下載站或不明來(lái)源的“綠色版”“破解版”軟件。
l開(kāi)啟文件擴(kuò)展名顯示:防止攻擊者利用“雙重后綴名”(如 readme.txt.exe)或偽裝圖標(biāo)進(jìn)行欺詐。
l安裝可靠的安全軟件:對(duì)于安全軟件攔截或阻止的程序,不要輕易添加信任運(yùn)行。
360安全衛(wèi)士
360殺毒
360文檔衛(wèi)士
360安全瀏覽器
360極速瀏覽器
360安全云盤
360隨身WiFi
360搜索
系統(tǒng)急救箱
重裝大師
勒索病毒救助
急救盤
高危漏洞免疫
360壓縮
驅(qū)動(dòng)大師
魯大師
360換機(jī)助手
360清理大師Win10
360游戲大廳
360軟件管家
360手機(jī)衛(wèi)士
360防騷擾大師
360加固保
360貸款神器
360手機(jī)瀏覽器
360安全云盤
360免費(fèi)WiFi
安全客
手機(jī)助手
安全換機(jī)
360幫幫
清理大師
省電王
360商城
360天氣
360鎖屏
手機(jī)專家
快剪輯
360影視
360娛樂(lè)
快資訊
你財(cái)富
360借條
360互助
信貸管家
360攝像機(jī)云臺(tái)AI版
360攝像機(jī)小水滴AI版
360攝像機(jī)云臺(tái)變焦版
360可視門鈴
360攝像機(jī)云臺(tái)1080p
家庭防火墻V5S增強(qiáng)版
家庭防火墻5Pro
家庭防火墻5SV2
家庭防火墻路由器5C
360兒童手表S1
360兒童手表8X
360兒童手表P1
360兒童手表SE5
360智能健康手表
行車記錄儀M310
行車記錄儀K600
行車記錄儀G380
360行車記錄儀G600
兒童安全座椅
360掃地機(jī)器人X90
360掃地機(jī)器人T90
360掃地機(jī)器人S7
360掃地機(jī)器人S6
360掃地機(jī)器人S5
360安全衛(wèi)士
360殺毒
360文檔衛(wèi)士
360安全瀏覽器
360極速瀏覽器
360隨身WiFi
360搜索
系統(tǒng)急救箱
重裝大師
急救盤
勒索病毒救助
360壓縮
驅(qū)動(dòng)大師
魯大師
360游戲大廳
360軟件管家
360手機(jī)衛(wèi)士
360防騷擾大師
手機(jī)急救箱
360加固保
360貸款神器
360免費(fèi)WiFi
安全客
手機(jī)助手
一鍵root
安全換機(jī)
360幫幫
信用衛(wèi)士
清理大師
省電王
360商城
流量衛(wèi)士
360天氣
360鎖屏
手機(jī)專家
快剪輯
360影視
360娛樂(lè)
快資訊
你財(cái)富
360借條
360手機(jī)N7
360手機(jī)N6
Pro
360手機(jī)vizza
360手機(jī)N5S
360兒童手表6C
360兒童手表6W
360兒童手表SE2代
360手表SE2Plus
360老人手表
360攝像機(jī)大眾版
360安全路由器P3
360安全路由器P2
360兒童機(jī)器人
外設(shè)產(chǎn)品
影音娛樂(lè)
平板電腦
二手手機(jī)
二代 美猴王版
二代
美猴王領(lǐng)航版
標(biāo)準(zhǔn)升級(jí)版
后視鏡版
車載電器
京公網(wǎng)安備 11000002000006號(hào)