![](https://img-blog.csdnimg.cn/20210111140450523.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
docker及容器技术
文章平均质量分 83
docker 及容器原理
逃逸
inquisiter
这个作者很懒,什么都没留下…
展开
-
gvisor实现的容器中启动新内核
gvisorgvisor是google发布的安全容器。gVisor 工作的核心,在于它为应用进程(用户容器),启动了一个名叫 Sentry 的进程。 而 Sentry 进程的主要职责,就是提供一个传统的操作系统内核的能力,即:运行用户程序,执行系统调用。所以说,Sentry 并不是使用 Go 语言重新实现了一个完整的 Linux 内核,而只是一个对应用进程“冒充”内核的系统组件。(这段是抄的)作为安全容器,利用容器中的内核来隔离大部分内核攻击,确实是一个不错的想法,然而这个新内核属于定制内核,估计很多原创 2021-08-02 17:27:34 · 631 阅读 · 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 · 1001 阅读 · 0 评论 -
Docker及其使用
一 . 启动容器服务systemctl start docker.service二.下载CentOS7 镜像这个镜像有点兼容问题[root@wxtest1607 ~]# docker pull centos:7.2.1511[root@wxtest1607 lixr]# docker imagesREPOSITORY TAG ...原创 2019-06-24 10:13:33 · 282 阅读 · 0 评论 -
CVE-2018-18955user_name_space空间越权漏洞
https://www.exploit-db.com/exploits/45886漏洞原理这个洞前前后后看了好几遍,感觉是明白了。大概是在用户命名空间中NS1创建root用户,然后创建嵌套命名空间NS2。在NS2中映射大于5个id0 0 11 1 12 2 13 3 14 4 15 5 995两个原因造成越权。1.sort_idmaps会复制forward map的映射队...原创 2020-04-20 12:06:14 · 1133 阅读 · 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 · 528 阅读 · 0 评论 -
linux user namespace 和cgroup
makenod创建设备文件 应用程序与系统驱动交互的文件中间形式,体现了linux一切皆文件的思想。mknod 的标准形式为: mknod DEVNAME {b | c} MAJOR MINOR1,DEVNAME是要创建的设备文件名,如果想将设备文件放在一个特定的文件夹下,就需要先用mkdir在dev目录下新建一个目录;2, b和c 分别表示块设备和字符设备:b表...原创 2020-03-02 12:06:06 · 569 阅读 · 0 评论