hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-dangerous-entitlements.md

5.5 KiB
Raw Blame History

macOS危险权限

☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 YouTube 🎥

{% hint style="warning" %} 请注意,以**com.apple**开头的权限不可供第三方使用只有Apple可以授予。 {% endhint %}

高级

com.apple.security.get-task-allow

此权限允许获取由具有此权限的二进制文件运行的进程的任务端口,并对其进行代码注入。查看此处了解更多信息

com.apple.system-task-ports(以前称为task_for_pid-allow

此权限允许获取任何进程的任务端口,但不包括内核。查看此处了解更多信息

com.apple.security.cs.debugger

具有调试工具权限的应用程序可以调用task_for_pid()来检索未签名和第三方应用程序的有效任务端口,前提是这些应用程序具有设置为trueGet Task Allow权限。然而,即使具有调试工具权限,调试器也无法获取没有Get Task Allow权限的进程的任务端口,因此受系统完整性保护的保护。查看此处了解更多信息

com.apple.security.cs.disable-library-validation

此权限允许加载未由Apple签名或使用相同的Team ID签名的框架、插件或库,因此攻击者可以滥用某些任意库加载来注入代码。查看此处了解更多信息

com.apple.security.cs.allow-dyld-environment-variables

此权限允许使用DYLD环境变量,这些变量可以用于注入库和代码。查看此处了解更多信息

中级

com.apple.security.cs.allow-jit

此权限允许通过向mmap()系统函数传递MAP_JIT标志来创建可写和可执行的内存。查看此处了解更多信息

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

TODO