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

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

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

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

工具目录

分类

查看所有分类
Loading categories
sudoinjection — Sudo本地权限提升 CVE-2025-32463(适用于shell不稳定无法生成新的root shell的情况) | Kitploit
工具/GitHubGitHub/mikivirus0/sudoinjection
权限提升漏洞分析漏洞利用CTF渗透测试学习与教育二进制利用实验室与实践
GitHubmikivirus0/sudoinjection

sudoinjection

Sudo本地权限提升 CVE-2025-32463(适用于shell不稳定无法生成新的root shell的情况)

查看仓库
21年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-32463:通过 sudo -R NSS 注入实现本地权限提升

概述

此 PoC 演示了在 Linux 系统上通过滥用 sudo -R 选项并结合自定义 NSS 模块实现的本地权限提升。它针对漏洞 CVE-2025-32463,该漏洞源于在 chroot 环境下对 nsswitch.conf 和 NSS 共享库的不安全处理。

本 PoC sudo2root 改编自原始技术,通过编译一个自定义 NSS 模块,利用 constructor 属性提升权限,并在 /usr/local/bin/.suidshell 放置一个 setuid root shell。


漏洞详情

  • 漏洞:对 sudo 的 -R chroot 标志的输入验证不当及不安全使用。
  • 影响:拥有 sudo 访问权限的本地攻击者可以以 root 身份执行任意代码,打破容器和用户隔离。
  • 根本原因:
    • sudo -R 更改根目录,但不会降低权限或净化环境。
    • NSS 模块甚至从该新根目录中攻击者可控的路径加载。
  • 利用策略:
    1. 创建一个伪造的根文件系统,包含恶意的 nsswitch.conf 和自定义 libnss_* 共享对象。
    2. 诱使 sudo 加载攻击者控制的 NSS 库。
    3. 共享对象在加载时(通过 __attribute__((constructor)))执行代码,放置一个 setuid root shell 并提升权限。

PoC 概述

关键组件:

  1. sudo2root.c – 恶意 NSS 模块:

    • 使用一个构造函数,该函数:
      • 通过 setreuid(0,0) 和 setregid(0,0) 获得 root 权限
      • 编写一个用于 root shell 的小型 C 程序
      • 用 gcc 编译它
      • 设置正确的 SUID 权限
  2. Bash 利用脚本:

    • 准备伪造的 chroot,包含:
      • etc/nsswitch.conf
      • 自定义 NSS 模块 libnss_/sudo2root1337.so.2
    • 通过以下命令启动利用:
      root@kitploit:~
      sudo -R sudo2root sudo2root
      
  3. Setuid Shell:

    • 写入至:/usr/local/bin/.suidshell
    • 执行时保留 root 权限:
      root@kitploit:~
      /usr/local/bin/.suidshell id
      

用法

root@kitploit:~
chmod +x sudoinject.sh
./sudoinject.sh

利用完成后,运行:

root@kitploit:~
/usr/local/bin/.suidshell
whoami  # => root

文件结构

root@kitploit:~
sudoinject.sh                 # 主利用脚本
libnss_/sudo2root1337.so.2   # 恶意 NSS 模块(已编译)
sudo2root/etc/nsswitch.conf  # 指向伪造模块的自定义 nsswitch
/usr/local/bin/.suidshell    # 最终的 setuid root shell

技术概述:

利用 sudo -R:

  • sudo 的 -R <dir> 标志会在执行命令前更改根目录。
  • 如果该目录包含自定义的 nsswitch.conf,其中包含 passwd: /libnss_<name>.so,那么 sudo 会在降低权限之前加载它。
  • 该行为允许以 root 身份执行任意代码。

NSS 模块执行:

  • 编译共享对象的方式如下:

    root@kitploit:~
    gcc -shared -fPIC -Wl,-init,exploit_constructor -o libnss_/sudo2root1337.so.2 sudo2root.c
    
  • 构造函数在 main() 逻辑之前运行。

  • 创建并编译一个 suid shell,包含:

    root@kitploit:~
    setreuid(0,0); setregid(0,0); execl("/bin/bash", "bash", NULL);
    
  • 通过以下命令设置权限:

    root@kitploit:~
    chown 0:0 .suidshell && chmod 4755 .suidshell
    

截图(PoC)

PoC 截图 PoC 截图


致谢

  • 原始 PoC 启发:pr0v3rbs/CVE-2025-32463_chwoot
  • 利用代码改编和增强者:MikiVirus

📢 免责声明

此代码仅供教育目的使用。在非您拥有或未经明确许可的系统上未经授权使用此代码是非法且不道德的。请始终在进行安全测试前获得适当授权。

下载工具