Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/mrchucu1/cve-2022-0847-docker
权限提升容器安全漏洞分析漏洞利用学习与教育二进制利用实验室与实践
GitHubmrchucu1/cve-2022-0847-docker

CVE-2022-0847-Docker

Docker 漏洞利用

查看仓库
12351年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Dirty Pipe (CVE-2022-0847):在Docker中的动手漏洞利用演示

CVE-2022-0847 Docker C Language

本仓库提供了一个自包含、交互式的Docker环境,可安全演示和分析 "Dirty Pipe" 权限提升漏洞。它旨在作为安全专业人士的教育工具,帮助在受控环境中理解关键内核级漏洞的机制。


1. 漏洞解析:什么是 Dirty Pipe?

Dirty Pipe 是 Linux 内核(影响 5.8 及更高版本)中发现的一个严重漏洞。它允许本地无权限用户覆盖任意只读文件中的数据。

其影响极为严重:通过覆盖像 /etc/passwd 或 SUID 二进制文件这样的敏感文件,攻击者可以轻松将权限提升至 root,从而完全控制系统。该漏洞之所以特别危险,是因为它绕过了标准的文件权限检查——这是 Linux 中一项基础的安全控制机制。

2. 项目架构:使用 Docker 构建安全实验环境

本项目利用 Docker 创建一个安全、隔离且刻意存在漏洞的环境。这使得任何人都可以研究该漏洞,而无需危及自身的主机系统。

主要组件包括:

  • Dockerfile:定义了我们易受攻击容器的蓝图。它使用一个已知受到 Dirty Pipe 影响的较旧基础镜像(debian:bullseye-20210927-slim),并自动设置环境。
  • exploit.c:实现漏洞利用逻辑的 C 代码,基于 Max Kellermann 的原始概念验证。
  • Makefile:一个简单的 makefile,用于在容器内将 C 代码编译为可执行二进制文件。

3. 动手演示:从普通用户到 root

本引导将指导你构建环境并执行漏洞利用。

前提条件: 你的系统上必须已安装并运行 Docker。

步骤 1:克隆仓库

打开终端,克隆本项目。

root@kitploit:~
git clone https://github.com/mrchucu1/CVE-2022-0847-Docker.git
cd CVE-2022-0847-Docker

步骤 2:构建易受攻击的 Docker 镜像

使用 docker build 命令创建容器镜像。Dockerfile 将处理所有依赖关系并编译漏洞利用代码。

root@kitploit:~
docker build -t dirty-pipe-demo .

步骤 3:运行容器并执行漏洞利用

现在,以交互模式运行容器。--rm 标志确保容器在退出时被删除,-it 则为你提供一个交互式终端。

root@kitploit:~
docker run --rm -it dirty-pipe-demo

你将进入容器内的一个 shell,身份为无权限用户(hacker@...:/$)。

现在,执行预编译的漏洞利用程序:

root@kitploit:~
# 你当前是一个无权限用户。
# 你的提示符看起来像这样:hacker@<container_id>:/$
#
# 现在运行漏洞利用...
./exploit

成功! 漏洞利用程序覆盖了一个 SUID 二进制文件,从而为你提供 root shell。你的终端提示符将从 $ 变为 #,表示你现在拥有 root 权限。

root@kitploit:~
# 漏洞利用已成功。
# 你的提示符现在是 root shell: # whoami
root
#

4. 关键安全要点与学习收获

本项目不仅仅是运行一个脚本;它是对我作为云安全工程师工作中至关重要的安全原则的实际演示:

  • 内核漏洞绕过程序安全层: 这表明即使文件权限设置完美,内核漏洞也能破坏整个操作系统的安全模型,证明了纵深防御的必要性。
  • 容器安全即主机安全: 它提供了切实的证据,证明容器与宿主机共享内核。在容器内执行的内核漏洞可能导致完全逃逸并危及宿主机。这突显了在生产环境中使用 seccomp 配置文件、gVisor 或容器优化操作系统的重要性。
  • 补丁管理的关键性: 这是一个生动的例子,说明及时的内核更新在任何生产环境(尤其是容器宿主机)中都是不可协商的安全实践。
  • 理解攻击面: 通过构建漏洞利用环境,我更加深刻地认识到攻击者如何分析系统,并利用内存管理中的微小缺陷(如管道和页面缓存)来实现对系统的完全控制。

免责声明

本项目及其代码仅供教育和研究目的使用。请勿在任何未经明确授权的系统上尝试使用此漏洞利用程序。

下载工具