search
瑞星劫持瀏覽器主頁分析

瑞星劫持瀏覽器主頁分析

一 現象

最近打開IE瀏覽器,發現地址欄是鎖定的默認主頁,但是顯示的網頁內容確是瑞星安全導航。

通過分析,發現瑞星是通過在驅動層註冊進程回調,在應用層啟動服務監控創建的進程,當發現瀏覽器啟動,且打開的網址是劫持網址,會對瀏覽器默認主頁進行劫持。

二 分析

(1) 進程監控分析

重點分析了一下瑞星服務進程ravmond的進程回調處理函數ExeMonCallBack,其關鍵部分如下

首先通過驅動層上報的進程啟動信息去獲取一些關鍵信息,通過ProcessID獲取父進程的全路徑,通過Process的全路徑去獲取當前啟動的進程是否是需要劫持的瀏覽器進程。

如圖,我們看到ravmond基本劫持了常用的所有瀏覽器,且設置了一個開關,在開關開啟的時候對type為10,10000,20000000的瀏覽器不做劫持,對應的瀏覽器分別為IE,QQ瀏覽器,juzi瀏覽器。通過調試發現目前開關並沒有打開。

之後通過一個Event事件來防止重入。Event事件的名字格式為{RsDrvmcl_sessionid_browsertype} 例如主動打開IE瀏覽器,Event的名稱為{RsDrvmcl_1_00000010},在執行劫持操作時創建event,在獲取到瀏覽器類型成功後去打開event,如果打開成功,說明當前正在對該瀏覽器主頁做劫持,本次打開不做處理。

如果當前啟動的進程是目標瀏覽器進程,ravmond會對當前進程的命令行以及父進程做是否需要劫持判斷,對命令行的判斷主要分為三步:

1、當前瀏覽器打開的URL是否為Rising導航,如果是不做劫持。

2、當前瀏覽器打開的URL是否為特定的hao123帶渠道導航,如果是不做劫持。

3、當前瀏覽器打開的URL是否在預置的導航網址列表中,如果是開始劫持。

通過dump內存看到,瑞星預置的劫持導航將近100條,裡面不僅包含用戶常用的主流導航(hao123 baidu 搜狗導航 360導航 2345導航 QQ導航),還包含大量的小導航,以及跳轉站例如123.dh136.com,123.hao245.com等等。

除了對導航網址進行判斷以外,還對常見的桌面快捷方式打開參數等進行了劫持,如下圖所示。

主頁劫持只針對由explorer kdesk qmlaunch mxstart進程啟動的瀏覽器生效。

在上述條件都滿足的情況下,創建一個線程啟動假的瀏覽器

線程函數裡面主要做了兩部分的工作,一部分是通過瀏覽器類型去獲取對應的假瀏覽器路徑,一部分是創建進程。

通過分析,可以發現各瀏覽器對應的假瀏覽器進程如下

360chrome.exe => wsafechb.exe

360se.exe => wsafetqa.exe

qqbrowser.exe => wsafesdb.exe

SogouExplorer.exe => wsafeeid.exe

liebao.exe => wsafeche.exe

Maxthon.exe => wsafesda.exe

UCBrowser.exe => wsafechc.exe

chrome.exe => wsafea.exe

iexplore.exe => wsafeei.exe

Vista以後操作系統增加了session隔離機制,一個用戶對應一個獨立的session,服務程序運行在session0當中,用戶程序運行在session1 session2…裡面,由於當前是在服務進程中,要從服務中啟動一個具有桌面UI交互的應用,需要使用CreateProcessAsUser,並手動設置環境塊。

(2) 瀏覽器劫持分析

瀏覽器劫持主要是通過使用假瀏覽器進程創建一個webbrowser替換掉原有的webbrowser來實現的,我以IE瀏覽器為例來分析。

在滿足劫持條件后,瑞星服務程序會啟動一個假的瀏覽器進程,IE對應的是wsafeei.exe。

wsafeei.exe首先先創建一個名字為AXWIN Frame Window的窗口。

然後以新建窗口為父窗口,創建一個webbrowser,並創建線程將新創建的窗口替換到IE中。

線程中循環等待IE界面出現,並獲取IE的」Frame Tab」 「TabWindowClass」 「Shell DocObject View」三個窗口的句柄,如果9秒內IE沒有啟動,則放棄劫持。

將wsafeei創建的窗口的父窗口設置為TabWindowClass,獲取TabWindowClass的位置以及大小,對應設置 wsafeei創建的窗口為對應的位置和大小,將IE的ShellDocObjectVIew窗口隱藏掉,顯示wsafeei創建的窗口,對應的webbrowser打開瑞星導航。為了不影響IE的正常使用,其註冊了消息過濾函數,處理IE相關的消息。

到此為止,就成功的劫持掉了IE的默認主頁。

三 結論

通過在服務進程中監控進程啟動,替換瀏覽器的窗口來劫持主頁,可以避免與主頁保護軟體的正面對抗,達到劫持效果,思路令人佩服。如果用在正規的主頁保護技術上那就更好了。

*本文作者:GATA,轉載請註明來自Freebuf.COM

熱門推薦

本文由 一點資訊 提供 原文連結

一點資訊
寫了5860316篇文章,獲得23269次喜歡
留言回覆
回覆
精彩推薦