每个应用程序都有自己的一组代码,其中包含有相关功能的许多信息等等。如果我们能够提取我们将要攻击的应用程序的所有可能信息,那当然更好了。
今天我们来学习如何提取iOS应用程序的类信息。
苹果已经对其安全性进行了一些修改,现在应用程序商店的APP都是被加密,首先需要解密来提取类信息。
首先我们看一看未加密APP中类的信息。
class-dump已安装APP的类
1) find /-type d -iname “Dam*.app”
2)如果应用程序是使用IPA文件安装的,那么他的保存目录将是Applications/
我正在使用命令行搜索Damm Vulnerable iOS应用程序,该应用程序是由Prateek Gianchandani开发的。
我们在/Applications/DamVulnerableIOSApp.app中找到应用程序
现在进入这个文件夹[DamVulnerableIOSApp],可以看到看到绿色文件,该文件是该应用程序的可执行文件。所以我们需要使用这个文件进行class-dump。
现在来对该程序class-dump
class-dump-z DamVulnerableIOSApp.app/DamVulnerableIOSApp
我们可以看有大量的信息被导出,我们将其导入到一个文档中进行分析会更好。为此,我们可以使用sftp。
使用SFTP登录设备:sftp root@192.168.0.3 并输入root用户密码。
使用 sftp /Applications/Appdirectory.app/Appname> outputfilename进行导出
如果你正在使用mac或Windows,文件将被保存在您的用户配置文件主文件夹中,该文件将被下载到您的主文件夹。
这些类信息有助于我们了解应用程序和逻辑的流程。
项目中加密的DumpingClass信息
我们知道应用程序从App Store中下载到 /var/containers/Bundle/Application中。这些应用程序是加密的,以避免信息泄露。这使得提取类信息非常艰难。为了解决这个问题,我们需要使用clutch,并将这个clutch放在/usr/bin文件夹中,并使用chmod + x 给clutch授予完整的权限。
在我们的例子中,我使用Rediffmail应用程序进行演示。所以我们有应用程序名称作为Rediffmail NG,其bundle ID是 -com.rediff.com
现在使用命令clutch -b com.rediff.com [这个命令将创建一个新的文件/var/tmp/ clutch/ <> / 目录。
从上面的图片可以看到,文件被保存到/var/tmp/clutch/someid/。进入这个目录
我们在这个目录中有一个可执行文件,很好。
接下来使用命令:class-dump-z RediffmailNG [提取类信息]