一、綜述
近日,火絨安全實驗室截獲到一種內(nèi)核級后門病毒,并將其命名為”Pengex”病毒。經(jīng)分析,”Pengex”以劫持用戶首頁流量牟利為目的,但是不同于其他”流量劫持”類病毒的是,它技術(shù)高明、手段兇狠,會主動攻擊國內(nèi)主流的安全軟件,使他們失去內(nèi)核對抗能力,這會讓電腦完全失去安全防護(hù)。詭異的是,Pengex唯獨不攻擊并且刻意”放過”騰訊電腦管家。
“Pengex”通過盜版系統(tǒng)盤和”注冊機(jī)”軟件進(jìn)行傳播,并在用戶電腦中留下后門,日后可隨時植入任意病毒,因此威脅隱患極大。”Pengex”會攻擊各種主流的殺毒軟件,包括火絨、360、金山等,導(dǎo)致這些軟件的驅(qū)動無法加載,因此失去在內(nèi)核層對抗病毒的能力。
但有意思的是,該病毒卻唯獨刻意放過了騰訊電腦管家,它將騰訊電腦管家加入白名單中,在進(jìn)行”刪除驅(qū)動回調(diào)”的操作時放過騰訊電腦管家。病毒的這種行為表明,該病毒團(tuán)伙很可能是騰訊安全管家的系統(tǒng)盤渠道推廣服務(wù)商,火絨建議”騰訊安全管家”徹查系統(tǒng)盤推廣渠道。
“Pengex”通過修改瀏覽器配置和進(jìn)程啟動參數(shù)兩種方式,來劫持首頁牟利。在此過程中,病毒會按照制作者的計劃,將不同的瀏覽器指向不同的導(dǎo)航站。該病毒不僅攻擊安全軟件,還會攻擊其他同類病毒,以便獨占用戶電腦首頁資源牟利。據(jù)分析,該病毒劫持首頁后設(shè)置的渠道號是”oemxiazaiba2″(”下載吧”的全拼),請各大導(dǎo)航站關(guān)注并查證這個渠道賬號。
“火絨安全軟件”已經(jīng)在第一時間更新病毒庫,可徹底查殺該病毒。火絨工程師提醒廣大用戶,如需重裝系統(tǒng),務(wù)必通過正規(guī)渠道,購買正版系統(tǒng),目前看來,盜版系統(tǒng)盤已經(jīng)成為電腦病毒的重要傳播渠道。
二、詳細(xì)分析
該病毒是一個內(nèi)核級后門病毒,初步懷疑該樣本主要通過第三方系統(tǒng)盤方式進(jìn)行傳播。該樣本在系統(tǒng)中運(yùn)行后,會造成國內(nèi)主流安全軟件驅(qū)動程序無法正常加載,從而使安全軟件失去防御能力。該病毒主要對抗的安全廠商包括:火絨、360、金山等,其惡意代碼執(zhí)行之后,可以執(zhí)行遠(yuǎn)端C&C服務(wù)器存放的任意病毒代碼。
該病毒分為兩個部分,即病毒加載器和后門病毒,下文中分為兩部分進(jìn)行詳細(xì)分析。病毒結(jié)構(gòu)如下圖所示:

病毒整體結(jié)構(gòu)圖
病毒加載器
該部分代碼主要用于對抗安全軟件查殺和進(jìn)行內(nèi)核對抗。加載器功能代碼分為兩個部分,先會在內(nèi)存中通過虛擬映射加載一個新的ntoskrnl鏡像,再通過相同的方式將真正的病毒驅(qū)動加載到內(nèi)存中,并且將導(dǎo)入的ntoskrnl中的函數(shù)地址指向其虛擬加載的ntoskrnl鏡像中的函數(shù)地址上,通過此方法可以繞過其他驅(qū)動在ntoskrnl中設(shè)置的內(nèi)核鉤子。全局變量is_virus_load是一個標(biāo)記,通過傳入驅(qū)動主函數(shù)中的RegistryPath參數(shù)是否為NULL判斷是否為病毒通過虛擬映射方式加載。如下圖所示:

加載器驅(qū)動主函數(shù)代碼
(一)虛擬加載ntoskrnl
load_fake_ntoskrnl_safe函數(shù)會通過虛擬加載新的ntoskrnl鏡像,在其執(zhí)行完虛擬加載邏輯之后,會與當(dāng)前內(nèi)存中系統(tǒng)加載的ntoskrnl模塊前0×200個字節(jié)數(shù)據(jù)進(jìn)行比較,從而判斷自己創(chuàng)建的ntoskrnl鏡像內(nèi)容是否正常。如下圖所示:

檢測虛擬加載是否成功

虛擬加載ntoskrnl
(二)虛擬加載后門病毒
load_rootkit函數(shù)會通過與虛擬映射ntoskrnl相同的方法加載真正的病毒驅(qū)動。病毒驅(qū)動的鏡像數(shù)據(jù)是被異或0xC0加密過的,該函數(shù)首先會將病毒數(shù)據(jù)進(jìn)行解密,之后對該驅(qū)動進(jìn)行映射并修復(fù)導(dǎo)入表和重定位數(shù)據(jù),最后通過調(diào)用ExQueueWorkItem函數(shù)執(zhí)行病毒驅(qū)動入口。如下圖所示:

加載病毒驅(qū)動
上圖所示調(diào)用ExQueueWorkItem函數(shù)所傳入的WORK_QUEUE_ITEM結(jié)構(gòu)尾部帶有附加數(shù)據(jù),在上述調(diào)用中,附加數(shù)據(jù)存放有被加載驅(qū)動的入口點地址。如下圖所示:

執(zhí)行驅(qū)動入口
內(nèi)核級后門
該病毒執(zhí)行后,會不斷地與C&C服務(wù)器(域名:caoduba.com或139.129.234.76,通訊端口:7897)進(jìn)行通訊。病毒使用的域名和IP地址解密代碼,如下圖所示:

解密域名和IP地址
(一)病毒與C&C服務(wù)器通訊
病毒與C&C服務(wù)器的通訊內(nèi)容分為兩大類:
1)數(shù)據(jù)請求通知
服務(wù)器在獲取到病毒請求數(shù)據(jù)的通知后,可以根據(jù)控制碼返回被請求的數(shù)據(jù)。通過網(wǎng)絡(luò)通訊,病毒可以進(jìn)行遠(yuǎn)程驅(qū)動模塊加載、獲取遠(yuǎn)程動態(tài)庫注入系統(tǒng)進(jìn)程、獲取配置數(shù)據(jù)進(jìn)行流量劫持。控制碼含義,如下圖所示:
|