服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

xdld 9年前發布 | 19K 次閱讀 UnityGhost

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

烏云微博

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

PanguTeam 微博

9 月 22 日,蘋果開發工具“染毒”事件尚未完全平息,盤古團隊 22 日凌晨爆料稱,目前已經有證據證明一些游戲引擎的下載地址也被感染病毒,例如 Unity 和 Cocos2d-x,并且這些引擎的安卓版也被感染病毒。

盤古團隊表示,此次游戲引擎感染與蘋果后門漏洞原理相同,后經證實是同一個人制造并傳播。

烏云知識庫平臺也于凌晨發布報告稱,百度安全實驗室稱已經確認“Unity-4.X 的感染樣本”。并且邏輯行為和 XcodeGhost 一致,只是上線域名變更。“這意味,凡是用過被感染的 Unity 的 App 都有竊取隱私和推送廣告等惡意行為”。

烏云聯合創始人、安全專家孟卓告訴騰訊科技,感染的根本原因還是開發者沒有從官方地址下載開發工具。

截至發稿時,觸控科技回應稱,其已內部排查確認官網下載安裝包沒有被植入惡意代碼。目前正在排查 Cocos Store,稍晚會得出結論。

Unity 方面表示,需要技術部門確認。

資料顯示,Unity 是由 Unity Technologies 開發的一個可創建三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容游戲開發工具。其編輯器運行在 Windows 和 Mac OS X 下,可發布游戲至 Windows、Mac、Wii、iPhone、Windows Phone 8 和 Android 等平臺。以 Unity 為引擎開發的游戲包括《紀念碑谷》、《爐石傳說》、《神廟逃亡2》等。

Cocos 是由觸控科技推出的游戲開發一站式解決方案,其中 Cocos2d-x 是一個開源的移動 2D 游戲框架,其開發的項目可以很容易地建立和運行在 iOS,Android,黑莓 Blackberry 等操作系統中,還支持 Windows、Mac 和 Linux 等桌面操作系統。

值得注意的是,烏云報告顯示,雖然 XcodeGhost 作者的服務器關閉了,但是受感染的 App 的行為還在,這些 App 依然孜孜不倦的向服務器發送著請求。這時候黑客只要使用 DNS 劫持或者污染技術,聲稱自己的服務器就是相關服務器,就可以成功的控制這些受感染的 App。

此前,曝出 XcodeGhost 事件讓蘋果的安全性受到了很大挑戰。一些開發者從第三方網站下載的開發工具 Xcode 被植入惡意代碼,導致應用具有上傳用戶的信息潛在威脅。部分應用開發者已提供新的安裝包,而蘋果也在 App Store 下架受此感染的應用。

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

相關文章

你以為服務器關了這事就結束了?

——XcodeGhost 截胡攻擊和服務端的復現,以及 UnityGhost 預警

文/作者:沒羽,蒸米,阿刻,迅迪 @ 阿里移動安全

地址:http://drops.wooyun.org/papers/9024

0x00 序


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

雖然 XcodeGhost 作者的服務器關閉了,但是受感染的 app 的行為還在,這些 app 依然孜孜不倦的向服務器(比如 init.icloud-analysis.com,init.icloud-diagnostics.com 等)發送著請求。這時候黑客只要使用 DNS 劫持或者污染技術,聲稱自己的服務器就是”init.icloud-analysis.com”,就可以成功的控制這些受感染的 app。具體能干什么能,請看我們的詳細分析。

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

PS:雖然涅槃團隊已經發出過攻擊的 demo 了2,但很多細節并沒有公布。所以我們打算在這篇文章中給出更加詳細的分析過程供大家參考。

0x01 通信協議分析


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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

如果解密成功,將解密后的數據轉換成 JSON 格式數據:

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

然后判斷服務器端下發的數據,執行不同的操作。如下面截圖是設置客戶端請求服務端器 sleep 時長的操作:

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

0x2 惡意行為分析及還原


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

首先我們在服務端可以打印出 Request 的數據,如下圖:

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

同樣我們返回加密數據給客戶端:

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

明文信息為:

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

客戶端啟動受感染的 App 后,彈出如下頁面:

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

惡意行為二下載企業證書簽名的 App

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

惡意行為三推送釣魚頁面

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

 

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

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

phishing1.html 頁面內容:

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

客戶端啟動受感染的 App 后,自動啟動 AppStore,并顯示目標 App 的下載頁面:

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

0x03 UnityGhost?


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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

但根據 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 非常相似,基本函數如下:

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

UnityGhost 在啟動時會檢測是否是在虛擬機和調試器中運行,如果是則不產生惡意行為:

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

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

服務器關了就結束了?UnityGhost被曝染毒 與XcodeGhost類似

 本文由用戶 xdld 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!