2025年docker守护进程没有启动(docker 守护进程)

docker守护进程没有启动(docker 守护进程)目录 前言 1 环境搭建 2 docker 环境判断 2 1 dockerenv 文件 2 2 查看 proc 1 cgroup 或 proc self cgroup 文件中是否由 docker 关键字 3 容器逃逸 3 1 判断当前 docker 环境是不是在特权模式下运行 3 2 nbsp 挂载磁盘 3 3 判断当前权限 3 3 切换工作目录 3 4 弹 shell 3 4 1 定时任务 3 4 2 切换到宿主机环境弹 4 参考 结语 吐槽 Docker 容器逃逸



目录

前言

1. 环境搭建

2. docker环境判断

2.1 .dockerenv文件

2.2 查看/proc/1/cgroup或/proc/self/cgroup文件中是否由docker关键字

3. 容器逃逸

3.1 判断当前docker环境是不是在特权模式下运行

3.2  挂载磁盘

3.3 判断当前权限

3.3 切换工作目录

3.4 弹shell

3.4.1 定时任务

3.4.2 切换到宿主机环境弹

4. 参考

结语


吐槽:Docker容器逃逸?啊什么,听都没听过!也是被拷打了一下,于是决心在网上找资料学一下这个“新鲜东西”。

正文:为什么需要docker容器逃逸呢?怎么个逃逸法?第一个问题,相信大家都有过docker搭建网站,docker搭建网站方便快捷,也是比较受欢迎的一种建站方式。对我们做渗透的来说,我们的目标是拿下服务器,如果说在渗透测试过程中拿下的站点是docker站,这个时候就需要从docker中“逃出来”,拿下宿主机(服务器)。第二个问题,主要是磁盘挂载、定时任务弹shell。下文会详细介绍。

我准备了两台kali:kali2024(192.168.81.128),kali2023(192.168.81.129)

128这台机器用来搭建docker环境,129这台机器用来弹shell(攻击者主机)

用下面的命令搭建docker环境

 

注意一下“--priviliged=true”这个配置,这是逃逸成功的关键,因为在特权模式下,拿到docker的最高权限可以直接通过磁盘挂载拿到宿主机的root权限

怎么判断拿下的网站是docker站呢?

一般来说,由docker搭建的环境在根目录下都会有一个.dockerenv文件,不过这是个隐藏文件,注意查看的时候使用

 

为什么查看这个文件?cgroup文件中有系统所创建的进程信息,docker本身也是一个进程,如果说是docker环境,那么这个文件中一般会有相关的docker进程信息。

没有?我不太清楚是不是操作系统的原因,kali是debian_linux,和ubuntu有点区别。我也解释一下为什么不放出在ubuntu系统下的情况做对比:docker需要配置代理才能使用,我之前弄kali的弄了好久,很麻烦!!!具体怎么配置大家自行百度,不多说了,头发要掉完了。

在容器内部执行下面的命令,从而判断容器是不是特权模式,如果是以特权模式启动的话,CapEff 对应的掩码值应该为0000003fffffffff 或者是 0000001fffffffff

 

结果如下:

用如下命令查看宿主机挂载在docker环境中的磁盘

 

创建一个 test文件夹,将/dev/sda1这个磁盘挂载到这个文件夹下

 

报错了,我之前创建过一次,直接挂载就行

又报错了,因为之前挂载过一次,我重新创建docker镜像的时侯保留了之前的记录,初次挂载是成功的

查看/etc/shadow文件

 

 

和普通用户对比就可以知道,可查看/etc/shadow文件是root权限

用以下命令切换当前工作目录

 

这条命令执行之后就从docker中逃出来了

3.4.1 定时任务

 

 失败了,需要用bash,重新创建容器,添加bash环境

 

再来

。不清楚是不是操作系统原因,看到网上成功的案例docker都是ubuntu系统下的

3.4.2 切换到宿主机环境弹

 

其实把这个命令写到定时任务也可以,弹回的也是宿主机的shell,这里就不演示了。前面的定时任务是在docker环境下创建的,理论上是可以直接弹宿主机的shell到攻击者主机,但是我在尝试的时候失败了,大家如果知道具体原因可以评论或私信我,感谢!

Bash重定向在创建容器时不起作用:"can't create /dev/tcp/<ip>/<port>:nonexistent directory“-腾讯云开发者社区-腾讯云

Docker逃逸 - hello_bao - 博客园

https://segmentfault.com/a/1190000045259931

Docker容器逃逸-CSDN博客

如何快速判断是否在容器环境_如何确定是不是处于docker容器-CSDN博客

本文是笔者对docker容器逃逸漏洞的简单探究,文中有很多细节没有介绍到位,如果大家有兴趣可以更深入了解。最后希望这篇文章对你有所帮助,如果问题欢迎评论区交流。

编程小号
上一篇 2025-02-24 16:01
下一篇 2025-03-04 23:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/72102.html