戟星安全实验室
本文约2057字,阅读约需6分钟。
ios架构
Core OS: 核⼼操作系统层提供各种低级功能,不同的服务基于这些功能构建。其中包括Accelerate Framework、⽬录服务、系统配置、OpenCL 等。
Core Services: 核⼼服务层提供对核⼼操作系统层中提供的服务的抽象。这些服务⼀般包括Address Book、Social、Security、Webkit等。
Media: 媒体层提供设备可以使⽤的各种媒体服务,即它基本上启⽤了所有的视听技术。它提供了Core Image、Core Audio、Core Text等多种功能。
Cocoa Touch (Application): Cocoa Touch层也被称为Application Layer。它是架构中的最 顶层,并公开了⽤于对 iPhone 设备进⾏编程的各种 API。
Info.plist: info.plist ⽂件是操作系统描述应⽤程序使⽤的各种属性的列表。在执⾏安全评估 时经常检查此⽂件,因为它可能包含有趣的信息或帮助我们发现⼀些错误配置。使⽤dumpDecrypter进⾏脱壳(iphone必须越狱)
Keychain: 钥匙串被称为加密容器,应⽤程序可以在其中存储敏感信息,只有授权的应⽤ 程序才能从中检索数据。
测试方法
在 iOS 应⽤程序上执⾏渗透测试时涉及多个组件。⼀个组成部分是使⽤⼿动技术和⼯具(如MobSF)执⾏静态分析。另⼀个组件涉及运⾏时利⽤和挂钩不同的⽅法和对象以绕过某些场景并获得对敏感信息的访问权限。最后,测试从应⽤程序⽣成的动态 API 调⽤,例如登录API 调⽤等。
我们将⾸先对 iOS 应⽤程序执⾏静态分析,我们⾸先需要为其提取 IPA,使⽤ MobSF 执⾏静态分析。
提取IPA
我们使⽤DumpDecrypter进⾏脱壳,然后使⽤Filze进⾏下载。
http://repo.yttxcs.com (Cydia插件源地址)
下载ipa,然后改名zip格式解压
可以查看json和js⽂件,⽤于数据加密的破解
可以使⽤ida或者Hopper对原⽂件反编译进⾏测试
Hopper可以搜索字符串,可以两个⼀起⽤
使⽤ MobSF 运⾏静态分析
提取 IPA ⽂件后,下⼀步是使⽤ MobSF 执⾏静态分析。我将使⽤ MobSF docker 选项,但 您可以使⽤安装以及提供的任何其他安装选项。
ttps://github.com/MobSF/Mobile-Security-FrameworkMobSF(MobSF)
https://mobsf.github.io/docs/ (使⽤⽂档)
View Strings把⼆进制⽂件反编译后把字符串提取出来了,我们可以复制出来进⾏搜索信息
也可以直接查看⼯具识别的url和ip
使用mitmproxy2swagger对APP&小程序进行测试
https://github.com/alufers/mitmproxy2swagger(mitmproxy2swagger)
>_ mitmweb -p 9999
Downloads mitmproxy2swagger -i flows -o api.yaml -p https://api4.bybutter.com
把⽣成的api.yaml⽂件中的ignore:正则删除,在执⾏⼀次上⾯的那个命令
打开https://editor-next.swagger.io/⽹站,把⽂件内容粘贴进去就可以很⽅便的测试api了
往期回顾
声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,戟星安全实验室及文章作者不为此承担任何责任。
戟星安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经戟星安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
戟星安全实验室
# 长按二维码 || 点击下方名片 关注我们 #