1免责声明
请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测。
2漏洞介绍
腾讯QQ和TIM是深圳市腾讯计算机系统有限公司开发的两款即时通讯软件。它们都有一个组件 QQProtect.exe
位于安装路径\Tencent\QQProtect\bin中。QQProtect.exe
作为名为QPCore的Windows服务安装,并在系统启动时自动运行。组件 QQProtect.exe
及其依赖的 DLL QQProtectEngine.dll
都存在任意地址写入漏洞。低权限的攻击者可以通过结合两个漏洞和获取 shell 在 QQProtect .exe
进程中加载恶意 DLL。%ProgramFiles(x86)%Common FilesTencentQQProtectbinNT AuthoritySYSTEMNT AuthoritySYSTEM
3受影响的产品:
-
QQ 9.7.1.28940 ~ 9.7.8.29039 -
TIM 3.4.5.22071 ~ 3.4.7.22084
4受影响的组件:
-
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中)
5漏洞分析
第一个漏洞是QQProtect.exe+0x40c9f8的代码:
其中 是可由攻击者控制的指针,是值为 的全局变量。因此,攻击者可以在任何地址写入该值。a2dword_41a7400x00000001DWORD(1)
第二个漏洞是·
QQProtectEngine.dll+0x3B4F6·
的代码:其中 是可由攻击者控制的指针。因此,攻击者可以在任何给定地址写入该值。v3std::bit_cast(ptr) + 4ptr
由于没有 ASLR 保护,攻击者可以篡改驻留在中的函数指针并使用 ROP 链轻松执行任意代码。QQProtect.exeQQProtect.exe
6漏洞验证
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
最后用一个命令获取 shell:NT AuthoritySYSTEM
$ QQProtect.exe
展示:
文章来源:GitHub
作者:作者vi3t1 排版:WIN哥学安全
https://github.com/vi3t1/qq-tim-elevation
https://mp.weixin.qq.com/s/2-3HlWvt6C5M2HoIkJabMw
1.本站上传的源码,均为平台购买,作者提供,网友推荐,互联网平台整理而来,请下载后24小时内删除。如有需要,请购买正版.
2.请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。
3.站内资源若侵犯了您的合法权益,请指出本站立即改正。
4.上述内容仅供学习参考及技术交流之用,未经相关的知识产权权利人同意,用户不得进行商业使用。
5.保姆式服务,百分百售后!
评论(2)
有偿找大佬帮忙,合法,事后必重谢!
酬谢:别人连接我家里WIFI,我想查看对方的手机内容。573243910@qq.com