Introspy 是一款可用于分析 App 行为的开源黑盒工具。
Introspy
安装
从 Github/Introspy 下载源码,并通过 Theos 编译打包发布到设备。
安装完成后,可以在设置中看到:
Introspy-Apps 用于选择要跟踪的 App,可同时跟踪多个:
Introspy-Settings 用于选择跟踪的选项,包含 文件、HTTP、输出到控制台等,默认全开启:
监控
以 QQ 音乐为例,开启 Introspy 监控后,操作 App,可以在控制台中看到其行为:
上图可以看到 QQ 音乐把 UID 存储在 NSUserDefault 中,并可以看到值。
分析
直接在控制台中看,可能不太直观,Introspy 会将日志信息保存到设备上一个数据库中,查看方式:
1 | ssh root@IP_Address |
可以看到,日志列表:
其为 db 格式,可以在 PC 端安装其分析器,通过 命令行或者 HTML 的方式来查看。
安装命令:
1 | sudo easy_install pip |
命令行查看:
1 | python -m introspy -p ios -f IP_Address -l |
结果:
单独查看网络或者文件访问:
1 | python -m introspy -p ios -f IP_Address -i [urls/files] |
结果:
解析成 HTML:
1 | python -m introspy -p ios -o output -f IP_Address |
解析成功后,可以看到生成了一个文件夹,里面放置了报告的html文件:
用浏览器打开,可以看到所有的系统调用,以及网络请求的内容:
点击上方的 Potential Findings,可以看到 Introspy 发现的可能安全漏洞。