[TeamViewer提权漏洞] 从用户到内核的权限提升 CVE-2024-7479、CVE-2024-7481 附poc

admin 2024年10月25日15:35:33评论25 views字数 1065阅读3分33秒阅读模式

在连接到 SYSTEM 服务 IPC 时能够欺骗(只是博客中详细介绍的一些简单身份验证)有效的 TeamViewer 客户端后,就可以触发任意驱动程序安装。TeamViewer 未验证正在安装的驱动程序的签名。

因此,借助 TeamViewer,可以将 USER 权限升级到 KERNEL。

最好的方法之一是使用众所周知的技术BYOD(自带易受攻击的驱动程序)将有效的签名驱动程序加载到 Windows 内核中,然后利用它从用户级别执行特权操作,例如更改任意的令牌与特权进程一起进行。

当 TeamViewer 安装在系统上时,它会创建一个作为 SYSTEM 运行的服务, TeamViewer_service.exe

该服务是客户完成某些任务的帮助者。因此,客户端不会以提升的权限运行,并且某些任务会委托给服务。

与服务(IPC)的通信是通过套接字实现的(使用Overlapped I/OIoCompletionPort )。默认情况下,TeamViewer SYSTEM 服务在本地主机上侦听5939/tcp 。

TeamViewer不会过滤客户端发送来要求安装驱动程序或签名检查等的参数。

所以我们的想法是:我们将欺骗电视客户端,要求安装VPN 驱动程序,但指示另一个 INF。我重新利用了 TeamViewer 的相同原始 INF,但在另一个(非特权)路径中将“坏”驱动程序重命名为teamviewervpn.sys ,因为这是原始 INF 所针对的驱动程序名称。

重要提示
这也绕过了 TeamViewer 选项“更改需要此计算机上的管理权限” 。

此检查仅通过 GUI 有效,因为当非特权用户单击按钮时, TeamViewer 选项会被禁用。但可以连接到套接字并执行任意驱动程序加载。

重要提示二
该漏洞利用与版本相关,因为客户端在 IPC 消息中指定了其 PID 和版本中的其他数据。客户端的版本必须与SYSTEM服务的版本匹配。必须将 Main.cpp 中的漏洞利用程序(第 140 至 143 行)修改为目标 TeamViewer_service.exe 版本。

因此,基本上,我们欺骗连接 SYSTEM 服务的 TeamViewer 客户端并请求安装任意驱动程序。TeamViewer 服务请将其加载到内核中。

poc:https://github.com/PeterGabaldon/CVE-2024-7479_CVE-2024-7481.git

下三期分享此漏洞的分析过程,欢迎关注

原文始发于微信公众号(合规渗透):[TeamViewer提权漏洞] 从用户到内核的权限提升 CVE-2024-7479、CVE-2024-7481 附poc

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月25日15:35:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [TeamViewer提权漏洞] 从用户到内核的权限提升 CVE-2024-7479、CVE-2024-7481 附pochttps://cn-sec.com/archives/3312339.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息