安卓新型惡意木馬Xavier的發展過程和技術分析
近日,一個名為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文件:
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表現出了可疑行為,那就應該特別注意。
此外,需要及時更新移動設備的系統,及時修復已知漏洞。假如自己的手機出現了異常狀況,需要及時尋求手機售後服務人員或安全人士進行處理。
*參考來源:trendmicro,FB小編 eridanus96 編譯,轉載請註明來自FreeBuf(FreeBuf.COM)


※看我如何利用開發人員所犯的小錯誤來盜取各種tokens
※CVE-2016-10277在MOTO X手机上的漏洞利用实践
※Gartner:2017年11大頂尖信息安全技術
※Android污點分析工具flowdroid源碼簡析
TAG:FreeBuf |
※Docker容器構建過程的安全性分析
※James Lewis:新技術的採納是一個組織變革的過程
※理工男的最愛 大疆黑科技RoboMaster S1機器人組裝過程
※科技只是時尚的噱頭嗎?深度剖析時尚界中的技術異類 Stitch Fix 的成長過程
※強化學習 2 Markov Decision Process 馬可夫決策過程
※小米新桌面PocoLauncher 安裝過程
※小眾種草機 | 製作過程橫跨歐、美、非洲,手工麻編袋品牌 Cesta Collective
※PD-1抑製劑Nivolumab免疫治療過程中的腫瘤及微環境進化研究
※Facebook也參與了英特爾Cooper Lake CPU的研發過程
※Photoshop詳解歐美藝術效果的調色過程
※大神教你JVM運行原理及Stack和Heap的實現過程
※MapReduce中源碼分析(map端的過程)
※Python裝飾器的誕生過程
※PNAS:聚焦microRNA的加工處理過程有望開發出新型抗癌療法
※不一樣的Windows,ReactOS系統詳細安裝過程
※英國銀匠Miriam Hanid的作品與製作過程
※Cell Host&Micro:揭示幽門螺桿菌關閉宿主胃粘膜細胞能量產生過程建立長效感染的分子機制
※Tensorflow實戰講解神經網路搭建詳細過程
※SpaceX改進Starship火箭:著陸過程可滲出液體製冷
※VR醫療公司VRHealth與Oculus合作 緩解化療過程中的疼痛