知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

一、概述

日前,火絨安全團隊發現”ADSafe淨網大師”、”清網衛士”、 “廣告過濾大師”等多款知名軟件暗藏惡意代碼,偷偷劫持用戶流量。這些軟件出自同一公司,功能類似,主要是屏蔽網頁廣告。根據技術分析,三款軟件都會通過替換計費名(不同網站和上游分成的標識)的方式來劫持流量,牟取暴利。其劫持網站數量為近年最多,已達50餘家,包括國內多家知名導航站、電商以及在線消費交易平臺等。更可怕的是,”ADSafe”劫持規則可隨時通過遠程操作被修改,不排除其將來用來執行其他惡意行為的可能性,存在極大安全隱患。

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

火絨安全團隊發現,”ADSafe”官網的軟件版本雖然停留在v4.0.610,但其論壇、下載站中卻發佈了v5.3版。根據技術分析,”清網衛士”、”廣告過濾大師”和v5.3版”ADSafe”的功能、廣告過濾規則,以及惡意代碼都完全一樣,可以認定,”清網衛士”和”廣告過濾大師”軟件其實就是”ADSafe”的最新版本,都會通過替換計費名(不同網站和上游分成的標識)的方式來劫持流量,牟取暴利。

目前,”ADSafe”(v5.3及以上版本)和”清網衛士”等軟件正在通過國內各大下載站、官網以及官方論壇大肆傳播。用戶電腦中只要裝了上述軟件,網站中(如 圖2)產生的流量都會被劫持。

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

如上圖所示,此次涉及到的受劫持網站數量是我們近年來發現最多的一次,共有50餘家。不僅包括國內的導航站、電商(淘寶、京東、華為商城、小米商城、1藥網等);還包括國內一些在線消費交易平臺(新東方、悟空租車);國外的品牌購物站(Coach、Hanes、Clarins等)。

另外,現在劫持規則還在持續更新,不排除將來可能用於其他攻擊。例如火絨之前報道過的病毒利用JavaScript進行挖礦(www.huorong.cn/info/151443978790.html)和竊取個人信息(www.huorong.cn/info/1518338707106.html)的案例,建議廣大用戶注意防範。”火絨安全軟件”最新版可以攔截”ADSafe”和”清網衛士”。

近幾年,互聯網公司間的流量爭奪賽愈演愈烈,併成為其主要收入來源。然而”流量”和”侵害用戶”往往是相伴而生,這也是”火絨關停流量業務”的初衷。軟件提供服務,用戶購買服務/產品,才是健康的商業模式,而不是打著”免費”的旗子,背地裡卻把用戶電腦當作”戰場”,當成軟件廠商的賺錢工具。歸根結底,只有規範的服務、優質的產品,才是企業的制勝法寶,是企業長久發展的經營之道。

二、病毒來源

火絨近期在多個用戶現場發現,名為清網衛士的廣告過濾軟件會惡意劫持流量。當用戶訪問搜索引擎、網址導航站、電商網站時,該軟件會通過HTTP代理的方式將訪問網址劫持為帶有推廣號的目標網址鏈接,惡意流量劫持涉及國內外眾多線上消費平臺及導航搜索站點,國內電商平臺包括:淘寶、京東、蘇寧等,國外線上消費平臺則包括:Coach、Hanes、Nike等多個知名品牌。被劫持的網址列表,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

被劫持網址

隨後,我們找到了清網衛士官網(hxxp://www.ad-off.com/),如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

清網衛士官網

值得一提的是,在我們查看清網衛士頁面源碼的時候,發現在被註釋的網頁代碼中竟然出現了ADSafe(ADSafe)的官網微博地址和用戶QQ群。如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

清網衛士網頁源碼

被註釋的清網衛士官方微博地址(https://e.weibo.com/3066343347),實際最終會跳轉到ADSafe的官方微博,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

清網衛士微博地址

被註釋的QQ群號實際為ADSafe用戶群,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

清網衛士QQ群

除此之外,被註釋的清網衛士微信公眾號 "adoffjwds",公眾號名稱後半部分"jwds"為淨網大師首字母。根據上述幾點,我們可以初步推斷,清網衛士可能和ADSafe存在著某種聯繫。

在我們對ADSafe 5.3.117.9800版本(安裝包來源為某下載站)進行分析後發現,該版本的ADSafe也具有相同的劫持行為。除此之外,該版本ADSafe和清網衛士的功能組件中大部分功能代碼基本相同,甚至有部分用於流量劫持的數據文件SHA1也完全相同。以HTTP代理主模塊為例進行代碼比對,ADSafe.exe(ADSafe)和Adoff.exe(清網衛士)代碼對比,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

代碼對比

用於流量劫持的數據文件SHA1對比,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

數據文件SHA1對比

該版本ADSafe安裝包數字簽名有效,名稱為"Shanghai Damo Network Technology Co. Ltd.",即上海大摩網絡科技有限公司。如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

ADSafe 5.3.117.9800版本安裝包文件屬性

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

ADSafe簽名信息

綜上,我們可以完全斷定,清網衛士和ADSafe5.3.117.9800版本都屬於同一個軟件製作商,且帶有相同的流量劫持邏輯。

隨後,我們也對ADSafe官網(hxxp://www.ad-safe.com/)版本進行了分析。 我們發現,官網下載的ADSafe安裝包不會釋放網絡過濾驅動和劫持策略,由於官網版本安裝後網絡過濾框架不完整,所以不會進行惡意流量劫持。

三、詳細分析

如上文所述,清網衛士與ADSafe5.3.117.9800版本劫持邏輯基本相同,所以我們下文中針對該版本ADSafe進行詳細分析。病毒運行流程,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

病毒運行流程

如上圖所示,由於ADSafe使用HTTP代理的方式進行劫持,所以一旦劫持規則生效,用戶電腦中所產生的所有HTTP請求都會被ADSafe進行劫持,截至到我們發佈報告之前,ADSafe劫持的網址多達54家,且受影響網址還在不斷進行更新。

網絡過濾驅動

當本地產生HTTP請求時,網絡過濾驅動會將過濾到的HTTP請求轉發給本地的HTTP代理(ADSafe.exe)。網絡過濾驅動中的轉發邏輯,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

轉發邏輯代碼

HTTP代理

HTTP代理進程(ADSafe.exe)主要負責處理網絡過濾驅動轉發來的HTTP請求,根據不同的規則可以用於做廣告過濾和流量劫持。ADSafe規則分為兩個部分,分別在兩個不同的目錄下。規則目錄位置及用途,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

規則目錄位置及用途

如上圖所示,用戶訂閱規則主要對應ADSafe中的自定義廣告過濾規則,主要用於廣告過濾、間諜軟件過濾等;流量劫持規則中主要包括劫持策略和劫持內容,劫持生效後,可以將原有的HTTP請求替換為預先準備好的劫持內容,達到劫持目的。以訪問https://www.jd.com為例,由於跳轉過程較快,我們斷網截取到了劫持鏈接(hxxps://p.yiqifa.com/c?w=***&t=https://www.jd.com/)。劫持效果,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

流量劫持

最終跳轉頁面,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

最終劫持地址

流量劫持策略不但會被5.3版本的ADSafe直接釋放,還可以進行雲控更新,就在我們分析的同時,劫持策略還在不斷更新,所以下文所提到的劫持策略均以我們獲取到的最後一個版本為準。

ADSafe策略文件中數據均使用AES算法進行加密,加密後數據使用BASE64進行編碼。由於所有策略文件解密流程完全相同,下文中不再進行贅述。相關解密邏輯,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

解密邏輯相關代碼

策略更新功能主要對應ADSafe中的AdsCdn.dll模塊,該模塊主要負責策略的請求、下載和解密流程。劫持策略更新流程首先會訪問C&C服務器地址請求策略配置數據CdnJsonconfig.dat。C&C服務器地址,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

C&C服務器地址

請求CdnJsonconfig.dat數據相關代碼,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

請求CdnJsonconfig.dat數據代碼

該文件完成解密後,我們可以得到如下配置:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

CdnJsonconfig.dat解密後數據

如上圖所示,其中"0002020A"屬性中存放的是策略更新配置文件下載地址(hxxp:// filesupload.b0.upaiyun.com/pc_v4/rulefile/source_9800.xml?-70969872),通過HTTP請求我們可以得到如下配置:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

策略更新配置

如上圖所示,每一組""標籤對應一個策略或數據文件,其下一級的""標籤中存放的是文件下載地址,下載每個文件至本地後都會對文件的MD5值進行比對,確保文件的完整性。在驗證MD5之後,會將規則文件解壓至ADSafe安裝目錄下的res目錄中。策略更新相關代碼,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

策略更新代碼

我們前文說到,在ADSafe官網版本(4.0版本)中未包含流量劫持策略,其實是因為低版本AdsCdn.dll動態庫中用於請求CdnJsonconfig.dat數據的網址指向的是一個局域網地址(hxxp://192.168.1.77:823/i.ashx),所以不能進行劫持策略的更新。不但如此,官網版本安裝包安裝後,不會釋放網絡過濾驅動,這就直接導致官網版本的ADSafe安裝後根本不具有任何廣告過濾功能。

代理服務進程除了上述操作外,還會通過檢測窗口名(OllyDbg等)、修改線程調試屬性等方式進行反調試,相關代碼如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

檢測調試器

流量劫持策略

在流量劫持策略下發到本地之後,首先會進行解密,之後加載到HTTP代理服務中。為了方便我們下文中對劫持規則的說明,我們首先引用ADSafe過濾語法簡表對過濾規則的關鍵字進行說明。關鍵字及相關用途如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

過濾語法簡表

流量劫持策略被存放在ADSafe安裝目錄下的"res\tc.dat"文件中,經過解密我們可以得到劫持策略。部分劫持策略,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

劫持策略

如上圖所示,劫持規則每條含義大致相同。首先通過正則匹配網址,在網址匹配成功之後,會將"$"後的HTTP數據包內容進行返回,在返回的數據包中包含帶有流量劫持功能的JavaScript腳本。以0025.dat解密後數據包內容為例,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

數據包內容

以前文劫持規則為例,劫持生效後當用戶訪問"dangdang.com"和"suning.com"等網址時,返回數據都會被替換為HTTP數據包0025.dat。數據包文件內容也需要進行解密,解密後我們可以看到JavaScript腳本控制的相關劫持邏輯。

劫持京東等電商網站

首先腳本會根據不同的網址執行不同的劫持邏輯,網址列表如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

網址劫持規則列表

如上圖,url屬性中存放的是欲劫持網址,name存放的是劫持調用函數,在該劫持腳本中,每個網址都對應不同的劫持函數。劫持函數調用邏輯,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

劫持函數調用

由於劫持網址眾多,我們只以較為典型的幾種劫持情況進行說明。我們先以劫持京東商城為例,劫持使用的函數為_fun_17。函數邏輯,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

用來劫持京東的_fun_17函數

_fun_17函數會從預先準備的劫持數據中解密出一組劫持鏈接,且每個鏈接都對應一個劫持概率,劫持概率以比例的形式被依次存放在劫持鏈接數組後面。解密出的劫持數據,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

劫持數據

在獲取到上述劫持鏈接後,會調用ft_r函數在當前頁面中插入刷新標籤進行跳轉。如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

ft_r函數內容

如上圖,每個劫持鏈接都是通過廣告推廣平臺(如億起發、星羅、多麥等)鏈接跳轉至最終的京東主頁,ADSafe會通過這些廣告推廣平臺進行流量套現。其他網址的劫持也大致相同,下面對其他劫持邏輯進行簡單說明。

劫持Hao123導航

針對Hao123的劫持邏輯,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

如上圖,劫持Hao123所示用的HTTP數據在0021.dat中存放,解密後與0025.dat大致相同,但該文件中只存放又針對Hao123的相關劫持代碼。劫持函數,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

Hao123劫持函數

上圖腳本會從推廣號列表中隨機選取一個推廣號拼接在"https://www.hao123.com/?tn="鏈接後面,之後也是通過插入刷新標籤的方式進行跳轉。用來劫持的推廣號共8個,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

用來劫持Hao123的推廣號數據

劫持百度搜索

劫持百度搜索的劫持策略,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

劫持策略

劫持百度搜索的數據在0023.dat中,劫持函數如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

百度搜索劫持函數

與 Hao123劫持情況相似,推廣號也在一個列表中共36個,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

推廣號列表

四、同源性分析

除了前文中所說的清網衛士外,我們還發現一個與ADSafe具有相同劫持策略及功能模塊的廣告過濾軟件"廣告過濾大師"。該軟件有兩個頁面完全相同的官網,分別為hxxp://www.admon.cn/和hxxp://www.newadblock.com/,且"admon.cn"域名是由"上海大摩網絡科技有限公司"註冊的。如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

admon.cn註冊信息

官網頁面不但完全相同,且都帶有多家安全軟件的安全認證,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

廣告過濾大師官網頁面

廣告過濾大師劫持策略目錄與ADSafe、清網衛士對比,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

劫持策略目錄對比

不但目錄中文件名基本一致,而且用於流量劫持的數據SHA1也基本一致(只有0025.dat的SHA不同),三款軟件也都同時包含有相同的功能模塊。所以我們可以判斷,三款軟件同屬於一家軟件製作廠商。SHA1對比,如下圖所示:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量

流量劫持數據文件SHA1對比

五、附錄

文中涉及樣本SHA256:

知名軟件 淨網大師(ADSafe)暗藏惡意代碼,從眾多網站劫持流量


分享到:


相關文章: