9.4 KiB
macOS危险权限和TCC权限
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 YouTube 🎥
- 你在一家网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品The PEASS Family
- 获取官方PEASS和HackTricks周边产品
- 加入💬 Discord群组 或 Telegram群组 或 关注我在Twitter上的🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享你的黑客技巧。
{% hint style="warning" %}
请注意,以**com.apple
**开头的权限仅供Apple授予,不对第三方开放。
{% endhint %}
高级
com.apple.rootless.install.heritable
权限**com.apple.rootless.install.heritable
允许绕过SIP**。查看此处了解更多信息。
com.apple.rootless.install
权限**com.apple.rootless.install
允许绕过SIP**。查看此处了解更多信息。
com.apple.system-task-ports
(以前称为task_for_pid-allow
)
此权限允许获取除内核以外的任何进程的任务端口。查看此处了解更多信息。
com.apple.security.get-task-allow
此权限允许具有**com.apple.security.cs.debugger
权限的其他进程获取具有此权限的二进制文件运行的进程的任务端口,并对其进行代码注入**。查看此处了解更多信息。
com.apple.security.cs.debugger
具有调试工具权限的应用程序可以调用task_for_pid()
来检索未签名和第三方应用程序的有效任务端口,前提是具有Get Task Allow
权限设置为true
。然而,即使具有调试工具权限,调试器也无法获取没有Get Task Allow
权限的进程的任务端口,因此受到系统完整性保护的保护。查看此处了解更多信息。
com.apple.security.cs.disable-library-validation
此权限允许加载未由Apple签名或使用相同的Team ID签名的框架、插件或库,因此攻击者可以滥用某些任意库加载来注入代码。查看此处了解更多信息。
com.apple.private.security.clear-library-validation
此权限与**com.apple.security.cs.disable-library-validation
非常相似,但不是直接禁用**库验证,而是允许进程调用csops
系统调用来禁用它。
查看此处了解更多信息。
com.apple.security.cs.allow-dyld-environment-variables
此权限允许使用可能用于注入库和代码的DYLD环境变量。查看此处了解更多信息。
com.apple.private.tcc.manager
和com.apple.rootless.storage
.TCC
根据此博客,这些权限允许修改TCC数据库。
system.install.apple-software
和system.install.apple-software.standar-user
这些权限允许在不要求用户权限的情况下安装软件,这对于特权升级很有帮助。
com.apple.private.security.kext-management
需要此权限来请求内核加载内核扩展。
com.apple.private.tcc.manager.check-by-audit-token
TODO: 我不知道这个权限允许做什么
com.apple.private.apfs.revert-to-snapshot
TODO: 在此报告中提到,这可以用于在重启后更新受SSV保护的内容。如果你知道如何发送PR,请告诉我!
com.apple.private.apfs.create-sealed-snapshot
待办事项:在此报告中提到,此权限可以在重启后更新受SSV保护的内容。如果您知道如何发送PR,请告诉我!
keychain-access-groups
此权限列出了应用程序可以访问的钥匙串组:
<key>keychain-access-groups</key>
<array>
<string>ichat</string>
<string>apple</string>
<string>appleaccount</string>
<string>InternetAccounts</string>
<string>IMCore</string>
</array>
kTCCServiceSystemPolicyAllFiles
赋予完全磁盘访问权限,是TCC中最高权限之一。
kTCCServiceAppleEvents
允许应用程序向其他常用于自动化任务的应用程序发送事件。通过控制其他应用程序,它可以滥用这些应用程序被授予的权限。
kTCCServiceSystemPolicySysAdminFiles
允许更改用户的**NFSHomeDirectory
属性,从而更改用户的主文件夹,因此可以绕过TCC**。
kTCCServiceSystemPolicyAppBundles
允许修改应用程序包(app.app内部)中的文件,默认情况下是不允许的。
中等
com.apple.security.cs.allow-jit
此权限允许通过将MAP_JIT
标志传递给mmap()
系统函数来创建可写和可执行的内存。查看此处获取更多信息。
com.apple.security.cs.allow-unsigned-executable-memory
此权限允许覆盖或修补C代码,使用长期弃用的**NSCreateObjectFileImageFromMemory
(基本上是不安全的),或使用DVDPlayback**框架。查看此处获取更多信息。
{% hint style="danger" %} 包含此权限会使您的应用程序面临内存不安全代码语言中的常见漏洞。请仔细考虑您的应用程序是否需要此例外。 {% endhint %}
com.apple.security.cs.disable-executable-page-protection
此权限允许修改磁盘上其自身可执行文件的部分,以强制退出。查看此处获取更多信息。
{% hint style="danger" %} 禁用可执行内存保护权限是一项极端权限,它会从您的应用程序中删除基本的安全保护,使攻击者能够在不被察觉的情况下重写您的应用程序的可执行代码。如果可能,请优先选择更窄的权限。 {% endhint %}
com.apple.security.cs.allow-relative-library-loads
待办事项
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 您在网络安全公司工作吗?您想在HackTricks中看到您的公司广告吗?或者您想获得最新版本的PEASS或下载PDF格式的HackTricks吗?请查看订阅计划!
- 发现我们的独家NFT收藏品The PEASS Family
- 获取官方PEASS和HackTricks周边产品
- 加入💬 Discord群组或电报群组,或在Twitter上关注我🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享您的黑客技巧。