Ghost Push —— Monkey Test & Time Service病毒分析報告

wyzsk發表於2020-08-19
作者: 獵豹移動安全中心 · 2015/09/18 19:07

2015年8月,酷派大神手機使用者在安裝官方提供的系統升級包後,手機便被預安裝了MonkeyTest和TimeService等未知軟體。截止到9月18日,該類病毒的每日感染量已經擴大到了最高70萬臺/天,有上萬種機型收到了Ghost Push的影響,典型的有酷派、三星、MOTO等等(附件一提供了所有受影響機型列表)。

透過資料分析如圖1所示,我們發現Ghost Push病毒感染使用者主要分佈於美國、俄羅斯、印度、中國等。相對在中國而言,雲南、廣東感染量最高。

圖1 感染分佈圖

我們稱這類病毒為Ghost Push病毒。該類病毒軟體開機自動執行,透過使用者資料流量進行廣告推送,並且在未經過使用者允許的情況下靜默下載安裝應用。甚至使用者無法透過手機防毒軟體、手動解除安裝該類病毒。手機感染之後如圖2所示。

圖2 感染Ghost Push病毒的手機舉例

Ghost Push病毒已經給安卓使用者造成了巨大的困擾。本文就Ghost Push的執行流程進行詳細的分析,同時也提出了針對這類病毒的解決方案及安全建議。

Ghost Push病毒在執行的過程當中,會獲取Root許可權,透過使用者資料流量進行廣告推送、靜默下載安裝應用。具體的流程如圖3所示。

圖3 Ghost Push病毒執行流程

首先,攻擊者將惡意程式碼注入到合法的應用當中,透過二次打包,偽裝成為原本的合法應用(被感染的應用列表如附件二所示)。一旦使用者下載了被注入惡意程式碼的“正常”應用,應用中的惡意程式碼便開始執行,具體執行過程如下。

0x01 病毒釋放安裝流程分析


1.1 獲取Root許可權

惡意程式碼首先向伺服器http://api.aedxdrcb.com/ggview/rsddateindex傳送手機的型號等配置資訊。隨後從伺服器端獲取Root工具包http://down.upgamecdn.com/onekeysdk/tr_new/rt_0915_130.apk。該Root工具包利用手機存在的漏洞,獲取手機的Root許可權。目前可以適配上萬種機型,成功執行Root提權操作。

本文列出了針對三星、MTK兩家廠商的Root執行程式碼,如圖4.a和圖4.b所示。

圖4.a 三星ROOT方案

圖4.b MTK ROOT方案

在獲取了Root許可權之後,惡意程式碼執行四類操作:1)替換debuggerd檔案;2)修改install-recovery.sh檔案;3)釋放惡意bin檔案;4)安裝ROM病毒。

1.2 替換debuggerd檔案

病毒會將原系統的debuggerd檔案另存為debuggerd-test檔案,並將自己的惡意bin檔案儲存為系統的debuggerd檔案,如圖5所示。

圖5 替換debuggerd檔案

1.3 修改install-recovery.sh檔案

病毒修改系統的install-recovery.sh檔案,如圖6所示。

圖6 修改install-recovery.sh檔案

1.4 釋放惡意bin檔案

病毒將惡意bin檔案的二進位制程式碼固定內嵌在Java程式碼中,並在執行的過程中,向/system/xbin目錄下釋放。

圖7 釋放bin檔案

1.5 安裝ROM病毒

在惡意程式碼執行的過程中,會向系統目錄/system/priv-app或/system/app中寫入如camera_update應用的病毒母體,如圖8所示。

圖8 釋放病毒母體

由於獲得了Root許可權,惡意程式碼首先檢查/system/priv-app目錄下是否安裝了camera_update病毒母體。該病毒母體會在bin檔案的守護下,一直存在在手機的ROM中,防止被解除安裝,詳見第二節分析。

病毒母體在安裝完畢後,會靜默安裝Time Service、Monkey Test等應用。這些應用會透過短連線方式從伺服器(Monkey Test對應伺服器:http://massla.hdyfhpoi.com/gkview/info/801; Time Service對應伺服器:http://u.syllyq1n.com/mmslow/api/821。)獲取應用資訊,在未經過使用者允許的情況下進行下載安裝,如圖9、圖10所示。

圖9 Monkey Test子包從伺服器獲取應用資訊

圖10 在使用者未知的情況下在ROM內安裝應用

0x02 病毒母體守護流程分析(圖3中藍色部分所示)


2.1 bin檔案守護ROM病毒母體

在系統啟動時,會執行install-recovery.sh與debuggerd檔案。這兩個檔案會執行釋放的惡意bin檔案。bin檔案會一直保持執行狀態,守護釋放在ROM中的病毒母體。並從伺服器獲取最新病毒安裝包。

圖11 獲取最新病毒包

當病毒母體被刪除後,bin檔案會自動再次下載並向ROM中安裝病毒母體,如圖12所示。

圖12 病毒母體守護流程

圖13 病毒母體安裝流程

2.2 bin檔案防刪除

同時,在手機執行的過程中,透過圖14所示的chattr +i操作,使得使用者無法刪除惡意bin檔案。

圖14 透過chattr +i操作防止使用者刪除bin檔案

2.3 apk防解除安裝

Ghost Push病毒透過chattr + i操作使得使用者無法解除安裝已經安裝的apk應用,如圖15所示

圖15 透過chattr + i操作防止使用者解除安裝apk

0x03 病毒惡意行為分析


Ghost Push病毒安裝的應用軟體均具有資料流量廣告推送、靜默安裝應用軟體兩種惡意行為。

3.1 廣告推送

透過Ghost Push病毒安裝、釋放在使用者手機上的應用,會透過手機資料流量向使用者推送廣告。具體流程如圖16所示。當使用者開啟螢幕時,便會觸發展示推送廣告推送。

圖16 開啟螢幕觸發廣告推送

值得注意的是,Ghost Push病毒在推送廣告的過程中,會首先關掉使用者手機的WiFi連線,透過使用者的手機流量來獲取需要推送的廣告內容,如圖15中紅色方框內容所示。在使用者不知情、未得到允許的情況下盜用了大量的資料流量。

3.2 應用推送

Ghost Push病毒母體釋放的Time Service、Monkey Test子包還會向使用者推送應用並安裝,如圖17所示。病毒從http://m.AEDXDRCB.COM/gcview/api/910獲取需要推廣的應用。

圖17獲取需要推廣的應用

返回的結果有不同的推廣型別, 比如直接後臺下載,快捷圖示,彈通知欄等方式。如圖18所示。

圖18獲取需要推廣應用請求返回

比如以下返回直接後臺下載的推廣應用。病毒會在在後臺下載完成後自動安裝,如圖19所示。

圖19 後臺安裝應用

Ghost Push病毒中各種推廣任務,會使用sqllite資料庫作為中轉,如圖20所示。

圖20 sqllite中轉推廣任務

在實際我們測試中, 可以看到以下的推廣資料,如圖21-24所示。

圖21 後臺推送應用日誌檔案

圖22 安裝應用

圖23 推送應用提醒使用者安裝

圖24 推送安裝應用列表(測試機已裝)

3.3無Root靜默安裝

為了進一步地保證成功地安裝下載應用,病毒還會誘導使用者開啟輔助功能,如圖24所示。之後如圖25所示的程式碼,病毒透過輔助功能,模擬使用者點選操作來成功地安裝應用。並且圖25左側檔案列表也顯示出其可以適配不同系統市場(GooglePlayer、Lenovo、MIUI等)的安裝方式。

圖24 開啟輔助功能

圖25 透過輔助功能靜默安裝

0x04 解決方案與安全建議


4.1 解決方案

使用者可以選擇使用獵豹專殺工具https://play.google.com/store/apps/details?id=com.cleanmaster.security.stubborntrjkiller(即將更新上線)或手動刪除病毒軟體。手動刪除方法如下:

  1. 使用刷機軟體,一鍵獲取ROOT許可權。
  2. 下載安裝adb工具,http://developer.android.com/tools/help/adb.html
  3. 下載安裝busybox工具,http://www.busybox.net/
  4. 在電腦端,透過adb shell連線手機,使用su命令獲取ROOT許可權。
  5. ps | grep .base #獲取.base檔案的pid kill pid
  6. 刪除惡意bin檔案

    mount -o remount rw /system  #不同系統命令可能不同
    chattr –ia /system/xbin/.ext.base
    chattr –ia /system/xbin/.bat.base
    chattr –ia /system/xbin/.zip.base
    chattr –ia /system/xbin/.word.base
    chattr –ia /system/xbin/.look.base
    chattr –ia /system/xbin/.like.base
    chattr –ia /system/xbin/.view.base
    chattr –ia /system/xbin/.must.base
    chattr –ia /system/xbin/.team.base
    chattr –ia /system/xbin/.type.base
    chattr –ia /system/xbin/.b
    chattr –ia /system/xbin/.sys.apk
    chattr –ia /system/xbin/.df
    chattr –ia /system/bin/daemonuis 
    chattr –ia /system/bin/uis
    chattr –ia /system/bin/debuggerd
    chattr –ia /system/bin/nis
    chattr –ia /system/bin/daemonnis
    chattr –ia /system/bin/.daemon/nis
    chattr –ia /system/bin/uis
    chattr –ia /system/bin/.sr/nis
    chattr –ia /system/bin/mis
    chattr –ia /system/bin/daemonmis
    chattr –ia /system/bin/.daemon/mis
    chattr –ia /system/bin/.sc/mis        
    
    rm /system/xbin/.ext.base
    rm /system/xbin/.bat.base
    rm /system/xbin/.zip.base
    rm /system/xbin/.word.base
    rm /system/xbin/.look.base
    rm /system/xbin/.like.base
    rm /system/xbin/.view.base
    rm /system/xbin/.must.base
    rm /system/xbin/.team.base
    rm /system/xbin/.type.base
    rm /system/xbin/.b
    rm /system/xbin/.sys.apk
    rm /system/xbin/.df
    rm /system/bin/daemonuis 
    rm /system/bin/uis
    rm /system/bin/debuggerd
    rm /system/bin/nis
    rm /system/bin/daemonnis
    rm /system/bin/.daemon/nis
    rm /system/bin/uis
    rm /system/bin/.sr/nis
    rm /system/bin/mis
    rm /system/bin/daemonmis
    rm /system/bin/.daemon/mis
    rm /system/bin/.sc/mis
    cp /system/bin/debuggerd_test /system/bin/debuggerd
    
  7. 使用獵豹安全大師清除惡意軟體,無法清除的軟體使用以下命令清除。

    chattr –ia /system/priv-app/cameraupdate.apk
    chattr –ia /system/priv-app/com.android.wp.net.log.apk
    rm -rf /data/data/com.android.camera.update
    rm -rf /data/data/com.android.wp.net.log
    rm  /systam/priv-app/cameraupdate.apk
    rm  /systam/priv-app/com.android.wp.net.log.apk
    
  8. adb shell 
    cp /system/etc/install-revcovery.sh /sdcard/
    adb pull /sdcard/install-revcovery.sh
    adb push install-revcovery.sh /sdcard/
    cp /sdcard/install-revcovery.sh /system/etc/
    
  9. 開啟/system/etc/install-recovery.sh,將其中如下程式碼段註釋或刪除。

    /system/bin/daemonuis --auto-daemon &          
    
    #!/system/bin/sh
    /system/xbin/.ext.base &         
    
    #!/system/bin/sh
    /system/xbin/.ext.base &
    

4.2 安全建議

建議使用者從正規應用市場下載應用,謹慎下載安裝附件二中的應用。同時,安裝獵豹安全大師,驗證下載應用的合法性,對手機進行實時的安全監控。

0x05 總結


Ghost Push病毒透過廣告SDK或瀏覽器廣告進行大範圍的傳播,透過對病毒的跟蹤分析,得知Ghost Push這類病毒軟體偽裝成合法的軟體。使用者一旦感染,惡意程式碼在開機時執行install-recovery,同時透過chattr + i命令防止使用者透過防毒軟體建或手動解除安裝。惡意程式碼透過使用者資料流量進行廣告推送,並且在未經過使用者允許的情況下靜默下載安裝應用,給眾多安卓使用者帶來了不可避免的影響及危害。

本文在對病毒執行流程進行分析之後,提供了使用者手動清除病毒的方法。最後,我們在對病毒來源進行分析之後發現病毒軟體的大部分簽名為C=CN/O=xinyinhe/OU=ngsteam/CN=ngsteam,來自於一家名為xinyinhe的公司。本著刨根問題的原則,我們也在附件三中對這家xinyinhe公司進行了全面的調查。

我們建議使用者從正規渠道下載應用,並且安裝獵豹安全大師,保證應用的合法性,實時維護使用者的手機安全。

[附件一] 部分受感染機型列表

[附件二] 感染應用列表(39項)

[附件三] 深圳市新銀河技術有限公司

直覺告訴我們,這家新銀河技術有限公司和一鍵ROOT大師有著千絲萬縷的聯絡。不要問我們直覺哪裡來的~~

那麼到底這兩家公司有沒有關係呢?我們首先百度、谷歌了一下新銀河的官網,結果顯示這家公司沒有官網。於是——

我們上了拉鉤招聘發現了該公司的連結。

從招聘資訊上我們得知http://www.ngemob.comhttp://root.ngemob.com 都是深圳市新銀河技術有限公司的網站。

找到公司官網之後,真相逐漸浮出水面!!!現在的一鍵ROOT大師http://www.dashi.com/http://www.ngemob.com  使用過同一ip。

並且,國外的論壇上也經常出現一鍵ROOT大師和http://root.ngemob.com扯不清的關係

此外,我們還蒐集了一些佐證。

佐證一:好搜百科。

佐證二:某鎖屏APP,由深圳市新銀河技術有限公司開發。

畢竟沒有官網並沒有給出任何明線表示兩家公司的聯絡。我們也是推論猜測,沒有任何結論,請各位看官自行判斷。

最後,希望大家一起努力,相信獵豹,會給億萬使用者築起安全防護牆!!!

病毒的清除方法影片 :

<embed>

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章