攻防必备 | CVE-2023-34312 QQ&TIM本地特权提升

admin 2023年6月28日12:41:06评论17 views字数 1307阅读4分21秒阅读模式

漏洞简述

腾讯QQ和TIM是由有限公司开发的两款即时通讯软件。它们都有一个组件QQProtect.exe,位于%ProgramFiles(x86)%Common FilesTencentQQProtectbin中。QQProtect.exe作为名为QPCore的Windows服务安装,并在系统启动时自动作为NT AuthoritySYSTEM运行。组件QQProtect.exe及其依赖DLL QQProtect Engine.DLL都存在任意地址写入漏洞。权限较低的攻击者可以通过结合这两个漏洞在QQProtect.exe进程内加载邪恶的DLL,并获得NT AuthoritySYSTEM shell。

影响产品:

QQ 9.7.1.28940 ~ 9.7.8.29039 TIM 3.4.5.22071 ~ 3.4.7.22084

影响组件

QQProtect.exe 4.5.0.9424 (in TIM 3.4.5.22071) QQProtect.exe 4.5.0.9426 (in QQ 9.7.1.28940) QQProtectEngine.dll 4.5.0.9424 (in TIM 3.4.5.22071) QQProtectEngine.dll 4.5.0.9426 (in QQ 9.7.1.28940)

漏洞分析

第一个漏洞点是QQProtect.exe+0x40c9f8的代码:

攻防必备 | CVE-2023-34312 QQ&TIM本地特权提升

其中 a2 是一个可以被攻击者控制的指针, dword_41a740 是一个全局变量,其值为 0x00000001 。因此攻击者可以 DWORD(1) 在任何地址写入值。

第二个漏洞点是QQProtectEngine.dll +0x3B4F6中的代码:

攻防必备 | CVE-2023-34312 QQ&TIM本地特权提升

其中 v3 是可由攻击者控制的指针。因此攻击者可以 std::bit_cast(ptr) + 4 在任何给定地址写入值 ptr 。

由于不具有ASLR保护,攻击者可以篡改驻留在其中的函数指针 QQProtect.exe 并使用ROP链来容易地执行仲裁代码 QQProtect.exe 。

漏洞证明

poc代码用Rust语言编写。你应该使用 i686-pc-windows-msvc 工具链来编译它。

$ cd poc
$ cargo +stable-i686-pc-windows-msvc build --release --config "build.rustflags = ["-C", "target-feature=+crt-static"]"

会得到两个DLL:

targetreleasetinyxml.dll
targetreleaseevil.dll

然后把上面的两个dll文件 %ProgramFiles(x86)%Common FilesTencentQQProtectbinQQProtect.exe 放在一个文件夹里。

最后 NT AuthoritySYSTEM 用一个命令获取shell:

$ QQProtect.exe <PATH TO evil.dll>

复现展示

 

攻防必备 | CVE-2023-34312 QQ&TIM本地特权提升

https://github.com/vi3t1/qq-tim-elevationauthor:vi3t1

 

原文始发于微信公众号(Z2O安全攻防):攻防必备 | CVE-2023-34312 QQ&TIM本地特权提升

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月28日12:41:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   攻防必备 | CVE-2023-34312 QQ&TIM本地特权提升http://cn-sec.com/archives/1841759.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息