docker及容器技术
文章平均质量分 83
docker 及容器原理
逃逸
inquisiter
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
gvisor实现的容器中启动新内核
gvisor gvisor是google发布的安全容器。 gVisor 工作的核心,在于它为应用进程(用户容器),启动了一个名叫 Sentry 的进程。 而 Sentry 进程的主要职责,就是提供一个传统的操作系统内核的能力,即:运行用户程序,执行系统调用。所以说,Sentry 并不是使用 Go 语言重新实现了一个完整的 Linux 内核,而只是一个对应用进程“冒充”内核的系统组件。(这段是抄的) 作为安全容器,利用容器中的内核来隔离大部分内核攻击,确实是一个不错的想法,然而这个新内核属于定制内核,估计很多原创 2021-08-02 17:27:34 · 919 阅读 · 0 评论 -
mnt namespace隔离文件原理
mnt namespace的核心数据结构 如图一. 是mnt_namespace隔离文件的核心数据结构(内核3.10.0)。通过对open代码研究,除了对chroot的current->fs->root进行的处理。并没有其他对文件目录的其他修改。那么此处产生的问题在于如何在不同mnt中通过相同的文件名访问位于磁盘不同位置的文件。 mount 的思考 这要从mount格式化挂载目录开始说起。每个文件系统对应一个super_block。格式化分区意味着用对应的sb dentry innode组织了原创 2021-01-23 16:39:18 · 1357 阅读 · 0 评论 -
Docker及其使用
一 . 启动容器服务 systemctl start docker.service 二.下载CentOS7 镜像 这个镜像有点兼容问题 [root@wxtest1607 ~]# docker pull centos:7.2.1511 [root@wxtest1607 lixr]# docker images REPOSITORY TAG ...原创 2019-06-24 10:13:33 · 338 阅读 · 0 评论 -
CVE-2018-18955user_name_space空间越权漏洞
https://www.exploit-db.com/exploits/45886 漏洞原理 这个洞前前后后看了好几遍,感觉是明白了。 大概是在用户命名空间中NS1创建root用户,然后创建嵌套命名空间NS2。 在NS2中映射大于5个id 0 0 1 1 1 1 2 2 1 3 3 1 4 4 1 5 5 995 两个原因造成越权。 1.sort_idmaps会复制forward map的映射队...原创 2020-04-20 12:06:14 · 1297 阅读 · 0 评论 -
namespace的进一步的学习认知及docker逃逸
35C3 CTF 这里参照了https://www.secrss.com/articles/15269 题目大体意思是,利用nsjail创建沙箱nsa,映射了user到root的ns空间权限。/tmp/flag被以只读挂载到/flag, procfs挂载到读写。原因就是,子ns空间对文件的操作需要重新挂载文件,但权限只能是父进程ns的资源。也就是说,新的沙箱其实可以访问 /flag文件。 但之后有个namespace的文件,执行后会将新进程加入到nsa,并降低了权限到1。 [lier@localhost原创 2020-12-11 15:22:34 · 711 阅读 · 0 评论 -
linux user namespace 和cgroup
makenod 创建设备文件 应用程序与系统驱动交互的文件中间形式,体现了linux一切皆文件的思想。 mknod 的标准形式为: mknod DEVNAME {b | c} MAJOR MINOR 1,DEVNAME是要创建的设备文件名,如果想将设备文件放在一个特定的文件夹下,就需要先用mkdir在dev目录下新建一个目录; 2, b和c 分别表示块设备和字符设备: b表...原创 2020-03-02 12:06:06 · 717 阅读 · 0 评论
分享