macOS 安全与权限提升
Reading time: 7 minutes
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
基础 MacOS
如果你对 macOS 不熟悉,你应该开始学习 macOS 的基础知识:
- 特殊的 macOS 文件与权限:
macOS Files, Folders, Binaries & Memory
- 常见的 macOS 用户
macOS Users & External Accounts
- AppleFS
- 内核的 架构
macOS Kernel & System Extensions
- 常见的 macOS n网络服务与协议
macOS Network Services & Protocols
- 开源 macOS: https://opensource.apple.com/
- 要下载
tar.gz
,将 URL 更改为 https://opensource.apple.com/source/dyld/ 到 https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz
MacOS MDM
在公司中,macOS 系统很可能会被 MDM 管理。因此,从攻击者的角度来看,了解 其工作原理 是很有趣的:
MacOS - 检查、调试和模糊测试
macOS Apps - Inspecting, debugging and Fuzzing
MacOS 安全保护
攻击面
文件权限
如果 以 root 身份运行的进程写入 一个可以被用户控制的文件,用户可能会利用这一点来 提升权限。
这可能发生在以下情况下:
- 使用的文件已经由用户创建(由用户拥有)
- 使用的文件因组而可被用户写入
- 使用的文件位于用户拥有的目录中(用户可以创建该文件)
- 使用的文件位于 root 拥有的目录中,但用户因组而具有写入权限(用户可以创建该文件)
能够 创建一个将被 root 使用的文件,允许用户 利用其内容,甚至创建 符号链接/硬链接 指向另一个地方。
对于这种漏洞,不要忘记 检查易受攻击的 .pkg
安装程序:
文件扩展名与 URL 方案应用处理程序
通过文件扩展名注册的奇怪应用程序可能会被滥用,不同的应用程序可以注册以打开特定协议
macOS File Extension & URL scheme app handlers
macOS TCC / SIP 权限提升
在 macOS 中,应用程序和二进制文件可以拥有 访问文件夹或设置的权限,使其比其他应用程序更具特权。
因此,想要成功攻陷 macOS 机器的攻击者需要 提升其 TCC 权限(甚至 绕过 SIP,具体取决于其需求)。
这些权限通常以 应用程序签名的权利 形式授予,或者应用程序可能请求某些访问权限,在 用户批准后,它们可以在 TCC 数据库 中找到。进程获得这些权限的另一种方式是成为具有这些 权限 的进程的 子进程,因为它们通常是 继承的。
请访问这些链接以找到不同的方式 在 TCC 中提升权限,以 绕过 TCC 和过去 如何绕过 SIP。
macOS 传统权限提升
当然,从红队的角度来看,你也应该对提升到 root 感兴趣。查看以下帖子以获取一些提示:
macOS 合规性
参考文献
- OS X 事件响应:脚本和分析
- https://taomm.org/vol1/analysis.html
- https://github.com/NicolasGrimonpont/Cheatsheet
- https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ
- https://www.youtube.com/watch?v=vMGiplQtjTY
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。