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

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

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

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

工具目录

分类

查看所有分类
Loading categories
RootRemover — 利用 CVE-2026-31431 临时移除 root 密码 | Kitploit
工具/GitHubGitHub/st4rburn/rootremover
权限提升漏洞分析漏洞利用后渗透利用渗透测试红队
GitHubst4rburn/rootremover

RootRemover

利用 CVE-2026-31431 临时移除 root 密码

查看仓库
23个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

[!WARNING] 仅限在您拥有或已获授权测试的系统上使用。

RootRemover (CVE-2026-31431)

临时移除 root 密码,利用 CVE-2026-31431 在不获知当前用户密码的情况下,实现与架构无关的提权至 root。

请负责任地使用,仅在您获授权测试的系统上使用。此方法是否受您的系统支持会有所不同,但在我测试过的每个 Debian 衍生版上都有效。

本 PoC 的基础原理本质上是将 /etc/passwd 中您的 UID 替换为全 0,从而有效地赋予您 root 权限。而本方法改为移除 root 的密码,因此当您运行 su 时可立即获得 root。这样可保持您的用户不变以维持稳定性,但缺点是机器上任何用户都能在清理之前提权。由于不涉及二进制修改,此方法也应适用于所有架构(已在 Aarch64 和 x64 上测试)。

使用方法

root@kitploit:~
python exploit.py [ --shell | --clean | --noclean ]

不带参数运行时,程序会执行对 /etc/passwd 的修改,然后将其还原。

  • --noclean:完成后不还原所做的修改。
  • --clean:仅清理上次运行留下的修改,不运行漏洞利用程序。
  • --shell:不进行清理,但在运行漏洞利用程序后通过 su 生成一个 root shell。
图片

会修改什么?

图片

改为

图片

删除表示密码存储在 /etc/shadow 中的 'x' 后,该用户将被视为根本没有密码,从而可以轻松登录。

何时使用此工具

在我撰写本文时,CopyFail 只有广为人知的 PoC,一个会覆盖 SUID 可执行文件,另一个会将您的用户 UID 替换为零。如果您正在对系统进行测试,这两者都有相当不同的用例。SUID 覆盖需要针对系统架构定制的 shellcode,而修改 UID 需要您使用当前用户的密码重新认证,而您可能并不知道该密码。当这些要求成为障碍时,RootRemover 通常可以派上用场。

此工具面向的是您获得一个 nologin 用户(如 www-data)的 shell 的情况,而非您已知密码或充分了解架构足以准备 shellcode 的机器。

此方法的优点:

  • 无需知道当前用户密码
  • 与架构无关
  • 无论您当前的 UID 是什么都有效
  • 保持您的用户 UID 不变(保证其他任务在系统中以您的用户运行时更稳定,避免意外以 root 身份写入文件)
  • 无需向 SUID 二进制文件写入 shellcode,避免给需要它们的程序带来问题

此方法的缺点:

  • root 的密码字段不能使用 '*LK*' 或 '*NP*'(可以通过链式写入修复,只是我还没有时间实现)
  • 通过 su 的命令行更容易识别提权(无参数始终表示 root,而 UID 补丁 PoC 在日志中看起来只是切换到您自己的用户)
  • 任何人都可以以 root 身份登录,而在之前的版本中您仍然需要自己的密码
  • 似乎主要适用于基于 Debian 的发行版;PAM 规则的差异以及系统是先读取 /etc/passwd 还是 /etc/shadow,都会影响此方法在某个操作系统上是否有效

致谢

实际漏洞利用代码来自 rootsecdev 的仓库,我主要基于上述原因更改了写入的字节。

下载工具