利用第三方軟件0day漏洞加載和執(zhí)行的木馬分析
近期騰訊反病毒實(shí)驗(yàn)室捕獲了一批針對(duì)性攻擊的高級(jí)木馬,該木馬使用近期熱門的時(shí)事話題做誘餌,對(duì)特殊人群做持續(xù)針對(duì)性攻擊,目前騰訊電腦管家已經(jīng)能夠準(zhǔn)確攔截和查殺該木馬。
圖 1. 騰訊反病毒實(shí)驗(yàn)室攔截到的部分木馬文件壓縮包
木馬介紹
該木馬主要通過(guò)郵箱等社交網(wǎng)絡(luò)的方式對(duì)特定用戶進(jìn)行針對(duì)性推送傳播,原始文件偽裝成常見的windows 軟件安裝程序,一旦用戶運(yùn)行了該木馬文件,便會(huì)將包含 0day 漏洞的一個(gè)第三方軟件及相應(yīng)的庫(kù)文件釋放到指定目錄中,同時(shí)釋放一個(gè)加密的數(shù)據(jù)文件到同一目錄下。將含有針對(duì)性0day 漏洞攻擊的命令行參數(shù)傳遞給該文件執(zhí)行。隨后進(jìn)行自毀操作,不留痕跡。
圖 2. 木馬安裝后將特定的第三方軟件文件釋放到磁盤指定目錄中
該木馬釋放出的所有 PE文件均為 9158多人視頻聊天軟件的模塊,具有很大的用戶群,文件有完整且正確的該公司的數(shù)字簽名信息。其中的science.exe 在解析命令行參數(shù)時(shí)存在緩沖區(qū)溢出漏洞,且編譯的時(shí)候未開啟 GS 等安全開關(guān),觸發(fā)后能夠執(zhí)行參數(shù)中攜帶的任意 Shellcode 惡意代碼。這也是木馬找到這個(gè)白文件漏洞來(lái)利用的原因,用戶群體大,漏洞非常方便利用。由于惡意代碼是在正常文件的內(nèi)存中直接執(zhí)行,同時(shí)在磁盤中駐留的文件均為正常軟件的白文件,因此此木馬繞過(guò)了幾乎所有安全防護(hù)軟件。騰訊電腦管家使用了云查引擎,第一時(shí)間發(fā)現(xiàn)并查殺該木馬,同時(shí)已經(jīng)第一時(shí)間通知相關(guān)廠商修復(fù)該漏洞。
圖3.9158多人視頻軟件安裝目錄,對(duì)比發(fā)現(xiàn),木馬釋放的PE均在其中
木馬加載執(zhí)行的詳細(xì)過(guò)程
1、首先釋放文件到指定目錄,共 5個(gè)文件,其中 science.exe、DDVCtrlLib.dll、 DDVCtrlLib.dll均是9158多人聊天軟件的相關(guān)文件,Config.dat是一個(gè)加密的數(shù)據(jù)文件,t1.dat是一個(gè)配置文件。
2、帶參數(shù)運(yùn)行 science.exe,其中參數(shù)共 0×2003 字節(jié),隨后原始木馬文件進(jìn)行自毀操作
圖 4. 使用含有惡意代碼的參數(shù)執(zhí)行含有 0day 漏洞的文件
3、由于 science.exe對(duì)輸入的參數(shù)沒(méi)有檢查,當(dāng)輸入的參數(shù)長(zhǎng)度過(guò)長(zhǎng)時(shí),造成棧溢出
圖 5. 漏洞細(xì)節(jié):由于軟件解析參數(shù)時(shí)沒(méi)有校驗(yàn)長(zhǎng)度,導(dǎo)致緩沖區(qū)溢出
圖6.漏洞利用細(xì)節(jié):精心構(gòu)造最后三字節(jié)數(shù)據(jù)精確定位跳轉(zhuǎn)執(zhí)行ShellCode#p#
圖 7.ShellCode 的自解密算法
圖8. ShellCode的功能是讀取并解密Config.dat文件,直接在內(nèi)存中加載執(zhí)行
圖9.創(chuàng)建一個(gè)系統(tǒng)服務(wù),服務(wù)對(duì)應(yīng)的鏡像文件為science.exe,并帶有惡意參數(shù)
木馬通過(guò)創(chuàng)建服務(wù)來(lái)實(shí)現(xiàn)永久地駐留在用戶電腦中,實(shí)現(xiàn)長(zhǎng)期地監(jiān)控。完成服務(wù)創(chuàng)建后,即完成了木馬的安裝過(guò)程,為了隱蔽運(yùn)行不被用戶發(fā)覺,木馬服務(wù)啟動(dòng)后會(huì)以創(chuàng)建傀儡進(jìn)程的方式注入到svchost.exe進(jìn)程中,在該進(jìn)程中連接C&C服務(wù)器,連接成功后黑客便可通過(guò)該木馬監(jiān)視用戶桌面、竊取用戶任意文件、記錄用戶鍵盤輸入、竊取用戶密碼、打開攝像頭和麥克風(fēng)進(jìn)行監(jiān)視監(jiān)聽等。從而實(shí)現(xiàn)遠(yuǎn)程控制目標(biāo)計(jì)算機(jī)的目的。