TCC操纵
攻击者可以操纵或滥用透明度、同意和控制(TCC)服务或数据库,以授予恶意可执行文件提升的权限。TCC是macOS的隐私和安全控制机制,用于确定正在运行的进程是否有权访问受TCC保护的数据或服务,例如屏幕共享、摄像头、麦克风或全磁盘访问(FDA)。 当应用程序请求访问受TCC保护的数据或服务时,TCC守护进程(tccd
)会检查位于/Library/Application Support/com.apple.TCC/TCC.db
(和~/
等效)的TCC数据库,并覆盖文件(如果连接到MDM)以获取现有权限。如果权限不存在,则会提示用户授予权限。一旦授予权限,数据库将存储应用程序的权限,并且除非重置,否则不会再次提示用户。例如,当Web浏览器请求访问用户的网络摄像头时,一旦授予权限,Web浏览器可能不会再次明确提示用户。(引用: welivesecurity TCC) 攻击者可能通过滥用先前通过进程注入授予权限的应用程序或使用另一个应用程序执行恶意二进制文件来访问受TCC保护的受限数据或服务。例如,攻击者可以使用具有FDA权限的macOS本机应用程序Finder来执行恶意的AppleScript。当在Finder应用程序下执行时,恶意的AppleScript继承了对系统上所有文件的访问权限,而无需用户提示。当系统完整性保护(SIP)被禁用时,TCC保护也被禁用。对于未启用SIP的系统,攻击者可以通过使用环境变量和Launchctl加载攻击者控制的TCC数据库来操纵TCC数据库,以向其恶意可执行文件添加权限。(引用: TCC macOS绕过)(引用: TCC数据库)