干货分享|IOS渗透测试指南
2023-3-28 18:2:33 Author: 戟星安全实验室(查看原文) 阅读量:36 收藏

戟星安全实验室

    忆享科技旗下高端的网络安全攻防服务团队.安服内容包括渗透测试、代码审计、应急响应、漏洞研究、威胁情报、安全运维、攻防演练等

本文约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/ (使⽤⽂档)
执⾏静态分析的步骤: 
        1.运⾏ MobSF Web 界⾯
        2.上传 IPA ⽂件并运⾏静态分析
        3.静态分析完成后,查找错误配置

我们主要注意View info.plist和View Strings,⾥⾯可能会泄露⼀些敏感信息。

View Strings把⼆进制⽂件反编译后把字符串提取出来了,我们可以复制出来进⾏搜索信息

也可以直接查看⼯具识别的url和ip

使用mitmproxy2swagger对APP&小程序进行测试

通常我们在测试app和⼩程序的时候,会因为api的接⼝太多⽽漏掉⼀些重要的信息,我们可 以使⽤mitmproxy2swagger⼯具把接⼝做成swagger,这样测试⽅便许多。
https://github.com/alufers/mitmproxy2swagger(mitmproxy2swagger)
先使⽤mitmproxy抓包保存数据
>_ mitmweb -p 9999 

Downloads mitmproxy2swagger -i flows -o api.yaml -p https://api4.bybutter.com

把⽣成的api.yaml⽂件中的ignore:正则删除,在执⾏⼀次上⾯的那个命令

打开https://editor-next.swagger.io/⽹站,把⽂件内容粘贴进去就可以很⽅便的测试api了

ps:我们可以⽤burp抓包加两个上游代理,⼀个xray和mitmproxy,burp不好测试api, 先⽤burp⼿⼯简单测试,测试好了看xray结果,最后使⽤mitmproxy2swagger做成 swagger的web⼿⼯测试。(只是个⼈想法,需要⾃⼰测试。)

往期回顾

   干货分享|安卓7.0以上安装证书
【干货分享】栈溢出和shellcode开发(一)
【干货分享】LOLBins技法的钓鱼附件分析

声明

    由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,戟星安全实验室及文章作者不为此承担任何责任。

    戟星安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经戟星安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

戟星安全实验室

# 长按二维码 || 点击下方名片 关注我们 #


文章来源: http://mp.weixin.qq.com/s?__biz=MzkzMDMwNzk2Ng==&mid=2247509337&idx=1&sn=07bc5994aa16935ca76872031c45fab7&chksm=c27eaf48f509265ea83e39ee5737121fe1a902915a04a8f800a3e692593ddd7b67f4dcf6421e#rd
如有侵权请联系:admin#unsafe.sh