Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2024-7479_CVE-2024-7481 — TeamViewer 用户到内核权限提升的概念验证。CVE-2024-7479 和 CVE-2024-7481。ZDI-24-1289 和 ZDI-24-1290。TV-2024-1006。 | Kitploit
工具/GitHubGitHub/petergabaldon/cve-2024-7479_cve-2024-7481
权限提升漏洞分析漏洞利用二进制利用
GitHubpetergabaldon/cve-2024-7479_cve-2024-7481

CVE-2024-7479_CVE-2024-7481

TeamViewer 用户到内核权限提升的概念验证。CVE-2024-7479 和 CVE-2024-7481。ZDI-24-1289 和 ZDI-24-1290。TV-2024-1006。

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
13721621年前Kitploit 审核通过

CVE-2024-7479 与 CVE-2024-7481

TeamViewer 用户到内核权限提升

GitHub Repo stars

该仓库包含 TeamViewer 中一个漏洞的利用概念验证,该漏洞允许无特权的用户将任意内核驱动程序加载到系统中。我要感谢 Zero Day Initiative 与我协调,以负责任的方式报告并披露此漏洞。

Logo

  • https://www.cve.org/CVERecord?id=CVE-2024-7479
  • https://www.cve.org/CVERecord?id=CVE-2024-7481
  • https://www.zerodayinitiative.com/advisories/ZDI-24-1289/
  • https://www.zerodayinitiative.com/advisories/ZDI-24-1290/
  • https://www.teamviewer.com/en/resources/trust-center/security-bulletins/tv-2024-1006/

PoC 执行

详情

关于最终导致这些漏洞的研究细节,可以在我的博客上找到以下三部分系列文章。它们更详细地介绍了这些漏洞,并展示了我在过程中失败的地方。第三部分是最有趣的部分 :P。

  • https://pgj11.com/posts/Finding-TeamViewer-0days-Part-1/
  • https://pgj11.com/posts/Finding-TeamViewer-0days-Part-2/
  • https://pgj11.com/posts/Finding-TeamViewer-0days-Part-3/

PoC 视频 📺

利用视频可在此处查看:

  • https://youtu.be/lUkAMAK-TPI
  • https://youtu.be/3R0aBYd0Qn4
  • https://youtu.be/kOjjFgkJQoc

摘要

在能够伪造(如博客中详述的,仅需一些简单的身份验证)一个有效的 TeamViewer 客户端连接到 SYSTEM 服务 IPC 后,就可以触发任意驱动程序的安装。TeamViewer 没有验证正在安装的驱动程序签名。

因此,通过 TeamViewer,可以实现从 USER 到 KERNEL 的权限提升。

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

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

此服务是客户端的辅助工具,用于执行某些任务。因此,客户端不以提升的权限运行,某些任务会委托给该服务。

与服务(IPC)的通信通过套接字实现(使用 Overlapped I/O 和 IoCompletionPort)。默认情况下,TeamViewer SYSTEM 服务在 localhost 上监听 5939/tcp。

TeamViewer 没有过滤客户端发送的用于请求驱动程序安装或签名检查等参数。

因此,思路是:我们将伪造一个 TV 客户端,请求安装 VPN 驱动程序,但指定另一个 INF 文件。我复用了 TeamViewer 的原始 INF 文件,但将其放在另一个(非特权)路径下,并将“恶意”驱动程序重命名为 teamviewervpn.sys,因为这是原始 INF 文件所指的目标驱动程序名称。

重要说明

这也绕过了 TeamViewer 的选项 此计算机上的更改需要管理员权限。

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

重要说明 II

该利用程序依赖于版本,因为 IPC 消息中客户端指定了其 PID 以及版本中的其他数据。客户端的版本必须与 SYSTEM 服务的版本匹配。需要在 Main.cpp 的第 140 到 143 行修改利用程序,以匹配目标 TeamViewer_service.exe 的版本。

因此,基本上,我们伪造一个 TeamViewer 客户端连接到 SYSTEM 服务,请求安装任意驱动程序。TeamViewer 服务会友好地将其加载到内核中。

CVE-2024-7481 分支

TeamViewer 还有另一个与第一个(点击 安装 VPN 驱动程序 时触发)非常相似的 IPC 消息。该消息用于安装 打印机驱动程序。

因此,本质上,CVE-2024-7479 和 CVE-2024-7481 是相同的漏洞,但 TeamViewer 犯了两次同样的错误。这些消息虽然不同,但非常相似。它们具有不同的 IPC 方法 ID。

结果相同,可以加载任意驱动程序。

永远记住:“定义我的不是我的本质,而是我的所作所为”

🦇

Linkedin badge Twitter badge

"Buy Me A Coffee"

下载工具