首页 > 其他分享 >[docker逃逸] 使用DirtyPipe漏洞逃逸

[docker逃逸] 使用DirtyPipe漏洞逃逸

时间:2025-01-17 13:43:16浏览次数:1  
标签:宿主机 DirtyPipe 逃逸 docker CVE com

本文作者CVE-柠檬i
CSDN:https://blog.csdn.net/weixin_49125123
博客园:https://www.cnblogs.com/CVE-Lemon
微信公众号:Lemon安全

前言

本文使用代码下载链接:利用CVE-2022-0847 (Dirty Pipe) 实现容器逃逸 (github.com)

由于本人才疏学浅,本文不涉及漏洞原理,仅有复现。

本文是通过利用CAP_DAC_READ_SEARCHDirtyPipe配合覆盖宿主机文件来逃逸的。

使用runc逃逸的文章:dirtypipe-container-breakout,目前没有测试。

复现

在宿主机创建了一个掩码为400的文件:

编译利用代码:

启动docker:

docker run --rm -it -v /share:/share --cap-add=CAP_DAC_READ_SEARCH ubuntu

偏移量为1,覆盖宿主机文件的内容:

./dp /home/mark/flag.txt 1 hack~

回到宿主机看到文件被成功修改了,docker逃逸测试成功。

参考文章:

从脏管道(CVE-2022-0847)到docker逃逸 -happi0 (先知社区)

利用CVE-2022-0847 (Dirty Pipe) 实现容器逃逸 -greenhandatsjtu (github.com)

Escaping containers using the Dirty Pipe vulnerability (datadoghq.com)

标签:宿主机,DirtyPipe,逃逸,docker,CVE,com
From: https://www.cnblogs.com/CVE-Lemon/p/18674803

相关文章

  • Docker 安装 Nacos
    目录拉取nacos镜像挂载目录启动nacos并复制文件到宿主机,删除容器启动容器复制文件删除容器启动naocs语句讲解访问nacos修改配置文件进入容器内部扩展–nacos配置mysql数据库application.properties(nacos完整配日志文件)nacos-mysql(nacosmysql表)拉取nacos镜像......
  • Docker 安装 Seata
    目录创建数据库拉取Seata镜像挂载目录启动临时容器拷贝临时容器的配置至宿主机完成之后删除临时容器(过河拆桥)自定义配置Nacos配置命名空间配置文件启动Seata坑1.Nacos显示Seata服务的ip为容器内网ip导致微服务无法访问2.使用host宿主机网络3.seataThedistribu......
  • Gitbook在Docker中安装插件的方法.210603
    别光在那百度,什么先book.json添加plugin,然后在install?哥,你现在用的是docker哎,docker都启动不了,你如何gitbookinstall呢?乖乖听我的,按我的方法来!1.docker中使用npm安装插件[root@itgitbook]#dockerexecgitbooknpminstallgitbook-plugin-back-to-top-buttonnpminfo......
  • Gitbook的docker安装配置.210603
    创建目录:/gitbook/gitbook和/gitbook/html/gitbook/gitbook目录下,touch新建README.mddocker安装gitbookdockerrun--namegitbook-p4000:4000-v/gitbook/gitbook:/srv/gitbook-v/gitbook/html:/srv/htmlfellah/gitbook初始化gitbook[root@itgitbook]#d......
  • 极空间使用clouddrive2 docker挂载115(SSH版)
    极空间开通SSH了,因此可以用clouddrive2将115挂载到极空间并在“个人空间”中看到了。按照官方教程,用docker-compose或者dockercli命令进行部署即可。具体部署步骤极空间打开SSH(系统设置-远程协助/SSH)。使用SSH工具如XTerminal等进入SSH,端口为开启SSH时设置的端口,账号密码为......
  • 极空间使用clouddrive2 docker挂载115(SSH版)
    极空间开通SSH了,因此可以用clouddrive2将115挂载到极空间并在“个人空间”中看到了。按照官方教程,用docker-compose或者dockercli命令进行部署即可。具体部署步骤极空间打开SSH(系统设置-远程协助/SSH)。使用SSH工具如XTerminal等进入SSH,端口为开启SSH时设置的端口,账号密码为......
  • Docker 安装 Redis
    目录1、下载镜像文件2、创建实例并启动3、使用redis镜像执行redis-cli命令连接配置文件Docker集群设置1、脚本:创建6份配置文件+启动6份Redis2、建立集群,进入一个master节点【每个节点1个副本】3、测试集群1、连入集群,要加-c2、设置一些值查看有什么不同【重定向......
  • Docker 安装 RabbitMQ
    目录1、下载镜像文件2、创建实例并启动创建Jenkins工作目录创建实例并启动3测试Docker集群设置集群形式1.普通模式2.镜像模式搭建镜像集群1.创建文件夹2.启动3个rabbitmq3.节点加入集群1.进入个节点完成初始化2.将节点2和3加入到集群3.访问192.168.56.131:1567......
  • Docker 安装 Oracle
    目录oracle10g1、拉取镜像2、重新tag镜像3、启动容器4、进入容器5、修改oracle相关配置oracle11g1、拉取镜像2、创建数据目录并设置权限3、启动容器4、进入容器5、修改oracle相关配置oracle12c1、拉取镜像2、创建数据目录并设置权限3、启动容器4、进入容器5、修改oracle相......
  • [docker逃逸] notify_on_release 逃逸
    本文作者CVE-柠檬iCSDN:https://blog.csdn.net/weixin_49125123博客园:https://www.cnblogs.com/CVE-Lemon微信公众号:Lemon安全分析1.简介Cgroups(ControlGroups)是Linux内核的功能,用于限制、隔离和监控进程组的资源使用。每个Cgroup都有一个release_agent文件和一个no......