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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

游戏数据分析的艺术

游戏数据分析的艺术

于洋、余敏雄、吴娜、师胜柱 / 机械工业出版社 / 2015-7 / 79.00

《游戏数据分析的艺术》是中国游戏产业的开创性著作,具有里程碑意义,它首次系统讲解了如何对游戏行业的数据进行分析,在行业里竖起了一根标杆。作者是来自TalkingData等国内顶尖的数据分析机构和西山居这样的知名游戏公司的资深数据分析专家, 对游戏数据从不同的业务角度进行了诠释。本书详细剖析了游戏数据分析相关的指标、方法论、内容挖掘、数据挖掘、软件使用、游戏设计、运营策划、渠道推广、收入解读、用户分......一起来看看 《游戏数据分析的艺术》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具