iOS渗透测试工具,第1篇:bfinject与class-dump

栏目: 编程工具 · 发布时间: 5年前

内容简介:本文是介绍如何设置和使用某些最重要的IOS应用渗透测试工具的系列课程中的第一篇。对于这个系列文章来说,我们会假设用户使用Electra进行越狱。我具体使用的是iOS11.1.2,但是本系列中的大多数工具都可以在任何版本的iOS11上使用。虽然我们可以在非越狱设备上进行某些渗透测试,不过,只有越狱之后,才能使用所有可用的工具实现全方位的测试。其实,越狱过程非常简单——您可以从这里下载11.0-11.1.2版本的Electra,或者这里下载11.2-11.3.1版本的Electra。

本文是介绍如何设置和使用某些最重要的IOS应用渗透测试 工具 的系列课程中的第一篇。

对于这个系列文章来说,我们会假设用户使用Electra进行越狱。我具体使用的是iOS11.1.2,但是本系列中的大多数工具都可以在任何版本的iOS11上使用。

实现手机越狱

虽然我们可以在非越狱设备上进行某些渗透测试,不过,只有越狱之后,才能使用所有可用的工具实现全方位的测试。其实,越狱过程非常简单——您可以从这里下载11.0-11.1.2版本的Electra,或者这里下载11.2-11.3.1版本的Electra。

该软件的安装说明可参阅这里。

使用SSH连接设备

在安装Electra时,会顺便安装OpenSSH,这意味着我们可以通过ssh连接至设备。实际上,在进行渗透测试的过程中,几乎到处都要用到这个功能。

确定我们的iPhone手机的IP地址——为此,请打开Settings -> Wi-Fi选项。然后,单击所连接的WiFi旁边的“i”图标,并记下这个IP地址。

打开一个新的终端窗口,然后键入下列命令:

ssh <a href="/cdn-cgi/l/email-protection" data-cfemail="d1a3bebea5918989ff89ff89ff898989">[email protected]</a>

(其中X是我们找到的IP地址)

当提示输入密码时,键入“alpine”——这是默认密码,为了安全起见,最好立即修改该密码(更多详情,请参考这里)。

完成上述操作后,会看到如下内容:

My-iPhone:~ root#

大功告成了!

破解应用程序

一旦你越狱成功了,我们就可以进行渗透测试了。通常情况下,第一件事情就是破解目标应用程序,并考察其文件和二进制代码。在iOS11上,我们可以使用一个名为“bfinject”的工具来完成该任务。

Bfinject是一款.dylib注入工具,适用于11.0-11.1.2版本的iOS系统。实际上,该工具不仅提供了破解功能,同时,它还提供了cycript(将在稍后讨论)。

安装bfinject时,可以从此处下载相应的tarball安装包。然后,需要将其复制到我们的设备:

在手机的终端中(即通过ssh连接手机后),使用下列命令来创建一个文件夹:

$ mkdir bfinject

然后,将这个tarball传输到手机中的bfinject文件夹中。实际上,为了达到这个目的,可用的方法有很多——例如,可以使用scp,不过对我来说,更喜欢使用Cyberduck,该工具可以从这里下载。在使用Cyberduck软件时,请转到左上角的“Open Connection”,选择SSH协议,并使用与前面相同的IP/密码进行登录(您可以将端口保留为22)。

现在,在Cyberduck或终端中,切换到设备的bfinject文件夹,并从Mac为其上传tarball安装包。对于使用Cyberduck的读者来说,先单击“Action”按钮,然后单击“Upload”按钮即可。

最后,执行下列命令:

$ tar xvf bfinject.tar

在运行bfinject之前,我们需要从Cydia下载“Core Utilities”。为此,请打开Cydia,并搜索该软件。选择该软件后,转到“Modify”,然后选择“Install”即可。

现在,我们已经为破解应用程序做好了准备。至于选择哪个软件吗?大家可以根据自己的喜好,从应用程序商店下载即可。下载相应的软件之后,请打开该应用程序,并使其位于手机的前台,同时,还要确保手机已经与计算机相连。在root终端中,导航至bfinject文件夹,并运行下列命令:

$ bash bfinject -P <AppName> -L decrypt

这时候,将在终端中看类似下面这样的内容:

iOS渗透测试工具,第1篇:bfinject与class-dump

几秒钟后,会在手机上收到破解完成的消息。当该软件询问是否想要使用netcat时,请选择“No”。现在,要获取破解之后的.ipa文件,需要在手机上找到该应用程序的目录。在Cyberduck或终端中,该目录位于/private/var/mobile/Containers/Data/Application。

顺便说一句,在手机中上,要想进入var目录,需要从root目录下面运行“cd ..”命令,因为我们使用ssh连接手机后,首先会进入root目录。

在Application目录中,可以看到许多具有随机名称的文件夹。其中每个文件夹都对应于该设备上的一个应用。为了帮助快速找到与目标应用程序相对应的目录,可以通过Cyberduck的“Modified”按钮对其进行排序,而最近安装的应用程序应该排在最前面。之后,请切换至目标应用程序对应目录下的Documents目录,这样就可以找到decrypted-app.ipa文件了。然后,在Cyberuck中选择“Action”->“Download as”选项,从而完成下载。之后,可以对这个文件进行重命名,具体名称您随意,不过,一定要把扩展名改为“.zip”,而不是原来的“.ipa”,这样,我们就可以轻松查看其内容了。

这样,就破解并下载好了我们的第一个应用程序!

class-dump

接下来要使用的class-dump软件,也是一个非常有价值的工具:它不仅可以转储应用程序类的运行时头文件,还能帮助我们理解应用程序的结构,选择我们想要的目标位置。

为了在Mac上安装该软件,请打开一个新终端,并运行下列命令:

$ brew install class-dump

然后,我们需要找到应用程序的可执行文件:对复制到计算机上的.ipa/.zip进行解压后,就能在得到的件夹中找到该文件,具体路径为 /Payload/AppName.app/AppName。

这时,我们可以运行下列命令:

./class-dump <AppName>.app/AppName > Dumped

如果出现错误消息,可以尝试安装与class-dump具有类似功能的其他软件,如这款软件,或这款软件。由于版本的原因,仍然可能会出错,这时请尝试将<AppName>.app/AppName改为 <AppName> 或 <AppName.app>。

现在,使用文本编辑器打开“Dumped”文件,这样就能找到该应用程序的所有运行时头文件了。

iOS渗透测试工具,第1篇:bfinject与class-dump

我通常从搜索单词“password”、“authentication”、“user”或“credentials”开始,来寻找让人感兴趣的类、方法或属性。

好了,本系列的第一篇文章就到此结束了!在第2篇文章中,我们将为读者介绍如何安装、探索和篡改cycript。在第3篇文章中,我们将介绍FRIDA/Objection工具的用法;在第4篇文章中,我们将介绍如何使用Hopper和lldb工具来调试二进制代码。


以上所述就是小编给大家介绍的《iOS渗透测试工具,第1篇:bfinject与class-dump》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入浅出HTML5编程

深入浅出HTML5编程

弗里曼 (Eric Friiman)、罗布森 (Elisabdth Robson) / 东南大学出版社 / 2012-4 / 98.00元

《深入浅出HTML5编程(影印版)(英文)》就是你的特快车票,它可以带你学习如何使用今天的标准同时也会是明日的最佳实践来搭建Web应用。同时,你会了解HTML5的新API的基本知识,甚至你还会弄明白这些API是如何与你的网页进行交互,JaVaScript如何为它们提供动力,以及你如何使用它们来搭建能够打动你的老板并且吸引你的朋友的Web应用。一起来看看 《深入浅出HTML5编程》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码