Contributors : [OSG·辛] team :afox、AliceForever、KoU2N、物以類聚
一、從App中提取木馬并分析木馬
(1)iOS Application File
最近一款在VirusTotal的應用程序引起了我們的注意。

從文件名可以看出這是一款使用了Clutch的破解軟件。對ipa文件進行解壓(實際是zip文件)。

jailbreak這個庫看起來很可疑

nguyen tat hung 雖然是一個知名開發(fā)商,但不是MailTime Pro的開發(fā)商。
進一步,我們發(fā)現(xiàn)jailbreak動態(tài)注入到了二進制程序中。

大多數(shù)的庫,在導入表中包含了他們的安裝路徑和真實名稱

通過assert()宏,查看項目的關聯(lián)信息

(2)Inject Library
通過符號表,快速的找到知名SDK和CocoaPods。

一個越獄軟件包括如此多的廣告是不常見的,這里有剩余的類頭文件。
-[Config getConfig]方法從程序目錄加載wrap.json文件。

經(jīng)過幾次循環(huán)等待,注入的代碼會聯(lián)系一個不安全的遠程主機,部分的服務可以工作。
比如,coreapi服務似乎不能工作。
http://wrapper.laughworld.net/coreapi/active_device.php?pk=IPANAME&is_jb=1&udid=REDACTED&signature=MD5

http://wrapper.laughworld.net/coreapi/get_list_message.php?pk=IPANAME&is_jb=1&udid=REDACTED&libver=20160818&app_pk=IPANAME_AGAIN&app_ver=1.2.3&signature=MD5

當api服務啟動后
http://wrapper.laughworld.net/api/com.mailtime.MailTimePro_ads.json

最有趣的是update請求
-[API getUpdate:withSelector:]方法會請求http://wrapper.laughworld.net/api/com.mailtime.MailTimePro_update.json

script_zip,script_file和md5_script沒有被執(zhí)行,script_zip的URL指向一個加密的ZIP,并且md5_script是無效的(最后一個字節(jié)錯誤)。
linkfw指向一個有效的Zip,一旦下載并解壓, -[guiinject _loadPluginAtLocation:]將加載框架并發(fā)送一個run消息到principalClass。md5fw用于自我更新。
到目前為止,我們沒有看到任何廣告,他們可能隱藏在視圖中。
(3)Downloaded Framework

開發(fā)者的標識發(fā)生了改變。

框架的header中有開發(fā)者和組織。

這是有Xcode自動生成的,經(jīng)itviec工作網(wǎng)查詢, GTT Media 和 T&B 是外包公司。
一旦加載完成,框架通過lib服務請求托管在DailyUploads和FileFactory站點上的文件列表。
http://wrapper.laughworld.net/lib/DailyUploadDownloadModule.conf

http://wrapper.laughworld.net/lib/FileFactoryDownloadModule.conf

框架也會使用DynDNS定期檢查iOS設備的外部IP。
每當框架加載完畢或者IP變更,都會從DailyUploads和FileFactory下載一個隨機文件。
dailyuploads也指向其他iOS應用,這些應用都是被nguyen tat hung簽名并注入的(yara規(guī)則)。

(4)Abusing the Injected Adware Library
一個動態(tài)庫使用不安全的協(xié)議來連接遠程主機并執(zhí)行代碼。我們是否通過攔截和修改update的response,加載了自己的代碼?能否移植到別的APP中?
二、在TIM App中注入jailbreak廣告庫
(1)砸殼ipa

(2)拷貝com.tencent.tim-iOS7.0-(Clutch-2.0.4).ipa至電腦并解壓

(3)在TIM中注入jailbreak

(4)重新簽名并打包為ipa文件,安裝新程序至iOS
工具:iOS App Signner、codesign、AppResign、Cydia Impactor皆可以
(5)iOS配置局域網(wǎng)代理,并使用BurpSuite抓包,BurpSuite開啟修改Intercept Client Resquests功能
(6)撰寫新的動態(tài)鏈接庫(文件見附件)用于劫持流程
壓縮并計算md5。

三? 、使用BurpSuite中間人劫持木馬,成功任意代碼執(zhí)行
(7)啟動本地httpd,并將DailyUploadDownloadLib.framework.zip放置在根目錄

(8)啟動App,使用burp修改以下請求回包

修改返回的response數(shù)據(jù)包

修改linkfw和md5fw的值

(9)彈出alert
結果會彈出我們寫在DailyUploadDownloadLib中的彈框。

四、相關工具
下載?