iOS 設(shè)備的安全一直為業(yè)界所重視,日前企業(yè)安全領(lǐng)域領(lǐng)導(dǎo)者Palo Alto Networks 撰文分析了最近幾個(gè)月所發(fā)現(xiàn)的新木馬“TinyV”。在今年的10 月份,Palo Alto 發(fā)現(xiàn)了一個(gè)惡意的負(fù)載文件瞄準(zhǔn)了iOS 的越獄設(shè)備,經(jīng)過(guò)調(diào)查后發(fā)現(xiàn),Palo Alto 認(rèn)為該文件屬于一個(gè)名為“TinyV”的新型iOS 木馬家族。在12 月,有中國(guó)用戶指出他們的設(shè)備受到了這個(gè)惡意軟件的影響?! ?/p>
經(jīng)過(guò)進(jìn)一步的深入研究后,Palo Alto 發(fā)現(xiàn)該惡意文件已經(jīng)被重新打包并植入到一些iOS 應(yīng)用中,而這些iOS 應(yīng)用往往可以通過(guò)多個(gè)渠道進(jìn)行下載(非App Store 渠道)。在接下來(lái)的篇幅里,我們將會(huì)討論“TinyV”是如何工作以及如何傳播的。
重新打包和傳播
“TinyV”被重新打包進(jìn)一些為越獄設(shè)備而“準(zhǔn)備”的應(yīng)用中,受影響的iOS 應(yīng)用不少。經(jīng)過(guò)重新打包后,這些應(yīng)用被上傳到網(wǎng)絡(luò)并提供用戶下載。
用戶有可能通過(guò)xx 助手下載到這些受感染的應(yīng)用,在一些應(yīng)用的官網(wǎng)上供下載的應(yīng)用,也不見(jiàn)得是十分安全。我們往往在iOS 設(shè)備上訪問(wèn)這些網(wǎng)站的下載鏈接的時(shí)候會(huì)被跳轉(zhuǎn)到描述文件頁(yè)面并讓用戶安裝,這些被標(biāo)榜為企業(yè)級(jí)應(yīng)用的應(yīng)用往往需要用戶手動(dòng)開(kāi)啟驗(yàn)證,才可以在設(shè)備上使用該應(yīng)用。
用戶有可能通過(guò)xx 助手下載受感染的應(yīng)用
需要指出的是,“TinyV”重新打包的方式和之前的iOS 或者OSX 惡意應(yīng)用不太一樣(和之前著名的WireLurker 也不一樣)。例如在某個(gè)受感染的播放器應(yīng)用的iOS 安裝文件“com.某某.ipa”中,往往存在著兩個(gè)執(zhí)行文件。一個(gè)是主要的執(zhí)行文件Mach-O ,而另一個(gè)則是名為“xg.png”的Mach-O 動(dòng)態(tài)庫(kù)文件。在主要執(zhí)行文件的導(dǎo)入表中,最后的導(dǎo)入入口是“@executable_path/xg.png”。這意味著在應(yīng)用被執(zhí)行后,“xg.png”的文件將會(huì)被加載。
而在其它受感染的應(yīng)用中,除了主要的Mach-O 執(zhí)行文件外,也會(huì)出現(xiàn)一些額外的Mach-O 動(dòng)態(tài)庫(kù)文件:“dj.png”, “macro_off@2x.png和zippo_on@2x.png” 。“TinyV”的作者修改了原來(lái)的應(yīng)用文件,并增加這些動(dòng)態(tài)庫(kù)文件到導(dǎo)入表中。
被加載的“xg.png”文件將會(huì)通過(guò)調(diào)用方法來(lái)連接到C2 服務(wù)器并取得配置信息。被C2 提供的配置將會(huì)指向一個(gè)ZIP 文件的URL,并被指定為一個(gè)帶有“zipinstall”值的“shName”。
指向一個(gè)ZIP 文件的URL
在這個(gè)被感染的應(yīng)用中, “macro_off@2x.png” 將會(huì)訪問(wèn)同一個(gè)C2 服務(wù)器的另一個(gè)頁(yè)面來(lái)獲取其配置。這次“debUrl”值使用XOR 算法加密。盡管代碼混淆,但使用關(guān)鍵的“0xaf”加密,卻依然可以顯示相同的URL。
惡意行為
從C2 服務(wù)器獲得配置后,“TinyV”將會(huì)從授予的“debUrl” 值中下載ZIP 文件。這里調(diào)查的ZI P文件被托管在另一個(gè)C2 服務(wù)器apt[.]appstt.com 上,目前該URL 地址出現(xiàn)404 錯(cuò)誤。不過(guò)據(jù)說(shuō)在10 月底開(kāi)始調(diào)查的時(shí)候,這個(gè)URL 是可以訪問(wèn)的,并且“deb.zip”文件也可以下載。
在這個(gè)“deb.zip”文件中,包含了4 個(gè)文件
safemode.deb(saurik 官方提供的MobileSafety 插件)
freeDeamo/usr/bin/locka(實(shí)施惡意行為的Mach-O 執(zhí)行文件)
freeDeamo/Library/LaunchDaemons/com.locka.plist(一個(gè)PLIST 文件,用于在iOS 作為一個(gè)守護(hù)進(jìn)程配置“locka”)
freeDeamo/zipinstall(命令進(jìn)程文件)
下載和解壓這個(gè)ZIP文件后,xg.png 將會(huì)執(zhí)行zipinstall 腳本來(lái)安裝locka 和com.locka.plist。
locka 文件主要執(zhí)行的“TinyV”惡意行為包括:
連接C2 服務(wù)器來(lái)獲得遠(yuǎn)程指令
在后臺(tái)安裝指定的IPA 文件或DEB 文件
在后臺(tái)卸載指定的IPA 應(yīng)用或DEB 包
改變/etc/hosts 文件
值得一提的是,研究人員還發(fā)現(xiàn)了一個(gè)名為“ClassStaticFunctionHook”的函數(shù),目前該函數(shù)只被用于鉤住廣告的SDK 代碼。然而它有可能在被感染的應(yīng)用中產(chǎn)生更危險(xiǎn)的后果。
影響
在12 月12 日,“TinyV”開(kāi)始通過(guò)一個(gè)名為“XZ Helper”的插件來(lái)進(jìn)行傳播,許多用戶都發(fā)現(xiàn)了XY Helper 插件出現(xiàn)在他們的iOS 設(shè)備中。由于“TinyV”的代碼執(zhí)行和大量的C2 服務(wù)器指令,即使刪除了該插件還是會(huì)被重新安裝。不少用戶在威鋒論壇里指出了這個(gè)問(wèn)題,目前受該惡意程序影響的設(shè)備似乎只出現(xiàn)在中國(guó)。
最后,Palo Alto 建議用戶如果沒(méi)有必要的話切勿輕易越獄,又或者是不要安裝任何來(lái)自未知來(lái)源的企業(yè)級(jí)應(yīng)用。