你覺得服務器關了這事就結束了? - XcodeGhost截胡攻擊和服務端的復現,以及UnityGhost預警

蒸米 · 2015/09/22 3:01php

做者:沒羽,蒸米,阿刻,迅迪 @ 阿里移動安全html

0x00 序


截胡,麻將術語,指的是某一位玩家打出一張牌後,此時若是多人要胡這張牌,那麼按照逆時針順序只有最近的人算胡,其餘的不能算胡。現也引伸意爲斷別人財路,在別人快成功的時候搶走了別人的勝利果實。git

雖然XcodeGhost做者的服務器關閉了,可是受感染的app的行爲還在,這些app依然孜孜不倦的向服務器(好比init.icloud-analysis.com,init.icloud-diagnostics.com等)發送着請求。這時候黑客只要使用DNS劫持或者污染技術,聲稱本身的服務器就是」init.icloud-analysis.com」,就能夠成功的控制這些受感染的app。具體能幹什麼能,請看咱們的詳細分析。github

另外,有證據代表unity 4.6.4 – unity 5.1.1的開發工具也受到了污染,而且行爲與XcodeGhost一致,更恐怖的是,還有證據證實XcodeGhost做者依然逍遙法外,具體內容請查看第三節。算法

PS:雖然涅槃團隊已經發出過攻擊的demo了2,但不少細節並無公佈。因此咱們打算在這篇文章中給出更加詳細的分析過程供你們參考。安全

0x01通訊協議分析


在受感染的客戶端App代碼中,有個Response方法用於接收和處理遠程服務器指令。服務器

enter image description here

Response方法中根據服務器下發的不一樣數據,解析成不一樣的命令執行,根據咱們分析,此樣本大體支持4種遠程命令,分別是:設置sleep時長、窗口消息、url scheme、appStore窗口。app

經過4種遠程命令的單獨或組合使用能夠產生多種攻擊方式:好比下載安裝企業證書的App;彈AppStore的應用進行應用推廣;彈釣魚頁面進一步竊取用戶信息;若是用戶手機中存在某url scheme漏洞,還能夠進行url scheme攻擊等。函數

enter image description here

其通訊協議是基於http協議的,在傳輸前用DES算法加密http body。Response方法拿到服務器下發送的數據後,調用Decrypt方法進行解密:工具

enter image description here

若是解密成功,將解密後的數據轉換成JSON格式數據:

enter image description here

而後判斷服務器端下發的數據,執行不一樣的操做。以下面截圖是設置客戶端請求服務端器sleep時長的操做:

enter image description here

0x2惡意行爲分析及還原


在逆向了該樣本的遠程控制代碼後,咱們還原了其服務端代碼,進一步分析其潛在的危害。

首先咱們在服務端能夠打印出Request的數據,以下圖:

enter image description here

紅色框標記的協議的頭部部分,前4字節爲報文長度,第二個2字節爲命令長度,最後一個2字節爲版本信息,緊跟着頭部的爲DES的加密數據。咱們在服務端將數據解密後顯示爲:

enter image description here

這裏有收集客戶端信息上傳到控制服務器。

一樣咱們返回加密數據給客戶端:

enter image description here

明文信息爲:

enter image description here

客戶端根據App的運行狀態向服務端提供用戶信息,而後控制服務器根據不一樣的狀態返回控制數據:

enter image description here

惡意行爲一 定向在客戶端彈(詐騙)消息

該樣本先判斷服務端下發的數據,若是同時在在「alertHeader」、「alertBody」、「appID」、「cancelTitle」、「confirmTitle」、「scheme」字段,則調用UIAlertView在客戶端彈框顯示消息窗口:

enter image description here

消息的標題、內容由服務端控制

enter image description here

客戶端啓動受感染的App後,彈出以下頁面:

惡意行爲二 下載企業證書籤名的App

當服務端下發的數據同時包含「configUrl」、「scheme」字段時,客戶端調用Show()方法,Show()方法中調用UIApplication.openURL()方法訪問configUrl:

enter image description here

經過在服務端配置configUrl,達到下載安裝企業證書App的目的:

enter image description here

客戶端啓動受感染的App後,目標App將被安裝(注意:演示應用爲測試應用,不表明惡意軟件推廣該應用):

demo地址:http://v.youku.com/v_show/id_XMTM0Mjg0MDc4OA==.html

惡意行爲三 推送釣魚頁面

經過在服務端配置configUrl,達到推送釣魚頁面的目的:

enter image description here

客戶端啓動受感染的App後,釣魚頁面被顯示:

demo地址:http://v.youku.com/v_show/id_XMTM0Mjg0NTM2NA==.html

惡意行爲四 推廣AppStore中的應用

經過在服務端配置configUrl,達到推廣AppStore中的某些應用的目的:

enter image description here

phishing1.html頁面內容:

enter image description here

客戶端啓動受感染的App後,自動啓動AppStore,並顯示目標App的下載頁面:

demo地址:http://v.youku.com/v_show/id_XMTM0Mjg0NDA4MA==.html

0x03 UnityGhost?


在你們覺得一切都完結的時候,百度安全實驗室稱已經確認」Unity-4.X的感染樣本」。而且邏輯行爲和XcodeGhost一致,只是上線域名變成了init.icloud-diagnostics.com。這意味,凡是用過被感染的Unity的app都有竊取隱私和推送廣告等惡意行爲。

enter image description here

Unity是由Unity Technologies開發的一個讓玩家建立諸如三維視頻遊戲、實時三維動畫等類型互動內容的多平臺的綜合型遊戲開發工具,是一個全面整合的專業遊戲引擎。不少有名的手機遊戲好比神廟逃亡,記念碑谷,爐石傳說都是用unity進行開發的。

更使人恐怖的是,在百度安全實驗室確認後沒多久,你們就開始在網上尋找被感染的Unity工具,結果在我搜到一個Unity3D下載帖子的時候發現」codeFun與2015-09-22 01:18編輯了帖子」!?要知道codeFun就是那個自稱XcodeGhost做者的人啊。他居然也一直沒睡,大半夜裏一直在看你們發微博觀察動靜?隨後發現你們知道了Unity也中毒的事情,趕忙去把本身曾經投毒的帖子刪了?

enter image description here

如今再去看那個帖子已經被做者刪的沒有任何內容了。。。 http://game.ceeger.com/forum/read.php?tid=21630&fid=8

enter image description here

但根據XcodeGhost做者沒刪以前的截圖代表,從unity 4.6.4 – unity 5.1.1的開發工具都有可能被投毒了!

0x04 總結


雖然病毒做者聲稱並無進行任何廣告或者欺詐行爲,但不表明別人不會代替病毒做者進行這些惡意行爲。而且做者依然還在逍遙法外!因此馬上!立刻!刪掉那些中毒的app吧!

0x05 參考資料


  1. 涅槃團隊:Xcode幽靈病毒存在惡意下發木馬行爲 http://drops.wooyun.org/papers/8973
  2. XcodeGhost 源碼 https://github.com/XcodeGhostSource/XcodeGhost

0x06 更新


1 在百度安全實驗室的幫助下,咱們已經拿到了UnityGhost的樣本。基本信息以下:

$shasum libiPhone-lib-il2cpp.a-armv7-master.o
625ad3824ea59db2f3a8cd124fb671e47740d3bd  libiPhone-lib-il2cpp.a-armv7-master.o

$ file libiPhone-lib-il2cpp.a-armv7-master.o
libiPhone-lib-il2cpp.a-armv7-master.o: Mach-O object arm
複製代碼

UnityGhost樣本的行爲和XcodeGhost很是類似,基本函數以下:

enter image description here

UnityGhost在啓動時會檢測是不是在虛擬機和調試器中運行,若是是則不產生惡意行爲:

enter image description here

UnityGhost一樣也會收集用戶手機的各類信息(時間,bundle id(包名),應用名稱,系統版本,語言,國家等)並上傳到一個新的服務器」http://init.icloud-diagnostics.com」:

enter image description here

在接收到服務器返回的指令後,UnityGhost一樣也能夠進行多種惡意行爲:下載安裝企業證書的App;彈AppStore的應用進行應用推廣;彈釣魚頁面進一步竊取用戶信息;若是用戶手機中存在某url scheme漏洞,還能夠進行url scheme攻擊等。 彈出詐騙對話框用到的函數:

enter image description here

彈出網頁或者推廣應用用到的函數:

enter image description here

相關文章
相關標籤/搜索