CVE-2023-34312复现

CVE-2023-34312漏洞复现

前言

最近在练习内网渗透相关,在之前hw的时候发现只会msf+ms17010的自己在内网或许能够一把梭,但是后渗透阶段的各种操作自己都不熟悉,一旦没有了ms17010自己就傻了眼,自诩网络安全有些经验的自己结果也只是个脚本小子的事实实在是令人懊恼,但经验与实力是积累起来的,在此先从漏洞复现开始吧,之前也做过某些漏洞的复现,但大多都没有留下笔记记录,那么作为第一篇复现笔记,就从CVE-2023-34312提权漏洞开始吧,一点是利用起来比较简单(因为我不会逆向,所以照着利用起来的话就只是编译一个dll的事),一个是在国内的内网环境下也许会遇到相关的情况,毕竟QQ在PC上的安装概率还是很大的。


漏洞原理

额,这个其实没什么好说的,毕竟我不是逆向选手,我只知道是因为有两个可供操作的指针a1和v3,然后大佬们提供了ROP链子的poc,我只管编译和使用。

复现过程

使用cargo +stable-i686-pc-windows-msvc build --release --config "build.rustflags = [\"-C\", \"target-feature=+crt-static\"]"对poc进行编译,因为大佬用的是rust写的,所以还要配置rust编译环境。

image-20230726154739765

主要是编译得到这两个dll: evel.dlltiniyxml.dll

好,然后就失败了,我真服了,这傻逼QQ重装一个版本把原来的删了不说,还利用失败了,我把这下面东西都删了再试试吧。

image-20230726155844157

吗的,怎么还是失败了,再降低版本到9.7.6试试。

吗的。还是失败了,我直接下载大佬编译好的dll试试。

吗的。还是失败了,不玩了,关机睡觉。

吗的。一觉醒来换了win7虚拟机试了试还是失败。这下真是拌死在起跑线上了。

寄了,经过反复分析。我觉得这不是我的问题,应该是大佬写的问题,但是这有什么办法我只是一个脚本小子不懂逆向也不懂rust我也不会改呜呜呜呜呜。

image-20230726220714417

看报错应该就是这一行出了问题,报错是找不到文件,指的应该就是这个.\pipe_QPIPC_PUB1015_了,但是我也不知道这是个什么啊,连路径都看不懂,呜呜呜呜呜。

又二十分钟之后,终于哦哦哦哦哦哦,成功了,原本预期二十分钟复现完毕的漏洞,我从早上一直干到了晚上。不过也是因为翻车,对于这个漏洞的原理理解得…额..算是深了一些吧。如果就像其他人的复现blog一样顺利,我感觉我都不会打开这个源代码瞧上一眼。话说我怎么干这行总是翻车,什么奇怪的翻车体制吗难道。

image-20230726223020312

好,那么究竟是怎么回事呢。正如我上面提到的报错显示的那段代码,是打开了某个进程管道,而报错显示并不存在这个管道,结合我自然语言理解的代码,*(其实还得是chatgpt爹的帮助)* ,看来是管道的问题,我去下载了一个windows查看管道的工具Sysinternals Suite

https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite

稍加查看后发现

image-20230726223605464

在初次安装的时候会自动启动QQ,此时QQProtect.exe(Q盾)会伴生启动,然而因为看其他人的复现过程都说的是将编译生成的两个dll复制到QQProtect.exe所在的文件夹中,一般是在C:\Program Files (x86)\Common Files\Tencent\QQProtect\Bin,这样的话就会产生一个问题,就是tinyxml.dll是涉及到替换的,而在Q盾活动的过程中tinyxml.dll是被占用的,无法完成替换,所以我就想着把Q盾的进程杀掉,从而导致了一个大问题。我没有发现这之后Q盾程序就再也起不来了,于是管道也就不存在。

image-20230726224107842

而且不光是这样,杀掉Q盾进程之后不管有没有替换tinyxml.dll,还是启不启动QQ,Q盾进程的莫名的没法再起来了。所以正确的使用方法应该是找另外一个目录,在确定Q盾进程存在的情况下把QQProtect.exe复制到编译得到的两个dll同文件下,并且运行QQProtect.exe evil.dll,这样才能成功的提权。

结尾

这通乌龙终于是结束了,起码下次再有hw没准能遇到这样的场景,起码不会再翻车了。希望等这阵子忙完了自己能去学一学msf的实现和ruby,把CVE-2023-34312搞成提权脚本,唉,如果真有那么一天,估计我也能早日脱离脚本小子的境地吧。


CVE-2023-34312复现
http://example.com/2023/07/26/CVE-2023-34312/
作者
Blu3fat
发布于
2023年7月26日
许可协议