Contributors : [OSG·辛] team :afox、AliceForever、KoU2N、物以類聚
一、從App中提取木馬并分析木馬
(1)iOS Application File
最近一款在VirusTotal的應用程序引起了我們的注意。
從文件名可以看出這是一款使用了Clutch的破解軟件。對ipa文件進行解壓(實際是zip文件)。
jailbreak這個庫看起來很可疑
nguyen tat hung 雖然是一個知名開發商,但不是MailTime Pro的開發商。
進一步,我們發現jailbreak動態注入到了二進制程序中。
大多數的庫,在導入表中包含了他們的安裝路徑和真實名稱
通過assert()宏,查看項目的關聯信息
(2)Inject Library
通過符號表,快速的找到知名SDK和CocoaPods。
一個越獄軟件包括如此多的廣告是不常見的,這里有剩余的類頭文件。
-[Config getConfig]方法從程序目錄加載wrap.json文件。
經過幾次循環等待,注入的代碼會聯系一個不安全的遠程主機,部分的服務可以工作。
比如,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沒有被執行,script_zip的URL指向一個加密的ZIP,并且md5_script是無效的(最后一個字節錯誤)。
linkfw指向一個有效的Zip,一旦下載并解壓, -[guiinject _loadPluginAtLocation:]將加載框架并發送一個run消息到principalClass。md5fw用于自我更新。
到目前為止,我們沒有看到任何廣告,他們可能隱藏在視圖中。
(3)Downloaded Framework
開發者的標識發生了改變。
框架的header中有開發者和組織。
這是有Xcode自動生成的,經itviec工作網查詢, 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規則)。
(4)Abusing the Injected Adware Library
一個動態庫使用不安全的協議來連接遠程主機并執行代碼。我們是否通過攔截和修改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配置局域網代理,并使用BurpSuite抓包,BurpSuite開啟修改Intercept Client Resquests功能
(6)撰寫新的動態鏈接庫(文件見附件)用于劫持流程
壓縮并計算md5。
三? 、使用BurpSuite中間人劫持木馬,成功任意代碼執行
(7)啟動本地httpd,并將DailyUploadDownloadLib.framework.zip放置在根目錄
(8)啟動App,使用burp修改以下請求回包
修改返回的response數據包
修改linkfw和md5fw的值
(9)彈出alert
結果會彈出我們寫在DailyUploadDownloadLib中的彈框。
四、相關工具
下載?