search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

惡性病毒Pengex通過系統盤瘋狂傳播,攻擊所有主流殺軟卻唯獨放過騰訊

一、綜述

近日,火絨安全實驗室截獲到一種內核級後門病毒,並將其命名為」Pengex」病毒。經分析,」Pengex」以劫持用戶首頁流量牟利為目的,但是不同於其他」流量劫持」類病毒的是,它技術高明、手段兇狠,會主動攻擊國內主流的安全軟體,使他們失去內核對抗能力,這會讓電腦完全失去安全防護。詭異的是,Pengex唯獨不攻擊並且刻意」放過」騰訊電腦管家。

「Pengex」通過盜版系統盤和」註冊機」軟體進行傳播,並在用戶電腦中留下後門,日後可隨時植入任意病毒,因此威脅隱患極大。」Pengex」會攻擊各種主流的殺毒軟體,包括火絨、360、金山等,導致這些軟體的驅動無法載入,因此失去在內核層對抗病毒的能力。

但有意思的是,該病毒卻唯獨刻意放過了騰訊電腦管家,它將騰訊電腦管家加入白名單中,在進行」刪除驅動回調」的操作時放過騰訊電腦管家。病毒的這種行為表明,該病毒團伙很可能是騰訊安全管家的系統盤渠道推廣服務商,火絨建議」騰訊安全管家」徹查系統盤推廣渠道。

「Pengex」通過修改瀏覽器配置和進程啟動參數兩種方式,來劫持首頁牟利。在此過程中,病毒會按照製作者的計劃,將不同的瀏覽器指向不同的導航站。該病毒不僅攻擊安全軟體,還會攻擊其他同類病毒,以便獨佔用戶電腦首頁資源牟利。據分析,該病毒劫持首頁後設置的渠道號是」oemxiazaiba2″(」下載吧」的全拼),請各大導航站關注並查證這個渠道賬號。

「火絨安全軟體」已經在第一時間更新病毒庫,可徹底查殺該病毒。火絨工程師提醒廣大用戶,如需重裝系統,務必通過正規渠道,購買正版系統,目前看來,盜版系統盤已經成為電腦病毒的重要傳播渠道。

二、詳細分析

該病毒是一個內核級後門病毒,初步懷疑該樣本主要通過第三方系統盤方式進行傳播。該樣本在系統中運行后,會造成國內主流安全軟體驅動程序無法正常載入,從而使安全軟體失去防禦能力。該病毒主要對抗的安全廠商包括:火絨、360、金山等,其惡意代碼執行之後,可以執行遠端C&C伺服器存放的任意病毒代碼。

該病毒分為兩個部分,即病毒載入器和後門病毒,下文中分為兩部分進行詳細分析。病毒結構如下圖所示:

病毒整體結構圖

病毒載入器

該部分代碼主要用於對抗安全軟體查殺和進行內核對抗。載入器功能代碼分為兩個部分,先會在內存中通過虛擬映射載入一個新的ntoskrnl鏡像,再通過相同的方式將真正的病毒驅動載入到內存中,並且將導入的ntoskrnl中的函數地址指向其虛擬載入的ntoskrnl鏡像中的函數地址上,通過此方法可以繞過其他驅動在ntoskrnl中設置的內核鉤子。全局變數is_virus_load是一個標記,通過傳入驅動主函數中的RegistryPath參數是否為NULL判斷是否為病毒通過虛擬映射方式載入。如下圖所示:

載入器驅動主函數代碼

(一)虛擬載入ntoskrnl

load_fake_ntoskrnl_safe函數會通過虛擬載入新的ntoskrnl鏡像,在其執行完虛擬載入邏輯之後,會與當前內存中系統載入的ntoskrnl模塊前0×200個位元組數據進行比較,從而判斷自己創建的ntoskrnl鏡像內容是否正常。如下圖所示:

檢測虛擬載入是否成功

虛擬載入ntoskrnl

(二)虛擬載入後門病毒

load_rootkit函數會通過與虛擬映射ntoskrnl相同的方法載入真正的病毒驅動。病毒驅動的鏡像數據是被異或0xC0加密過的,該函數首先會將病毒數據進行解密,之後對該驅動進行映射並修復導入表和重定位數據,最後通過調用ExQueueWorkItem函數執行病毒驅動入口。如下圖所示:

載入病毒驅動

上圖所示調用ExQueueWorkItem函數所傳入的WORK_QUEUE_ITEM結構尾部帶有附加數據,在上述調用中,附加數據存放有被載入驅動的入口點地址。如下圖所示:

執行驅動入口

內核級後門

該病毒執行后,會不斷地與C&C伺服器(域名:caoduba.com或139.129.234.76,通訊埠:7897)進行通訊。病毒使用的域名和IP地址解密代碼,如下圖所示:

解密域名和IP地址

(一)病毒與C&C伺服器通訊

病毒與C&C伺服器的通訊內容分為兩大類:

1)數據請求通知

伺服器在獲取到病毒請求數據的通知后,可以根據控制碼返回被請求的數據。通過網路通訊,病毒可以進行遠程驅動模塊載入、獲取遠程動態庫注入系統進程、獲取配置數據進行流量劫持。控制碼含義,如下圖所示:

數據請求相關控制碼

2)運行狀態通知

伺服器可以根據通知中的控制碼獲取當前病毒的運行狀態,例如映像載入回調是否設置成功,是否已經成功劫持用戶主頁等,病毒作者可以根據這些通知得知病毒運行中可能存在的問題。控制碼含義,如下圖所示:

運行狀態通知

通過上述控制命令,我們可以直觀的看到,該病毒不但可以根據遠程獲取的配置數據劫持用戶首頁,還可以根據病毒作者需求在用戶計算機中執行任意惡意代碼。又由於該病毒會阻止安全軟體驅動載入,使得安全軟體完全失去了與其進行內核對抗的能力,從而導致很難對其進行查殺。

病毒與伺服器通訊函數,如下圖所示:

發送數據代碼

通訊使用TDI網路函數,連接伺服器代碼,如下圖所示:

調用TDI網路函數鏈接伺服器

發送數據、接收數據代碼類似,僅以發送數據為例。如下圖所示:

調用TDI網路函數發送數據

下面我們根據病毒所使用的主要的控制碼對病毒功能進行詳細分析:

1)控制碼0×2,獲取病毒執行配置數據進行流量劫持

與伺服器通訊后,病毒可以獲取到劫持配置數據,數據中包括是否劫持某種瀏覽器、各個種類瀏覽器需要劫持的網址、控制病毒執行流程的執行標記。如下圖所示:

下載配置

配置數據並不是通過明文存放,下載之後需要逐位元組異或0xC0進行解密,數據長度共0x1CA0個位元組。如下圖所示:

解密配置

下載的瀏覽器配置內容中,包括需要劫持的瀏覽器種類、各個瀏覽器所劫持的網址、需要執行哪些對抗操作、是否劫持騰訊電腦管家的首頁保護註冊表項及所劫持註冊表項內容。如下圖所示:

下載的配置內容

上圖中所示紅框所標註出的變數virus_proc_ctrl_code可以控制病毒的執行執行的對抗操作流程,其所能控制的對抗操作例如:刪除其他驅動的映像載入回調和進程回調、截斷attach在系統網路驅動上的設備鏈等。因為絕大部分瀏覽器首頁保護和首頁劫持都會在這些位置上做文章,所以在病毒在劫持流量的同時進行上述對抗可以一定程度上提高其劫持成功率。該變數以位段的形式規定執行流程,各個位段含義如下圖所示:

位段含義

使用virus_proc_ctrl_code變數控制執行流程,如下圖所示:

virus_proc_ctrl_code相關代碼

下面我們根據上圖中所示順序依次對其所使用的對抗方法進行說明:

A.刪除其他驅動的進程回調和映像載入回調

這種方法主要針對利用進程回調和映像載入回調相互配合劫持或保護瀏覽器啟動參數的情況,病毒先通過搜索代碼的方式在設置回調的系統函數中找到回調函數表,之後判斷回調函數所屬驅動模塊是否在白名單中,如果不在白名單中則執行刪除操作,刪除成功后想伺服器發送運行狀態通知0×10。如下圖所示:

刪除映像載入回調

搜索影響載入回調函數列表代碼

判斷回調地址所屬驅動模塊是否在白名單列表中

白名單中所存放字元串可以是文件名也可以是部分文件名,其中除了一些系統驅動模塊外還包括騰訊電腦管家相關驅動,因為騰訊電腦管家驅動全部包含QQPCMgr、Ts和TS字元串,所以騰訊電腦管家的全部驅動都會被放過。白名單列表如下圖所示:

白名單列表

檢測回調所屬模塊文件名

刪除進程回調的方法與刪除映像載入回調方法類似。如果執行中無法得到進程回調函數表則向C&C伺服器發送控制碼0xE,如果成功註冊進程回調函數則向C&C伺服器發送0×11。如下圖所示:

刪除進程回調

搜索進程回調函數列表

B.截斷attach在系統網路驅動對象上的設備鏈

除了刪除驅動回調外,該病毒還會通過截斷attach到tcpip、AFD、tdx驅動上設備鏈的方式,排除網路過濾驅動對其流量劫持效果的影響。如下圖所示:

截斷attach的設備鏈

C.清空hosts文件

清除hosts

D.清除BHO(BrowserHelperObjects)

通過刪除\Registry\Machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BrowserHelperObjects註冊表項下的所有子項來刪除所有BHO。但當病毒發現系統中存在\REGISTRY\MACHINE\Software\Wow6432Node\Tencent\QQPCMgr註冊表項時,則不對BHO文件進行清除。如下圖所示:

刪除BHO相關代碼

刪除BHO註冊表項

E.重置IE代理設置

病毒通過將\Registry\User\當前用戶\Software\Microsoft\Windows\CurrentVersion\InternetSettings的ProxyEnable鍵值置為0的方法禁用網路代理。

F.劫持瀏覽器配置

在進行對抗操作之後,病毒使用所收到的劫持網址和相關數據嘗試對一些常用瀏覽器(IE、QQ瀏覽器、360安全瀏覽器、火狐、世界之窗)和騰訊電腦管家首頁保護的配置進行修改,從而進行流量劫持。在進行劫持操作之後,會向C&C伺服器發送控制碼0×4。如下圖所示:

劫持瀏覽器和騰訊管家首頁保護配置

劫持瀏覽器代碼以劫持360安全瀏覽器為例,如下圖所示:

構造360安全瀏覽器相關環境字元串

最引起我們注意的是,在劫持360安全瀏覽器首頁的同時,病毒還將渠道號設置成了」oemxiazaiba2″,字母組成的後半部分為」下載吧」全拼,但由於可以獲取到的信息十分有限,我們暫時無法求證其與」下載吧」是否存在直接關係。如下圖所示:

劫持360安全瀏覽器首頁代碼

G.劫持騰訊電腦管家首頁保護網址

病毒除了會篡改瀏覽器配置外,還會通過添加自定義保護網址(自定義網址相關註冊表項均為3rd開頭)的方式,劫持騰訊電腦管家首頁保護網址。如下圖所示:

修改騰訊電腦管家首頁保護註冊表項

2)控制碼0×3,獲取遠程驅動模塊

與上文(一)病毒載入器中病毒所使用的方法相似,只不過病毒這次用來載入的驅動模塊數據是通過C&C伺服器獲取的,大致執行過程相同,其具體的驅動執行過程不再贅述。如下圖所示:

載入遠程驅動模塊

虛擬載入驅動並執行入口點

3)控制碼0xA,獲取遠程驅動模塊

執行遠程驅動模塊代碼部分,是通過注入winlogon.exe進程實現的,注入部分使用了開源的BlackBone項目代碼。如下圖所示:

請求遠程動態庫

病毒會先將獲取到的動態庫數據是放到system32目錄下,之後再調用BlackBone代碼將動態庫注入到winlogon進程中執行。如下圖所示:

注入winlogon

注入winlogon

病毒中的BlackBone項目相關代碼

(三)其他劫持和對抗手段

1)通過進程回調和映像載入回調劫持瀏覽器啟動參數

除了上述介紹的病毒所使用的劫持方法外,病毒還通過註冊進程回調和映像載入回調劫持瀏覽器啟動參數進行流量劫持。如下圖所示:

病毒註冊回調

病毒在進程回調中會判斷瀏覽器種類,針對不同的瀏覽器劫持的網址鏈接可以有所不同,在檢測到需要進行劫持的進程后,將相關的劫持信息添加到劫持列表中。如下圖所示:

劫持瀏覽器進程檢測

在進程回調中記錄劫持進程信息后,在映像載入回調中將PEB中的進程參數篡改為欲劫持網址。如下圖所示:

劫持進程參數

2)通過映像載入回調攔截驅動載入

除了用於進行流量劫持的映像載入回調外,病毒還註冊了一個用來進行內核對抗的映像載入回調,該回調函數不但會阻止帶有安全軟體簽名信息的驅動執行,還會攔截一些內核級流量劫持類病毒的執行。當所載入的驅動信息在黑名單中,病毒會將映像的入口點代碼替換為直接返回,從而禁止執行該映像中的邏輯代碼。如下圖所示:

禁止執行安全軟體驅動邏輯

在判斷正在載入的映像是否屬於黑名單時,病毒先常見的內核級流量劫持病毒的文件名進行匹配,如果文件名中包含Mslmedia.sys或者mssafel.sys則會禁止其執行。之後,病毒會獲取當前映像的簽名信息與黑名單中的簽名信息進行匹配,如果包含則也會禁止其執行。黑名單中的簽名信息包括:火絨、360、金山、2345、瑞星、百度,甚至還包括ADSafe的簽名和病毒常用」上海域聯」簽名信息,但是其中依然沒有騰訊電腦管家相關簽名信息,由此我們可以推斷病毒對騰訊電腦管家是有意進行放過的,並非無意之舉。簽名信息黑名單信息,如下圖所示:

簽名黑名單

如上圖,除了主流安全軟體的簽名外,還包括有」上海域聯」的簽名信息。該簽名雖然已經過期,但是不會影響驅動正常載入,所以經常被病毒程序盜用,去年大面積爆發的」小馬激活病毒」也是盜用了」上海域聯」的簽名。相關代碼如下圖所示:

判斷是否屬於黑名單

檢測簽名信息是否在黑名單中

由於很多內核級流量劫持類病毒都使用VMProtect殼進行保護,所以病毒作者還加入了一個更加暴力的判斷方法,如果節名為UPX0或者.vmp0則禁止驅動邏輯執行。如下圖所示:

檢測節名

三、附錄

文中涉及樣本SHA256:



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦