今天给大家介绍的是一款名叫Passionfruit的iOS应用程序黑盒审计工具,该工具由frida.revuejs共同驱动。

Passionfruit:iOS应用黑盒评估工具

功能介绍

1. 完整的网页版GUI操作界面;

2. 支持未越狱的iOS设备;

3. 屏幕截图;

4. 提供了可读的App元数据;

5. 可检测目标App是否经过加密,以及是否开启了PIE和ARC;

6. App沙盒文件浏览器,可直接预览设备图片、SQLite数据库以及plist文件,你还可以直接下载文件以便进行深入研究;

7. 检测已加载的框架,并挂钩本地原生函数;

8. 记录SQLite操作;

9. 记录并尝试绕过越狱检测;

10. 查看App中的Objective-C类、设置方法和函数钩子、拦截参数;

11. 读取keychain对象;

12. 读取cookie;

工具安装

要求

1. 需要最新版的node.jsyarn来与运行api服务器和网页版GUI界面;

2. macOS系统中安装libimobiledevice

brewinstall libimobiledevice

3. 任意一款现代桌面浏览器;

开启GUI

如果你不需要对项目代码进行自定义修改的话,下面这种方法是最简单的使用方法了。

1. 打开终端,使用cd命令切换到项目目录;

2. 如果你这是第一次克隆这个项目的话,你需要安装npm依赖并构建前端。除此之外,你还需要运行命令npm install或yarn来配置node.js。接下来,运行npm run build或yarn run build来构建bundle。

3. 在浏览器中打开http://localhost:31337,如果端口31337被占用了,你可以在环境变量PORT中设置其他的端口号:PORT12345 npm start

项目开发(可选)

对于那些对此项目感兴趣的开发人员,如果你们想贡献自己的代码,那你可能需要在每一次代码修改之后都要重启api服务器并重新加载Web页面。

API服务器

 yarn  npm run dev

Webpack服务器

 cd gui  yarn  npm run dev

Frida脚本编译器

首次运行时,我们需要对Frida代理进行编译:

npm run build

如果你需要类似Webpack之类的livereload,你可以使用下列命令:

npm run watch

接下来,在浏览器中打开localhost:8080即可。

工具运行截图

Passionfruit:iOS应用黑盒评估工具

检测url模式以及App元数据:

Passionfruit:iOS应用黑盒评估工具

文件浏览器带有十六进制查看器、图片查看器、Plist文件查看器以及SQLite数据库读取工具:

Passionfruit:iOS应用黑盒评估工具

已加载的框架以及相应的输出符号:

Passionfruit:iOS应用黑盒评估工具

Passionfruit:iOS应用黑盒评估工具

查看Objective-C类和方法:

Passionfruit:iOS应用黑盒评估工具

拦截函数调用、参数以及栈trace:

Passionfruit:iOS应用黑盒评估工具

导出关键窗口的UI描述:

Passionfruit:iOS应用黑盒评估工具

* 参考来源:passionfruit, FB小编Alpha_h4ck编译