0x01 概述

2019年2月11日,runC的维护团队报告了一个新发现的漏洞,该漏洞最初由Adam Iwaniuk和Borys Poplawski发现。该漏洞编号为CVE-2019-5736,漏洞影响在默认设置下运行的Docker容器,并且攻击者可以使用它来获得主机上的root级访问权限。

0x02 漏洞原理

漏洞点在于runC,RunC是一个容器运行时,最初是作为Docker的一部分开发的,后来作为一个单独的开源工具和库被提取出来。作为“低级别”容器运行时,runC主要由“高级别”容器运行时(例如Docker)用于生成和运行容器,尽管它可以用作独立工具。
像Docker这样的“高级别”容器运行时通常会实现镜像创建和管理等功能,并且可以使用runC来处理与运行容器相关的任务:创建容器、将进程附加到现有容器等。
在Docker 18.09.2之前的版本中使用了的runc版本小于1.0-rc6,因此允许攻击者重写宿主机上的runc 二进制文件,攻击者可以在宿主机上以root身份执行命令。

0x03 利用方式

一句话描述,docker 18.09.2之前的runc存在漏洞,攻击者可以修改runc的二进制文件导致提权。

0x04 影响版本

docker version <=18.09.2
RunC version <=1.0-rc6

0x05 漏洞复现

1.安装漏洞环境。(Ubuntu16.04)
https://gist.githubusercontent.com/thinkycx/e2c9090f035d7b09156077903d6afa51/raw/

测试环境:

2.编译go脚本生成攻击payload。
(https://github.com/Frichetten/CVE-2019-5736-PoC)

将go脚本中的命令修改为反弹shell

编译生成payload
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

3.将该payload拷贝到docker容器中(此时可以模拟攻击者获取了docker容器权限,在容器中上传payload进行docker逃逸)

docker cp main e3:/home
docker exec -it e3 bash
cd /home/
chmod 777 main

4.执行payload,等待受害者去启动docker容器。

攻击者开启nc监听

5.受害者启动docker容器时,触发payload。

6.成功反弹shell。

0x06 参考

https://thinkycx.me/2019-05-23-CVE-2019-5736-docker-escape-recurrence.html
https://www.4hou.com/vulnerable/16361.html
https://github.com/Frichetten/CVE-2019-5736-PoC

docker逃逸漏洞复现 cve-2019-5736相关推荐

  1. docker 查看容器磁盘大小_软件安全 : Docker逃逸详解

    前言 在虚拟化技术日益成熟的今天,Docker作为必须使用的一项服务,它的安全性尤为重要.今天,我们来一起学习Docker最大的安全威胁--逃逸技术. Docker是什么 Docker 是一个开源的应 ...

  2. docker 关闭所有容器_软件安全 : Docker逃逸详解

    前言 在虚拟化技术日益成熟的今天,Docker作为必须使用的一项服务,它的安全性尤为重要.今天,我们来一起学习Docker最大的安全威胁--逃逸技术. Docker是什么 Docker 是一个开源的应 ...

  3. 心脏出血漏洞复现(CVE-2014-0160)

    心脏出血漏洞复现(CVE-2014-0160) 环境搭建 漏洞复现 参考文章 环境搭建 启动docker systemctl start docker 获取vulhub git clone --dep ...

  4. 宿主机进程挂载到容器内_迄今为止最严重的容器逃逸漏洞:Docker cp命令漏洞分析(CVE201914271)...

    摘要 在过去几年中,我们在各种容器平台(包括Docker.Podman和Kubernetes)中发现了copy(cp)命令中存在多个漏洞.其中,迄今为止最严重的的一个漏洞是在今年7月被发现和披露的.然 ...

  5. 【从零复现CVE漏洞】Tenda 路由器栈溢出复现(CVE-2018-18708)

    1 漏洞概述 从搜索引擎中搜索一下CVE会有很多提供CVE索引的网站,我们简要的看一下这个CVE的描述. An issue was discovered on Tenda AC7 V15.03.06. ...

  6. docker kali安装mysql_kali安装docker(有效详细的教程) ——vulhub漏洞复现 001

    前记: 博主有着多次安装docker的丰富经验,曾经为了在kali成功安装docker花费不少时间.在kali2016.3一直到最新的kali2019.4都通吃!所以跟着下面的步骤走,绝对不会出错.( ...

  7. Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现 kali docker

    Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现 漏洞环境搭建 漏洞复现 反弹shell 题外话1 题外话2 影响版本:Apache Shiro <= 1.2.4 漏洞产生 ...

  8. CVE(2017-15715、2021-41773、2021-40438)漏洞复现

    仅用于学习参考,不要贪玩哦(*^▽^*) 目录 CVE-2017-15715 漏洞介绍 漏洞复现 CVE-2021-41773 漏洞介绍 漏洞复现 CVE-2021-40438 漏洞介绍 漏洞复现 一 ...

  9. 22岁精神小伙居然利用 Linux 内核漏洞实现 Docker 逃逸

    1 前言 Docker是时下使用范围最广的开源容器技术之一,具有高效易用等优点.由于设计的原因,Docker天生就带有强大的安全性,甚至比虚拟机都要更安全,但如此的Docker也会被人攻破,Docke ...

最新文章

  1. 2022-2028年中国电子陶瓷行业深度调研及投资前景预测报告
  2. 改进YOLOv3 | IA-YOLO让恶劣天气的目标检测起飞了!!!
  3. Linux中为wget命令设置代理
  4. 计算机系统字的描述性定义,CTCS系统11CTCS系统描述定义
  5. [html] 请问60*80的canvas占多少内存?你是怎么计算的?
  6. 建网站如何选择好用的网站源码程序
  7. NYOJ-背包问题(贪心)
  8. Dockerfile怎么创建镜像
  9. Ubuntu18 安装yum
  10. 血的教训!千万别在生产使用这些 redis 指令
  11. Keil v5安装和使用
  12. GBase 8s 管理员常用命令
  13. PMP证书含金量再次提升,纳入北京工作居住证办理范围
  14. IT风险管理研究框架
  15. 固定资产管理系统能给行政和IT人员带来什么?
  16. 建设数据中心机房主要看这几点,否则被定为劣质机房!!!
  17. apple store 爬虫
  18. [历年IT笔试题]2014京东校园招聘-软件开发笔试题
  19. 什么是机器视觉? 和计算机视觉有什么区别?
  20. git配置姓名和邮箱

热门文章

  1. Kong APIGW — v.s. Apache APISIX
  2. Go 语言编程 — 逻辑控制语句
  3. 用 Flask 来写个轻博客 (8) — (M)VC_Alembic 管理数据库结构的升级和降级
  4. RJ-45接口连接线、MDI/MDIX接口
  5. Ogre 2011-11-29
  6. Linux的shell scripts
  7. linux服务器的日志管理
  8. ElasticSearch 组合过滤器
  9. com关于IUnknown接口
  10. svn导出文件进行比较