如何使用Theos对iOS应用程序进行注入 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

如何使用Theos对iOS应用程序进行注入

gejigeji 资讯 2020-01-06 10:38:00
1057749
收藏

导语:如何使用Theos对iOS应用程序进行注入

Theos 是一个越狱开发工具包,今天我就讲讲如何使用Theos对iOS应用程序进行注入。

方法1——Theos

使用Theos进行调整,为了获得所有必要的信息,我搭配使用了其他工具,有:

1.Frida:一款基于python +java的hook框架,可运行在androidioslinuxwinosx等各平台,主要使用动态二进制插桩技术。

2. Passionfruit:一个iOS应用程序黑盒审计工具,该工具由frida.re和vuejs共同驱动。

3.class-dump-swift :class-dump是进行iOS逆向开发常用的一款工具,其主要作用是导出App的头文件内容。根据这些头文件可以大致分析出APP的结构和内容。

4. Theos:Theos是iOS越狱插件开发的集成环境,它可以创建工程,调用XCode的命令行工具编译、ldid签名打包,并提供上传手机、安装等一系列操作,安装成功后可以Cydia的已安装插件中看到。

安装条件

出于这个目的,我使用的是运行在iOS 12.4.3上的越狱版iPhone 6,越狱版使用的是带有mobilesubstrate软件包的Checkra1n。我的测试主机是macOS,根据操作系统的不同,你可能需要更改指令以匹配Windows或Linux。

安装Brew

通过运行该命令,我在macOS安装上安装了Homebrew。Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装XCode

Xcode是从Mac应用程序商店安装的,安装XCode后,在终端运行以下命令行工具:

xcode-select --install

安装Theos

要安装theos,你可以点此教程。总之,就是用以下命令将安装Theos:

brew install ldid xz 
echo "export THEOS=~/theos" >> ~/.profile 
echo "source ~/.profile" >> ~/.zshrc 
source ~/.zshrc git clone --recursive https://github.com/theos/theos.git $THEOS 
curl -LO https://github.com/theos/sdks/archive/master.zip 
TMP=$(mktemp -d) 
unzip master.zip -d $TMP 
mv $TMP/sdks-master/*.sdk $THEOS/sdks 
rm -r master.zip $TMP

安装Frida(macOS)

安装Frida需要在主机上安装pip,安装pip后,运行以下命令安装必需的工具:

pip install frida-tools

安装Frida(iPhone)

请按照下列步骤操作:

1. 在Cydia中,转到“源”>“编辑”>“添加”;

2. 添加源链接

3. 刷新源代码后,转到“搜索”,然后搜索Frida;

4. 安装Frida 12.8.1。

完成这些设置后,Frida将被安装在设备上。

安装Passionfruit

要安装Passionfruit,第一步是安装节点。使用命令brew install node安装节点。安装节点后,可以用npm install -g passionfriut来安装Passionfruit,然后可以与Passionfruit一起运行。

安装二进制文件

为此,我假设测试人员用的是ipa,不过FreeIPA在实现上存在信息泄露漏洞,攻击者利用此漏洞可获取敏感信息。

安装AppSync(iPhone)

请按照下列步骤操作:

1. 在Cydia中,转到“源”>“编辑”>“添加”;

2. 添加源链接

3. 刷新源链接后,转到“搜索”,然后寻找AppSync Unified;

4. 安装AppSync Unified 70.0。

安装ideviceinstaller

ideviceinstaller提供了安装,卸载,通过UDID定位等基础功能,基本上可以满足我们的自动化安装需要。

要安装ideviceinstaller,请运行以下命令:

brew install libimobiledevice brew install ideviceinstaller

ideviceinstaller

有了Karen(AppSync Unified)提供的App Signing绕过功能,现在可以安装未签名的二进制文件。该应用可以通过以下方式安装:

ideviceinstaller -i

命令执行完成后,DVIA应用程序就被安装在iPhone上了。

挂钩DVIA应用程序

挂钩应用程序可提供有关该应用程序的信息,在本文的示例中,我使用的是Passionfruit。首先,我使用USB将iPhone连接到主机。然后,在终端中,我运行Passionfruit,并进入http://localhost:31337进行浏览,如下所示:

7.png

单击设备菜单下的iPhone,我们可以看到设备上安装的所有应用程序:

8.png

点击DVIA-v2应用程序,我可以看到这些应用程序的详细信息:

9.png

需要注意的重要信息是标识符:com.highaltitudehacks.DVIAswiftv2,接下来,可以在“类”选项卡中看到。在“类”选项卡的第2页上,可以看到:

 

现在,在确定了类之后,我需要查看可用的函数。单击DVIA_v2.HomeViewController,我可以看到可用的类:

11.png

此时,要挂接的函数是viewDidLoad。

编写Theos代码

现在开始运行以下代码行编写代码:

$THEOS/bin/nic.pl

在此代码段内,唯一重要的是选择选项10-iphone / tweak,其他信息可以根据你的个人喜好进行修改。

现在,使用tweak目录,将Tweak.x文件重命名为Tweak.xm。你可以创建以下一些文件:

1. Makefile:Makefile定义了调整的构建方式;

2. control:定义有关调整的信息;

3. < Tweakname > .plist:这定义了将向其中注入调整的应用程序;

4. Tweak.xm:定义调整的代码。

有一些需要改变的地方,在Makefike中,我添加了一行:

THEOS_DEVICE_IP = x.x.x.x

在文件顶部,将行

{ Filter = { Bundles = ( "com.highaltitudehacks.DVIAswiftv2" ); }; }

这告诉我们目标应用程序是DVIAswiftv2,它是我们从上面的Passionfruit获得的。Tweak.xm文件内容更改为以下内容:

%hook classname

-(void)viewDidLoad{
    %orig;
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Injection Test"
    message:@"A simple injection test on the application"
    delegate:nil
    cancelButtonTitle:@"Done"
    otherButtonTitles:nil];
    [alert show];
}

%end

%ctor{
	%init(classname = objc_getClass("DVIA_v2.HomeViewController"));
}

重要的是,类名是在文件底部的%ctor代码块中定义的。

安装调整

使用makefile中定义的Theos 设备IP时,安装调整就像运行命令一样简单:

make package install

它将提示你输入root密码, root用户的默认密码是alpine。

总结

安装了tweak并运行DVIA v2应用程序后,我们将在tweak.xm文件中看到被定义过的警报:

17.jpeg

方法2——使用Supercharge程序

Supercharge程序的目标是提供与Theos相同的功能,同时被安装在iOS设备上。然而,在应用程序中,在编写目标脚本代码时似乎存在一些漏洞。修复漏洞后,将对其进行更新。

本文翻译自:https://arjunbrar.com/post/ios-application-injection如若转载,请注明原文地址:
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2024 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务