IosBX's Blog

IosbX's Blog
记录自己的每一次进步
  1. 首页
  2. iOS
  3. 正文

iOS逆向-利用MacDirtyCow漏洞沙盒逃逸

2025年 7月 15日 701点热度 3人点赞 0条评论

一.引言

在iOS逆向工程中,沙盒(sandbox)机制是苹果为确保应用安全而设计的核心防护系统。它限制了应用的访问权限,防止恶意行为影响系统或其他应用。然而,通过利用特定漏洞,如MacDirtyCow(CVE-2022-46689),我们可以实现沙盒逃逸,获取更高的权限。本文将探讨这一过程,基于iOS逆向的基本原理和工具。

 

二.iOS沙盒机制概述

iOS沙盒会拦截文件访问、网络套接字、Bootstrap服务以及子进程的spawn。14越狱后,沙盒限制有所放松,但苹果不断加强防护。在每个iOS版本中,沙盒作用都在增强,导致tweak在跨进程访问数据或写磁盘时受限。

绕过沙盒的常见方法包括:

  1. - 选择所有进程可访问的路径共享数据(但iOS 8后此类路径已不存在)。

  2. - 将操作置于高权限进程如SpringBoard或自定义守护进程中。

  3. - 使用RocketBootstrap绕过iOS 8的进程间通信限制。

 

三.MacDirtyCow漏洞简介

MacDirtyCow是一个影响iOS 14.0至16.1.2版本的内核漏洞,允许未经授权的文件系统访问和沙盒逃逸。它利用内核中的竞争条件(race condition)来操纵内存映射,实现对系统文件的读写。此漏洞常用于越狱工具或签名开发中,实现沙盒外访问,如修改系统文件或注入代码。

 

四.利用MacDirtyCow漏洞

导入grant_full_disk_access.h,调用grant_full_disk_access函数

成功后会用UIAlertController弹窗,点好,这个UIAlertController弹窗我看了,是SpringBoard弹出的,hook不了。

之后就可以写入Documents文件夹,

也可以获取内容。

控制台输出的NSLog日志。

相关代码我已经上传到了https://github.com/IOSBX/SandboxEscape。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2025年 7月 31日

IosBX

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2026 IosBX's Blog. ALL RIGHTS RESERVED.