当前位置: 首页 > 科技观察

AppleTCC绕过0-day漏洞利用

时间:2023-03-12 13:00:48 科技观察

最近,Jamf研究人员在XCSSET恶意软件中发现了AppleTCC0-day漏洞利用。攻击者可以利用这个0-day漏洞绕过Apple的TCC安全保护。在最新发布的macOS11.4中,Apple修复了一个绕过TCC(透明同意和控制)框架的0-day漏洞——CVE-2021-30713。TCC控制应用程序可以访问系统中的哪些资源,例如授予软件访问摄像头和麦克风的权限。攻击者可以利用该漏洞在未经用户明确同意的情况下获取硬盘访问、屏幕录制等权限。Jamf研究人员分析发现,XCSSET也利用此漏洞允许TCC在未经用户同意和许可的情况下对用户桌面进行屏幕截图。绕过利用Jamf研究人员在分析XCSSET恶意软件样本时发现了一个名为screen_sim.applescript的AppleScript模块。在这个模块中有一个名为verifyCapturePermissions的检查,它将应用程序ID作为参数。查看日志,研究人员发现恶意AppleScript模块似乎在寻找具有屏幕截图权限的应用程序。并顺利找到了这样一款APP。对verifyCapturePermissions函数的进一步分析表明,该脚本会检查已安装应用程序列表中的屏幕截图权限。此列表来自对以下软件appID的较早检查,这些软件appID被恶意软件称为“donorApps”。恶意软件针对的应用程序ID列表是用户在日常工作中例行授予屏幕共享权限的所有应用程序。然后,恶意软件使用以下mdfind命令检查受害者设备上是否安装了appID。如果在系统上找到任一appID,该命令将返回已安装应用程序的路径。使用此信息,恶意软件可以制作自定义AppleScript应用程序并将其注入已安装的捐赠者应用程序。该脚本将按以下顺序执行操作:(1)从恶意软件作者的C2服务器下载XCSSSETAppleScript屏幕截图模块到本地~/Library/Caches/GameKit文件夹;(2)将截图模块转换为AppleScript应用程序——avatarde.app。以这种方式编译任何AppleScript都会在新创建的应用程序包的/Contents/MacOS/目录中放置一个名为“applet”的可执行文件,而小程序将执行的脚本可以位于/Contents/Resources/Scripts/main中。(3)然后,新创建的Info.plist将被plutil二进制文件修改,将首选项设置LSUIElement修改为true。此操作允许应用程序作为后台进程运行,对用户隐藏其存在。(4)然后下载一个空白图标,应用到应用中。(5)最后,使用如下代码将新创建的应用程序放置在现有的捐助者应用程序中:例如,如果在系统上找到虚拟会议应用程序zoom.us.app,则恶意软件将自己放置在:/Applications/zoom.us.app/Contents/MacOS/avatarde.app如果受害计算机运行的是macOS11或更高版本,则avatarde应用程序使用临时签名或计算机本身进行签名。一旦所有文件就位,应用程序就会从父应用程序中分离出来,例如上例中的Zoom。也就是说,恶意应用程序可以在未经用户明确同意的情况下截屏或录制屏幕。因为它继承了父程序Zoom对应的TCC权限。对于最终用户来说,这是一个很大的隐私问题。Jamf研究人员在测试过程中发现,该漏洞的利用并不局限于录屏权限,可以将捐赠应用的权限转移给恶意APP。本文翻译自:https://www.jamf.com/blog/zero-day-tcc-bypass-discovered-in-xcsset-malware/