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中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

SQL注入漏洞扫描之sqlmap详解

《SQL注入漏洞扫描之sqlmap详解》SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入... 目录what支持类型how---less-1为例1.检测网站是否存在sql注入漏洞的注入点2.列举可用数据库3.列举数据库

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

Python结合requests和Cheerio处理网页内容的操作步骤

《Python结合requests和Cheerio处理网页内容的操作步骤》Python因其简洁明了的语法和强大的库支持,成为了编写爬虫程序的首选语言之一,requests库是Python中用于发送HT... 目录一、前言二、环境搭建三、requests库的基本使用四、Cheerio库的基本使用五、结合req

使用Python处理CSV和Excel文件的操作方法

《使用Python处理CSV和Excel文件的操作方法》在数据分析、自动化和日常开发中,CSV和Excel文件是非常常见的数据存储格式,ython提供了强大的工具来读取、编辑和保存这两种文件,满足从基... 目录1. CSV 文件概述和处理方法1.1 CSV 文件格式的基本介绍1.2 使用 python 内

springboot 加载本地jar到maven的实现方法

《springboot加载本地jar到maven的实现方法》如何在SpringBoot项目中加载本地jar到Maven本地仓库,使用Maven的install-file目标来实现,本文结合实例代码给... 在Spring Boothttp://www.chinasem.cn项目中,如果你想要加载一个本地的ja

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont