欢迎光临
我们一直在努力

Powerdir:macOSTCC绕过漏洞

微软研究人员在 macOS 系统中发现一个 TCC 绕过漏洞—— powerdir。

Powerdir:macOSTCC绕过漏洞

微软研究人员在 macOS 系统中发现一个安全漏洞—— powerdir,漏洞 CVE 编号 CVE-2021-30970。攻击者利用该漏洞可以绕过 macOS 操作系统的 TCC(Transparency, Consent, and Control)技术,实现对用户受保护数据的非授权访问。

TCC

TCC 是苹果 2012 年在 macOS Mountain Lion 系统中引入的新功能,旨在帮助用户配置应用的隐私设置,比如访问设备摄像头、麦克风、位置、访问用户日历或 iCloud 账户等。为保护 TCC,苹果引入了一个预防非授权的代码执行的新特征和强制执行的策略将对 TCC 的访问限制为具有全盘访问权限的应用。TCC 维护者一个包含 app 请求同意历史的数据库。

Powerdir:macOSTCC绕过漏洞图 macOS TCC 设置

研究人员发现可以通过修改目标用户的 home 目录,并植入一个保存了 app 请求的同意历史的虚假 TCC 数据库。通过利用该漏洞,攻击者可以对用户受保护的个人数据进行工具。比如,攻击者可以劫持设备上安装的 APP 或安装自己的恶意 APP,访问麦克风来记录隐私回话或获取用户屏幕上展示的敏感个人信息截图。

Powerdir 漏洞

研究人员此前在 TCC 中发现过一个安全漏洞—— CVE-2020-9934,该漏洞是 $HOME 环境变量投毒漏洞。苹果公司发布的补丁在 tccd 的 _db_open 函数中:

Powerdir:macOSTCC绕过漏洞

图 CVE-2020-9934 tccd 补丁

研究人员发现苹果公司没有扩展 $HOME 环境变量,而是在当前用户下调用 getpwuid ( ) 。首先,getpwuid 函数会从内存中提取 ( struct password* ) ,其中包含给定用户的信息。然后,tccd 会从中提取 pwdir 成员。Pwdir 成员中包含用户的 home 目录,其值即使在 $HOME 环境变量被修改后仍然存在。

该方案确实可以预防环境变量投毒攻击,但是没有解决核心问题。研究人员通过 Directory Services command-line utility ( dscl ) 根据修改用户目录并植入一个虚假的 tcc.db 文件:

在需要 root 权限时,研究人员发现只有当 app 被收入 TCC 策略 kTCCServiceSystemPolicySysAdminFiles 时才可以工作,其中 kTCCServiceSystemPolicySysAdminFiles 是本地或特定用户的 TCC.db 维护的。虽然比全盘访问权限要弱,但是仍然可以绕过 TCC 的限制。

然后可以到处用户的 Directory Services,修改输出文件,并再次导入该文件,就可以成功绕过 dscl TCC 策略限制。

因此,第一个 POC 漏洞利用如下:

获取目标 app 的 csreq blob;

植入一个具有所需访问权限和 csrqe blob 的虚假 TCC.db 文件;

导出用户的 Directory Services 记录;

修改 Directory Services 记录来修改用户的 home 目录;

导出修改后的 Directory Services 记录;

停止用户 tccd,并重启进程。

使用该漏洞利用攻击者可以修改应用的设置。如下图所示,该漏洞利用可以获取 Teams app 的麦克风和摄像头访问权限:

Powerdir:macOSTCC绕过漏洞图 PoC 利用 1

微软研究人员在 2021 年 7 月将该漏洞将该漏洞提交给苹果产品安全团队。10 月,macOS Monterey 系统发布后,由于 disimport 工具工作原理的变化导致之前提交的 POC 漏洞利用无法工作。因此,研究人员开始寻求其他修改 home 目录的方式。

研究人员在分析最新的 macOS 版本中发现一个负责配置本地系统的 System Configuration daemon —— /usr/libexec/configd。其中研究人员使用了 configd 的 3 个方面:

苹果签名的二进制文件—— com.apple.private.tcc.allow,值为 kTCCServiceSystemPolicySysAdminFiles。意味着可以静默地修改 home 目录;

在配置代理方面具有可扩展性,也就是说可以加载的定制 Bundle,可以进行代码注入;

在加载定制的配置代理时没有加固的运行时 flag,也就是说可以使用未签名的代码来加载。

在配置 configd 时,攻击者可以通过 -t 选项指定要加载的定制的 Bundle。通过 configd 代码注入的方式来修改用户的 home 目录。PoC 2 视频如下所示:

https://www.microsoft.com/en-us/videoplayer/embed/RWRqyn

补丁

苹果公司已于 12 月 13 日发布了该漏洞的安全更新,研究人员建议 macOS 用户尽快安装更新补丁。

赞 (0)

嘶吼RoarTalk作者

0 0

生成海报

中国面粉十大品牌排行榜大全(面粉品牌排行)

上一篇
2022年1月13日 12:04

漫画大全古风排行榜(关于中国古风漫画好看的有哪些)

下一篇
2022年1月13日 12:05

相关推荐

  • 2021年12月14日

    抖音这厕所造出瓜了是什么歌 time to rock完整歌词介绍(抖音网红瓜)

  • 2021年11月13日

    有关白果的诗词

  • 2021年9月17日

    微信怎么把聊天记录导出(微信怎么调取聊天记录?)

  • 2022年1月2日

    2021年十月奥迪销售排行榜(2021前10个月奥迪中国销量)

  • 2021年10月19日

    小红书怎样编辑资料

  • 2021年11月7日

    红魔6怎样开启蓝牙,红魔蓝牙怎么搜索?

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Powerdir:macOSTCC绕过漏洞》
文章链接:https://www.6buu.com/533547.html
本站资源仅供个人学习交流,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发