iOS-Security[9]-综合工具

Introspy 是一款可用于分析 App 行为的开源黑盒工具。

Introspy

安装

Github/Introspy 下载源码,并通过 Theos 编译打包发布到设备。

安装完成后,可以在设置中看到:

iOS-Introspy-Setting

Introspy-Apps 用于选择要跟踪的 App,可同时跟踪多个:

iOS-Introspy-Apps

Introspy-Settings 用于选择跟踪的选项,包含 文件、HTTP、输出到控制台等,默认全开启:

iOS-Introspy-Settings

监控

以 QQ 音乐为例,开启 Introspy 监控后,操作 App,可以在控制台中看到其行为:

iOS-Introspy-Output-Console

上图可以看到 QQ 音乐把 UID 存储在 NSUserDefault 中,并可以看到值。

分析

直接在控制台中看,可能不太直观,Introspy 会将日志信息保存到设备上一个数据库中,查看方式:

1
2
3
ssh root@IP_Address
cd /var/mobile/Containers/Data/Application
find -name "introspy*"

可以看到,日志列表:

iOS-Introspy-Logs

其为 db 格式,可以在 PC 端安装其分析器,通过 命令行或者 HTML 的方式来查看。

安装命令:

1
2
sudo easy_install pip
sudo pip install git+https://github.com/iSECPartners/Introspy-Analyzer.git

命令行查看:

1
python -m introspy -p ios -f IP_Address -l

结果:

iOS-Introspy-Output-Result-Cmd

单独查看网络或者文件访问:

1
python -m introspy -p ios -f IP_Address -i [urls/files]

结果:

iOS-Introspy-Output-Result-Cmd-Url

解析成 HTML:

1
python -m introspy -p ios -o output -f IP_Address

解析成功后,可以看到生成了一个文件夹,里面放置了报告的html文件:

iOS-Introspy-Output-Html

用浏览器打开,可以看到所有的系统调用,以及网络请求的内容:

iOS-Introspy-Output-Html-Result

点击上方的 Potential Findings,可以看到 Introspy 发现的可能安全漏洞。

iOS-Introspy-Output-Html-Findings