macOS Dangerous Entitlements & TCC perms
请注意,以**com.apple
**开头的授权仅供Apple授予,第三方无法使用。
高级
com.apple.rootless.install.heritable
com.apple.rootless.install.heritable
授权**com.apple.rootless.install.heritable
允许绕过SIP**。查看此处了解更多信息。
com.apple.rootless.install
com.apple.rootless.install
授权**com.apple.rootless.install
允许绕过SIP**。查看此处了解更多信息。
com.apple.system-task-ports
(先前称为task_for_pid-allow
)
com.apple.system-task-ports
(先前称为task_for_pid-allow
)此授权允许获取除内核外的任何进程的任务端口。查看此处了解更多信息。
com.apple.security.get-task-allow
com.apple.security.get-task-allow
此授权允许具有**com.apple.security.cs.debugger
授权的其他进程获取由具有此授权的二进制运行的进程的任务端口,并对其进行代码注入**。查看此处了解更多信息。
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
com.apple.security.cs.disable-library-validation
此授权允许加载未由Apple签名或与主可执行文件具有相同Team ID签名的框架、插件或库,因此攻击者可能滥用某些任意库加载来注入代码。查看此处了解更多信息。
com.apple.private.security.clear-library-validation
com.apple.private.security.clear-library-validation
此授权与**com.apple.security.cs.disable-library-validation
非常相似,但不是直接禁用库验证,而是允许进程调用csops
系统调用来禁用它**。
查看此处了解更多信息。
com.apple.security.cs.allow-dyld-environment-variables
com.apple.security.cs.allow-dyld-environment-variables
此授权允许使用DYLD环境变量,可用于注入库和代码。查看此处了解更多信息。
com.apple.private.tcc.manager
或com.apple.rootless.storage
.TCC
com.apple.private.tcc.manager
或com.apple.rootless.storage
.TCC
system.install.apple-software
和system.install.apple-software.standar-user
system.install.apple-software
和system.install.apple-software.standar-user
这些授权允许在不请求用户权限的情况下安装软件,这对于特权升级可能有帮助。
com.apple.private.security.kext-management
com.apple.private.security.kext-management
需要的授权以请求内核加载内核扩展。
com.apple.private.icloud-account-access
com.apple.private.icloud-account-access
授权**com.apple.private.icloud-account-access
可以与com.apple.iCloudHelper
** XPC服务通信,该服务将提供iCloud令牌。
iMovie和Garageband具有此授权。
有关从该授权中获取iCloud令牌的漏洞的更多信息,请查看演讲:#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula
com.apple.private.tcc.manager.check-by-audit-token
com.apple.private.tcc.manager.check-by-audit-token
待办事项:我不知道这允许做什么
com.apple.private.apfs.revert-to-snapshot
com.apple.private.apfs.revert-to-snapshot
待办事项:在此报告中提到,此功能可用于在重启后更新SSV受保护的内容。如果您知道如何操作,请提交PR!
com.apple.private.apfs.create-sealed-snapshot
com.apple.private.apfs.create-sealed-snapshot
待办事项:在此报告中提到,此功能可用于在重启后更新SSV受保护的内容。如果您知道如何操作,请提交PR!
keychain-access-groups
keychain-access-groups
此授权列出应用程序可以访问的钥匙串组。
kTCCServiceSystemPolicyAllFiles
kTCCServiceSystemPolicyAllFiles
提供完全磁盘访问权限,这是您可以拥有的TCC最高权限之一。
kTCCServiceAppleEvents
kTCCServiceAppleEvents
允许应用程序向其他常用于自动化任务的应用程序发送事件。控制其他应用程序,可以滥用授予这些其他应用程序的权限。
比如让它们要求用户输入密码:
或让它们执行任意操作。
kTCCServiceEndpointSecurityClient
kTCCServiceEndpointSecurityClient
允许,除其他权限外,写入用户的 TCC 数据库。
kTCCServiceSystemPolicySysAdminFiles
kTCCServiceSystemPolicySysAdminFiles
允许更改用户的 NFSHomeDirectory
属性,从而更改用户的主文件夹路径,因此可以绕过 TCC。
kTCCServiceSystemPolicyAppBundles
kTCCServiceSystemPolicyAppBundles
允许修改应用程序包内的文件(在 app.app 内),这是默认禁止的。
可以在 系统偏好设置 > 隐私与安全性 > 应用程序管理 中检查谁拥有此访问权限。
kTCCServiceAccessibility
kTCCServiceAccessibility
该进程将能够滥用 macOS 辅助功能,这意味着例如他将能够按下按键。因此,他可以请求访问控制应用程序如 Finder,并使用此权限批准对话框。
中等
com.apple.security.cs.allow-jit
com.apple.security.cs.allow-jit
此授权允许创建可写和可执行的内存,通过将 MAP_JIT
标志传递给 mmap()
系统函数。查看此处获取更多信息。
com.apple.security.cs.allow-unsigned-executable-memory
com.apple.security.cs.allow-unsigned-executable-memory
此授权允许覆盖或修补 C 代码,使用长期不推荐使用的 NSCreateObjectFileImageFromMemory
(基本上是不安全的),或使用 DVDPlayback 框架。查看此处获取更多信息。
包含此授权会使您的应用程序暴露于内存不安全代码语言中的常见漏洞。请仔细考虑您的应用程序是否需要此例外。
com.apple.security.cs.disable-executable-page-protection
com.apple.security.cs.disable-executable-page-protection
此授权允许修改其磁盘上的可执行文件的部分以强制退出。查看此处获取更多信息。
禁用可执行页面保护授权是一项极端授权,它会从您的应用程序中删除一项基本安全保护,使攻击者有可能在不被察觉的情况下重写您的应用程序的可执行代码。如果可能的话,请优先选择更狭窄的授权。
com.apple.security.cs.allow-relative-library-loads
com.apple.security.cs.allow-relative-library-loads
待办事项
com.apple.private.nullfs_allow
com.apple.private.nullfs_allow
此授权允许挂载一个 nullfs 文件系统(默认情况下被禁止)。工具:mount_nullfs。
kTCCServiceAll
kTCCServiceAll
根据这篇博文,这个 TCC 权限通常以以下形式找到:
允许进程请求所有TCC权限。
kTCCServicePostEvent
kTCCServicePostEvent
最后更新于