物联网安全干货丨iOS 渗透测试基础知识入门

admin 2025年1月11日14:12:05评论7 views字数 3814阅读12分42秒阅读模式

物联网安全干货丨iOS 渗透测试基础知识入门

IOTsec-Zone

前言

长期以来,不安全的 iOS 应用程序一直是人们关注的主要问题。检测和利用 iOS 应用程序中的漏洞的技术称为 iOS 渗透测试。反编译应用程序以查找可能导致错误的任何问题或使用自动化工具可以用作该过程的一部分。这是一组测试,涵盖从安装和配置到发现和利用 iOS 操作系统和网络安全中的软件和硬件漏洞的所有内容。

物联网安全干货丨iOS 渗透测试基础知识入门

   iOS安全基础知识  

物联网安全干货丨iOS 渗透测试基础知识入门

如果您像我们一样,每当您拿到替换设备时,您都会想知道它的安全性如何。iPhone也不例外。这是一个从可能有一个小浏览器的手机跨越到一个更像你的电脑而不是你的旧手机的工具的工具。实际上,这些设备中存在类似的安全问题,而台式计算机上已经出现的问题。Apple 在这些设备中内置了哪些预防措施和安全机制来阻止此类妥协?这是一个从一开始就开始一个全新的计算分支的机会。对于这些新兴的智能设备,安全性有多重要?在深入了解 iOS 应用程序渗透测试之前,了解 iOS 平台、提供的默认安全功能非常重要,和其他重要术语。在本文中,我将尝试以简单而简短的方式解释这些重要术语,并提供进一步的阅读以深入探索它们。

物联网安全干货丨iOS 渗透测试基础知识入门

  iOS的架构  

物联网安全干货丨iOS 渗透测试基础知识入门

下图解释并讨论了 iOS 系统的基本架构,其中在应用程序和硬件级别之间使用不同的层来确定通信并执行不同的任务。

物联网安全干货丨iOS 渗透测试基础知识入门

 图 1:此图解释了 IOS 的体系结构和体系结构的层次。

让我们简要讨论其中的一些层:

Core OS:Core OS 层提供了各种底层特性,不同的服务基于这些特性构建。其中包括加速框架、目录服务、系统配置、OpenCL 等。

  1. 核心操作系统层;

  2. 大多数应用程序与之交互的层;

  3. 所有的 iOS 技术都建立在核心 OS 层提供的低级功能之上;

  4. 这些技术包括核心蓝牙框架、外部附件框架、加速框架、安全服务框架、本地授权框架等;

  5. 开发人员对当前层的访问权限有限。尽管如此,开发人员仍有权访问后续框架;

  6. 加速 - 大数字和 DSP 计算;

  7. 外部附件 - 与硬件附件通信;

  8. 安全 - 证书和密码学;

  9. 系统 - 低级操作系统方法 核心服务:核心服务层提供对核心操作系统层内提供的服务的抽象。这些服务一般包括通讯录、社交、安全、WebKit等;

  10. 核心服务层提供了对核心操作系统层中提供的服务的抽象;

  11. 它提供对 iPhone OS 服务的基本访问。

  12. 以下框架在核心服务层中可用;

  13. Cloudkit 框架 - 信息通常使用 Cloudkit 框架在应用程序和 iCloud 之间移动;

  14. Core Foundation Framework - 这为 iOS 应用程序提供数据管理和修复功能;

  15. 核心数据框架 - 模型视图控制器应用程序的信息模型使用核心数据框架处理;

  16. 地址簿框架 - 地址簿框架提供对用户联系人数据库的访问;

  17. Core Motion Framework - 使用 Core Motion Framework 访问设备上所有基于运动的数据;

  18. Healthkit 框架 - 用户的健康相关信息通常由这个新框架处理;

  19. 核心位置框架 - 该框架为各种应用程序提供情况和航向信息;

  20. 核心位置 - 基于 GPS、蜂窝或 wi-fi 的定位服务。

Media:媒体层提供将在设备内使用的各种媒体服务,即它基本上支持所有视听技术。它提供了核心图像、核心音频、核心文本等各种功能。

  1. 媒体层提供您可以在 iPhone 中轻松使用的多媒体服务;

  2. 媒体层支持系统的所有图形、音频和视频技术;

  3. 允许开发人员用照片、视频、音频、动画和类似图形的东西来计算;

  4. 它包含后续框架;

  5. AVFoundation - 高级音频和视频;

  6. UIKit Graphics - 设计图像和动画视图内容;

  7. Core Graphics Framework - 支持 2-D 矢量和基于图像的渲染,是 iOS 应用程序的原生绘图引擎;

  8. Core Animation - Core Animation 技术优化了应用程序的动画体验;

  9. Core Audio - 低级音频;

  10. 媒体播放器 - 支持音频和视频播放,并允许用户使用他们的 iTunes 库;

  11. 核心文本 - 高级文本布局和字体。

Cocoa Touch (Application) : Cocoa Touch 层也被称为应用层。它是架构中的最顶层,并公开了各种用于 iPhone 设备编程的 API。Cocoa Touch 层提供了一个抽象层来显示用于对 iPhone 和其他 iOS 设备进行编程的各种库。根据 Apple 文档,以下是提供的框架。

iOS 应用程序使用 .IPA 作为其文件扩展名。

您可以在此处阅读有关 IPA 文件的更多信息:https ://en.wikipedia.org/wiki/.ipa 1. UIKit - UI 元素、生命周期管理等 2. Message Kit - 负责电子邮件、SMS 3. 地址簿 -联系,编辑。4. Event Kit - 闹钟、日历事件等。5. Game Kit - 负责游戏活动。6. iAd - 支持苹果的广告平台 7. Map Kit - 谷歌地图,苹果地图。8. Message Kit - 负责电子邮件等。

Info.plist:数据 .plist 文件使用一系列不同的属性向操作系统描述应用程序。通常在执行安全评估时检查此文件,因为它可能包含有趣的信息或帮助我们找到一些错误配置。

Keychain:钥匙串被称为加密容器,应用程序可以在其中存储敏感信息,并且只有授权的应用程序才能从中查询信息。阅读更多:https ://developer.apple.com/documentation/security/keychain_services。

Jailbreak Types : 越狱是在您的设备中解除用户限制的方法,由公司设置。重要的是要了解越狱会使您的设备保修失效。iOS 有多种越狱方法 - 因版本而异。Canijailbreak 可能是一个很棒的网站,用于推荐 iOS 应用程序支持的越狱工具。值得一提的是,越狱通常使用 Windows、Mac 或 Linux 完成。此外,我们有不同的越狱分类 - 定义如下。

Untethered Jailbreak:永久越狱,即使在重新启动后设备也会越狱。

Tethered Jailbreak:临时越狱,在重新启动设备后将恢复其正常状态。

Semi-tethered Jailbreak:半连接越狱是指设备可以自行开始,但它没有修补内核,因此无法准备好运行修改后的代码。

Semi-untethered Jailbreak: 半不受限制的越狱类似于不受限制的越狱,其中它允许设备与自己的其他设备并驾齐驱。设备的启动顺序在每次启动时都不会改变,它会启动到其原始的非越狱状态。但是,用户可以使用在其设备上运行的应用程序重新越狱,而不是像在连接或半连接的情况下那样使用计算机越狱。

在 IOS 设备上设置代理

在 Burp Suite 中设置代理是一个非常简单直接的过程。

执行步骤:

1.在无线设置中启用手动代理并在设备中添加代理详细信息。

物联网安全干货丨iOS 渗透测试基础知识入门

2.在 Burp Suite 中,转到“代理设置”并将侦听器设置为所有接口。

物联网安全干货丨iOS 渗透测试基础知识入门

3.现在,在 iPhone 上,打开“ http://burp”并下载 CA 证书。

4.安装 CA 证书。

5.现在,导航到设置 → 常规 → 关于 → 证书信任设置并启用 Portswigger CA 证书。

物联网安全干货丨iOS 渗透测试基础知识入门

 有漏洞的应用程序 

物联网安全干货丨iOS 渗透测试基础知识入门

使用以下有漏洞的应用程序并使用特定存储库中的给定指令安装它们:

DVIA-v2:https ://github.com/prateek147/DVIA-v2

iGOAT:https ://github.com/OWASP/igoat

在这里,我们将使用 DVIA-v2 应用程序。

应用程序沙盒

iOS 中的应用程序沙盒允许应用程序在设备上设置区域数据库,并将其与其他应用程序分开。为了确保应用程序之间没有冲突,iOS 为每个应用程序分配了自己的沙箱。

您可以在此处阅读有关应用程序沙盒的更多信息:https ://theapplady.net/getting-started/ios-application-sandbox/

物联网安全干货丨iOS 渗透测试基础知识入门

  测试方法  

物联网安全干货丨iOS 渗透测试基础知识入门

在本节中,我们将从 IOS 安全性和 iOS 结构的基础知识开始,后续我们将介绍 IOS 自动化,它执行 iOS 应用程序的运行时分析。

运行测试涉及多个组件。一个组件是使用手动技术和工具(如 MobSF)和一些框架(如grapefruit)来执行静态分析。另一个组件涉及利用运行时连接各种方法和对象,以避免某些情况并访问敏感信息。最后,测试应用程序生成的动态 API 调用、登录 API 调用等。

首先,您需要提取 IPA。我们将使用 MobSF 进行静态分析,稍后将讨论各种绕过技术,例如越狱检测绕过、SSL pinning 绕过和本地身份验证绕过。所以,这个系列将在这里保持更新。

物联网安全干货丨iOS 渗透测试基础知识入门

  动手测试  

物联网安全干货丨iOS 渗透测试基础知识入门

SSL 固定:

开发人员使用 SSL pinning 来确保所有数据在 Web 服务器和客户端之间安全传输。我们可以使用下面列出的工具来绕过 SSL pinning。

1.Frida

2.Objection

3.SSLKill switch (supports till 13.x)

4.手动方法参考 -https://www.cobalt.io/blog/ios-pentesting-101 https://techfrendz007.blogspot.com/2020/02/1-what-is-ios-and-its-structure.html https://blog.yeswehack.com/yeswerhackers/getting-started-ios-penetration-testing-part-1/

点击下方【阅读原文】即可跳转原文链接

物联网安全干货丨iOS 渗透测试基础知识入门
物联网安全干货丨iOS 渗透测试基础知识入门

分享

物联网安全干货丨iOS 渗透测试基础知识入门

收藏

物联网安全干货丨iOS 渗透测试基础知识入门

点赞

物联网安全干货丨iOS 渗透测试基础知识入门

在看

原文始发于微信公众号(信睿网络):物联网安全干货丨iOS 渗透测试基础知识入门

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月11日14:12:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   物联网安全干货丨iOS 渗透测试基础知识入门https://cn-sec.com/archives/1133656.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息