近日,一個名為Xavier的安卓系統廣告庫木馬被發現,它會在用戶不知情的情況下竊取和泄露用戶的信息,同時還可以在root過的安卓設備上靜默安裝任何APK。
據統計,目前已有超過800個嵌入該廣告庫的應用程序,這些應用程序已經被用戶下載數百次。下載量最大的是越南、菲律賓、印度尼西亞這些東南亞國家,美國和歐洲的下載量則相對較小。

與其他廣告庫木馬不同的是,它將從遠程服務器下載代碼并加載執行的惡意行為嵌入到自身,同時使用數據加密和仿真程序檢測等方法來保護自己不被查殺。
由于該木馬具備一種能逃避靜態和動態分析的自我保護機制,所以它的竊密行為很難被監測到。此外,Xavier還可以下載并執行其它惡意代碼,這一點意味著它具有更大的風險。Xavier的具體行為取決于下載的代碼和代碼中的網址,可被指定服務器遠程設置。
木馬發展過程
該木馬的發展變化過程如下圖:

Xavier是AdDown木馬家族的一員,該系列木馬已經在互聯網中存在超過兩年。其第一個版本稱為joymobile,于2015年年初被發現。此變體已經可以執行遠程代碼。

除了收集和泄露用戶信息之外,這一木馬還能悄無聲息地在已經root過的安卓設備中安裝其他APK。

該木馬會以明文形式與命令和控制(C&C)服務器進行通信,但所有的常量字符串都在代碼中被加密過。

AdDown家族出現的第二個變種叫nativemob。與joymobile相比,我們可以發現nativemob的代碼結構進行了調整和優化。同時,nativemob還增加了一些新的功能,主要是行為控制和實用工具。雖然這一變種沒有使用靜默方式安裝應用,但提示用戶確認的應用安裝行為仍然存在。


在將數據發送到C&C服務器之前,它收集了比joymobile更多的用戶信息,并使用base64的方式對這些信息進行了編碼。

接下來的一個變種版本出現在2016年1月,這一變種調整了字符串加密算法,對從遠程服務器下載的代碼進行加密,同時還添加了一些反射調用。

16年2月,它對設置模塊做了若干更新,由于某種原因又移除了數據加密的部分。

在接下來的幾個月中進行了進一步更新,然而這些更新都沒有太大的變動。
Xavier的技術分析
2016年9月,被稱為Xavier的新變種被發現。該變種與此前版本相比,具有更精簡的代碼。Xavier刪除了apk安裝和root檢查,同時增加了數據加密的茶葉算法(TEA algorithm)。

很快,Xavier的更新版本增加了一種可以逃脫動態檢測的機制。
Xavier的結構如下:

一旦它被加載,Xavier將從C&C服務器https[:]//api-restlet[.]com/services/v5/中獲取經加密后的初始配置。

服務器同樣會對響應數據進行加密:

在解密后,我們可以發現其實是一個Json文件:

[1] [2] 下一頁V代表SDK版本;
L代表SDK地址;
G代表SDK標識號;
S代表SDK設置;
Au與其配置有關。
Xavier隨后會根據其配置文件,從http[:]//cloud[.]api-restlet[.]com/modules/lib[.]zip下載所謂的SDK文件。然而我們發現,lib.zip并非一個完整的zip文件。
在獲取到lib.zip后,Xavier將“0x50 0x4B”添加在lib.zip的最前,并將其改名為xavier.zip。此時的文件就變成了完整的zip文件。
修改前的lib.zip

修改后的xavier.zip

Xavier.zip包含一個可供Xavier加載和調用的classes.dex文件。

這一dex文件會從用戶的設備中收集一些信息, 并加密并傳輸到遠程服務器 https[:]//api-restlet[.]com/services/v5/rD中,收集信息內容如下:
制造商,來源,SIM卡所屬國家,產品名稱,生產商ID,SIM卡運營商,服務ID,系統語言,分辨率,型號,操作系統版本,設備名稱,設備ID,已安裝的APP,安卓ID,郵箱地址。

Xavier還會通過檢測系統中運行的進程,使其攻擊行為具有隱蔽性,從而逃脫動態檢測。
它檢查設備的產品名稱、制造商、設備品牌、設備名稱、設備模塊、硬件名稱或指紋是否包含以下字符串:
vbox86p,Genymotion,generic/google_sdk/generic,generic_x86/sdk_x86/generic_x86,com.google.market,Droid4X,generic_x86,ttVM_Hdragon,generic/sdk/generic,google_sdk,generic,vbox86,ttVM_x86,MIT,Andy,window,unknown,goldfish,sdk_x86,generic_x86_64,phone,TTVM,sdk_google,Android SDK built for x86,sdk,Android SDK built for x86_64,direct,com.google,XavierMobile,TiantianVM,android_id,generic/vbox86p/vbox86p,com.google.vending,nox
Xavier還通過掃描用戶的郵件地址來隱藏其行為,會檢查用戶的電子郵件地址是否包含下列字符串:
pltest,@facebook.com,tester,@google.com,review,playlead,agotschin,gptest,rxwave 15,rxplay,admob,gplay,adsense,gtwave,rxtest,wear.review,qaplay,test,rxtester,playtestwave

為了進一步避免被發現,Xavier具有如下行為:
1) 對所有常量字符串進行加密,使靜態檢測和手動分析更加困難。

2) 通過https進行網絡數據傳輸, 防止其通信被捕獲,同時對數據也進行加密。

3)使用大量的反射調用方法, 對類名和方法名進行加密。

4)根據運行環境,隱藏其行為。
這是Google Play中一個被嵌入了Xavier廣告庫木馬的應用程序:

防范建議
避免像Xavier這樣的惡意軟件,最簡單的方法是:不下載任何來源不明的APP,包括在諸如Google Play這樣正規的應用商城中的APP。
此外,還應該留意應用商城中其他用戶對于某個APP的評論,如果有人提及某個APP表現出了可疑行為,那就應該特別注意。
此外,需要及時更新移動設備的系統,及時修復已知漏洞。假如自己的手機出現了異常狀況,需要及時尋求手機售后服務人員或安全人士進行處理。
|