QEMU Guest Agent本地提权漏洞处理(CVE-2023-0664)

2023-11-23 19:28

本文主要是介绍QEMU Guest Agent本地提权漏洞处理(CVE-2023-0664),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、漏洞描述

QEMU Guest Agent(qga)类似于vmware中的 vmtools,相关安全报告显示它的Windows版本安装程序存在本地提权高危漏洞(CVE-2023-0664),攻击者可利用该漏洞进行本地权限提升,获得SYSTEM特权运行的交互式命令行界面,可能对各类云主机产品产生一定影响,漏洞详细信息请见附件。它在windows中已qemu-ga服务和QEMU Guest Agent VSS Provider存在。
在这里插入图片描述

QEMU Guest Agent是一种QEMU虚拟机中的通用API,它提供了从主机到客户机的一系列工具和服务,包括安全的虚拟机控制、信息传递和虚拟硬件监控,为客户机提供更好的集成体验。详见:bug声明。

The custom action uses cmd.exe to run VSS Service installation
and removal which causes an interactive command shell to spawn.
This shell can be used to execute any commands as a SYSTEM user.
Even if call qemu-ga.exe directly the interactive command shell
will be spawned as qemu-ga.exe is a console application and used
by users from the console as well as a service.As VSS Service runs from DLL which contains the installer and
uninstaller code, it can be run directly by rundll32.exe without
any interactive command shell.Add specific entry points for rundll which is just a wrapper
for COMRegister/COMUnregister functions with proper arguments.

漏洞影响:所有FedoraOS,windows 虚拟机2023年3月之前的qga版本;

相关链接:rockylinux

二、修复处理

1)官方修复说明

参见:QGA installer fixes; qemu-kvm 8.0.0-rc0中已经得到修复,如下所示:

qga/win32: Remove change action from MSI installer
qga/win32: Use rundll for VSS installation

qga/installer/qemu-ga.wxs | 11 +++++±----
qga/vss-win32/install.cpp | 9 +++++++++
qga/vss-win32/qga-vss.def | 2 ++
3 files changed,

安装过程:

  1. 获取软件
  2. 安装驱动 virto serial driver
  3. 更新 balloon 驱动 (需要区分 2012, win7 版本的使用方法)
  4. 安装 qemu-ga
  5. 注册并重启 balloon 服务
  6. 测试可用性

注意事项:

1 balloon 服务只能够运行在 administrator 用户下
2 假如你只属于 administrators 组, 那么请你切换成 administrator 用户
3 假如 administrator 用户被隐藏, 那么需要管理员身份运行 cmd , 输入下面命令, 再切换用户:net user administrator /active:yes

2) 软件获取

wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
yum install virtio-win
#iso 软件存放在
ls /usr/share/virtio-win/virtio-win.iso
#或者
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso
//或直接下载: 2023-09-19 06:30  9.7M 
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-106.0.1-1.el9/qemu-ga-x86_64.msi
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.240-1/virtio-win-gt-x64.msi#

3)安装

#windows server 2012挂载 virtio-win.iso
#双击virtio-win.iso打开,其下有三个重要目录:1)guest-agent (含安装的二进制文件 (qemu-ga-x64.msi, qemu-ga-x86.msi)
2)vioserial ( virto-serail driver )
3)balloon (用于注册 balloon 服务):只能超级管理员运行

在这里插入图片描述
1)如上图所示,先更新 VIRTO-SERAIL DRIVER

即设备管理界面,更新 pci 简单通讯控制器 (使用 vioserail 目录中的驱动):

在这里插入图片描述
在这里插入图片描述
2)安装 BALLOON PCI 驱动 (WINDOWS 2012)
在这里插入图片描述
在这里插入图片描述
完成后重启云主机;
3) 双击安装qemu-ga-x86.msi 或 qemu-ga-x64.msi后,启动qemu guest agent 服务

4)启动 BALLOON 服务 (WIN2012)

复制光盘中 balloon 目录到 c:\Program Files,然后注册 balloon 服务后 重启,执行:

mkdir "c:\Program Files\balloon\2k12\amd64"
copy d:\balloon\2k12\amd64\*  "c:\Program Files\balloon\2k12\amd64\."
cd c:\Program Files\balloon\2k12\amd64
blnsvr.exe -i
net stop balloonservice
net start balloonservice

5)建议找你的云厂商来协助升级,不建议自行升级qga版本

3、附录

3.1 redhat和Fedora的关系

在这里插入图片描述

1)在centos8之前:

Fedora ==》RedHat ==》CentOS

简单理解:Fedora 是RedHat的“试验场”,很多新功能和特性先加入Fedora 稳定后再加入RedHat(收费),然后从RedHat再拉出CentOS(免费,培养用户和生态)

2)在centos8这之后

Fedora ==》CentOS stream ==》 RedHat

上面是IBM(收购了redhat)取消CentOS,改为在Fedora 和 RedHat 之间滚动发布CentOS stream,这就使得Centos不再像之前那样可靠稳定,适合生产环境了。

在这里插入图片描述

这篇关于QEMU Guest Agent本地提权漏洞处理(CVE-2023-0664)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件