腾讯QQ/TIM本地特权提升(CVE-2023-34312)

2024-06-09 15:04

本文主要是介绍腾讯QQ/TIM本地特权提升(CVE-2023-34312),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

受影响的产品:

QQ 9.7.1.28940 ~ 9.7.8.29039
TIM 3.4.5.22071 ~ 3.4.7.22084


受影响的组件:

QQProtect.exe 4.5.0.9424(在 TIM 3.4.5.22071 中)
QQ权限.exe 4.5.0.9426(QQ 9.7.1.28940 中)
QQProtectEngine.dll 4.5.0.9424(在 TIM 3.4.5.22071 中)
QQ引擎.dll 4.5.0.9426(QQ 9.7.1.28940中)

⼀、总结
腾讯QQ和TIM是深圳市腾讯计算机系统有限公司开发的两款即时通讯软件。它们都有⼀个组件QQProtect.exe,位
于 %ProgramFiles(x86)%\Common Files\Tencent\QQProtect\bin . QQProtect.exe作为名为**QPCore的
Windows 服务安装,并 NT Authority\SYSTEM 在系统启动时⾃动运⾏。组件QQProtect.exe及其依赖的DLL
QQProtectEngine.dll均存在任意地址写⼊漏洞。低权限攻击者可以结合这两个漏洞在QQProtect.exe进程中加载恶
意DLL并获取 NT Authority\SYSTEM shell。

2. 漏洞
第⼀个漏洞是QQProtect.exe+0x40c9f8处的代码:
其中 a2 是⼀个可以被攻击者控制的指针, dword_41a740 是⼀个全局变量,其值为 0x00000001 。因此攻击者可
以在任何地址写⼊该值 DWORD(1) 。

第⼆个漏洞是QQProtectEngine.dll+0x3B4F6处的代码:
其中 v3 是可以被攻击者控制的指针。因此攻击者可以 std::bit_cast<DWORD>(ptr) + 4 在任何给定地址写⼊该
值 ptr 。
QQProtect.exe 由于 QQProtect.exe 没有ASLR保护,攻击者可以轻易篡改驻留的函数指针并利⽤ROP链执⾏任
意代码。

3. 概念证明
 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:

target\release\tinyxml.dll
target\release\evil.dll


然后将上⾯的两个Dll放在 %ProgramFiles(x86)%\Common Files\Tencent\QQProtect\bin\QQProtect.exe ⼀
个⽂件夹中。


NT Authority\SYSTEM 最后⽤⼀个命令获取shell:

$ QQProtect.exe <PATH TO evil.dll>

参考链接
https://github.com/vi3t1/qq-tim-elevation

这篇关于腾讯QQ/TIM本地特权提升(CVE-2023-34312)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1045510

相关文章

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

java学习,进阶,提升

http://how2j.cn/k/hutool/hutool-brief/1930.html?p=73689

JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

一、什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的。停工时间,就是不能向用户提供服务的时间。高可用,就是系统具有高度可用性,尽量减少停工时间。如何用最简单的方法来搭建一个高效率可用的服务端JAVA呢? 停工的原因一般有: 服务器故障。例如服务器宕机,服务器网络出现问题,机房或者机架出现问题等;访问量急剧上升,导致服务器压力过大导致访问量急剧上升的原因;时间和

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

AIGC6: 走进腾讯数字盛会

图中是一个程序员,去参加一个技术盛会。AI大潮下,五颜六色,各种不确定。 背景 AI对各行各业的冲击越来越大,身处职场的我也能清晰的感受到。 我所在的行业为全球客服外包行业。 业务模式为: 为国际跨境公司提供不同地区不同语言的客服外包解决方案,除了人力,还有软件系统。 软件系统主要是提供了客服跟客人的渠道沟通和工单管理,内部管理跟甲方的合同对接,绩效评估,BI数据透视。 客服跟客人

本地如何快速启动静态服务器

本地快速启动静态服务器 有许多第三方库可以帮助你快速启动一个静态服务器,甚至无需编写代码。通过命令行运行这些库后,它们会自动启动一个服务器并打开指定端口,展示当前目录下的文件内容: 电脑得提前安装NodeJS 1、http-server http-server 是一个轻量级的命令行工具,允许你快速启动一个静态文件服务器。 安装 npm install -g http-server

提升PrestaShop外贸电商网站安全的几款行业必备工具

提升PrestaShop外贸电商网站安全的几款行业必备工具 PrestaShop发展历程 PrestaShop是一款优秀且强大的外贸开源电商软件,我们开始使用PrestaShop始于2009年,那时PrestaShop还是0.9版本:界面清新,性能强悍,扩展友好等特性,既没有Magento的笨重,也没有ZenCart的古老,更没有OpenCart的脆弱,因此PrestaShop如雨后春笋,迅速

腾讯社招面试经历

前提:本人2011年毕业于一个普通本科,工作不到2年。   15号晚上7点多,正在炒菜做饭,腾讯忽然打电话来问我对他们的Linux C++的职位是否感兴趣,我表达了我感兴趣之后,就开始了一段简短的电话面试,电话面试主要内容:C++和TCP socket通信的一些基础知识。之后就问我一道算法题:10亿个整数,随机生成,可重复,求最大的前1万个。当时我一下子就蒙了,没反应过来,何况我还正在烧

完整的腾讯面试经过

从9月10号开始到现在快两个月了,两个多月中,我经历数次面试和笔试,在经历这些的同时积累了不少的经验,也学到了不少东西,在此把它记录下来,算是和一起找工作中的同学一起共勉吧。我是本校的学生,专业是机械制造及其自动化,找工作的主要目标是计算机软件类和机械制造方向的国内的企业,所以意向去外企的同学就不必浪费时间看这些面经啦,想去国内IT企业的同学可以继续看下去。本贴中我把最近的腾讯面试经过写下

【20240907问题记录(未解决)】Conda环境问题:SSH与本地环境变量不一致

Conda 允许用户在同一系统上创建多个独立的Python环境。然而,最近遇到了一个奇怪的问题:通过SSH连接到远程Ubuntu机器时,Conda环境变量的行为与本地机器不一致。以下是具体遇到的问题: 1. 问题描述 在本地Ubuntu机器上,我的conda的python版本是3.6,而pip版本可以通过命令 pip --version 查看,显示为: pip 21.3.1 from /ho