Docker Socket 容器逃逸复现
一、原理概述 Docker Socket(/var/run/docker.sock)是 Docker 守护进程与客户端通信的 UNIX 套接字文件。当 Ubuntu 18.04 容器挂载该文件时,容器内进程可通过 Docker API 操控宿主机 Docker 服务,进而创建挂载宿主机根目录的新容器,实现从容器到宿主机的权限逃逸。 二、环境准备(宿…
|
|
840
|
|
489 字
|
3 分钟
挂载宿主机 procfs 逃逸
一、原理剖析 (一)核心依赖:core_pattern 机制 Linux 内核借助 /proc/sys/kernel/core_pattern 文件,定义程序崩溃(core dump)时的行为规则。当该文件内容以 | 起始,剩余部分会被当作用户空间的程序或脚本执行,且执行时继承内核级权限,通常可获取宿主机 root 权限 。 (二)容器逃逸条件 特…
|
|
939
|
|
981 字
|
4 分钟
内核漏洞结合 VDSO 的 Docker 容器逃逸
一、漏洞原理与测试目标 漏洞本质:Linux 内核写时复制(COW)机制的竞争条件漏洞,允许低权限用户篡改只读内存映射(如 VDSO 虚拟动态共享对象),实现权限提升。 Docker 逃逸逻辑:容器与宿主机共享内核,通过特权容器突破隔离,利用漏洞篡改宿主机 VDSO 内存,获取宿主机 root 权限。 测试目标:通过scumjr/dirtycow-…
|
|
831
|
|
340 字
|
2 分钟
Docker 特权模式逃逸
特权模式逃逸原理与前提 核心原理 当 Docker 容器以 --privileged 模式启动时,容器内的 root 用户获得与宿主机 root 几乎等同的权限,可直接访问宿主机设备、挂载磁盘分区,绕过 Namespace 和 Cgroup 隔离,实现对宿主机文件系统的完全控制,进而通过多种方式逃逸获取宿主机权限。 前提条件 容器以特权模式启动:d…
|
|
498
|
|
690 字
|
3 分钟
Docker 容器逃逸方法检测
一、判断是否为容器环境 通过检查 /proc/1/cgroup 中是否包含 docker 相关标识,判断是否处于 Docker 容器环境: cat /proc/1/cgroup | grep -qi docker && echo "Is Docker" || echo "Not Docker" 输出 Is Docker :当前为…
|
|
941
|
|
680 字
|
3 分钟
快速识别虚拟主机、Docker 和 K8s 集群环境
一、基础概念 虚拟主机 定义:一台物理服务器上运行的多个虚拟实例,各有独立环境和资源,常用于 Web 托管。 注意:与 “虚拟机(VM)” 不同,虚拟机是包含操作系统、软件和硬件的完整虚拟化系统,可运行多个操作系统实例。 Docker 一种容器化虚拟化技术,将应用及依赖打包成独立轻量环境,支持快速部署、高效运行和跨平台。当容器以特权模式(--pri…
|
|
507
|
|
889 字
|
4 分钟
CVE-2016-5195(脏牛漏洞)
一、漏洞原理与影响范围 1. 核心机制 写时复制(COW)缺陷:内核在处理只读内存页写入时,因竞争条件导致未正确创建新副本,直接修改原始文件。 提权逻辑:通过修改 /etc/passwd 等关键文件,注入高权限用户或篡改现有用户权限。 2. 影响范围 内核版本:2.6.22 ~ 4.8.3(2016 年 10 月 18 日修复)。 环境要求:需手动…
|
|
941
|
|
504 字
|
3 分钟
自定义 Zsh 提示符:将「㉿」替换为「→」的简单教程
终端提示符是我们与命令行交互时最常看到的元素之一,一个简洁醒目的提示符能让命令行操作更具愉悦感。如果你想把 Zsh 默认的「㉿」提示符换成更具方向感的「→」,只需简单几步就能完成,下面就来详细介绍操作过程。 第一步:打开 Zsh 配置文件 Zsh 的所有个性化配置都保存在用户主目录下的 .zshrc 文件中,我们需要先通过编辑器打开它。这里以 vi…
|
|
131
|
|
558 字
|
3 分钟
CentOS 7 防火墙与 SELinux 关闭指南
在 CentOS 7 系统中,防火墙(firewalld)和 SELinux 是重要的安全组件。在测试环境或特定场景下,可能需要临时或永久关闭它们以简化操作。以下是具体步骤: 一、关闭防火墙 防火墙(firewalld)的关闭分为临时关闭(重启后恢复)和永久关闭(开机不自动启动),操作如下: 查看防火墙状态 systemctl status fir…
|
|
826
|
|
394 字
|
2 分钟
第九篇:MySQL 常用工具
命令行工具 mysql(命令行客户端) 功能:执行 SQL 语句、管理数据库,是最基础的交互工具。 连接示例: mysql -u root -p -P 3306 -h localhost -u指定用户名,-p用于输入密码,-P指定端口,-h指定主机。 mysqldump(备份工具) 功能:备份数据库或表结构及数据,支持多种参数定制备份内容。 示例:…
|
|
329
|
|
329 字
|
3 分钟