自动化 Metasploit 后渗透模块,针对 CVE-2026-31431("Copy Fail")。利用 Linux 内核 AF_ALG 子系统中的确定性逻辑缺陷,通过安全地破坏共享页缓存(RAM)中的 setuid 二进制文件(无需修改磁盘上的文件),实现本地权限提升(LPE)至 root。
一个自动化的Metasploit后渗透利用模块,利用 CVE-2026-31431(俗称 "Copy Fail")在易受攻击的Linux内核(版本 4.14 到 6.19.12)上执行本地权限提升(LPE)。
该模块利用了Linux内核加密子系统(AF_ALG 接口的 algif_aead 模块)中的逻辑缺陷。由于不当的就地内存优化,非特权本地用户可以使用 splice() 系统调用将只读系统二进制文件(如 /usr/bin/su 或 /usr/bin/sudo)映射到 AF_ALG 套接字中,并直接在系统页面缓存(RAM)中执行受控的4字节覆盖。
通过破坏内存中setuid二进制文件的特定权限检查指令,该模块绕过了访问控制,并产生一个root shell,而无需修改磁盘上的实际文件。
shell 和 meterpreter 会话register_file_for_cleanup 自动清理载荷4.14 到 6.19.12git clone https://github.com/adityasingh108/CVE-2026-31431-Metasploit-exploit
cd CVE-2026-31431-Metasploit-exploit
自定义Metasploit模块应放置在本地用户模块路径下:
~/.msf4/modules/
如果目录结构不存在,请创建所需的目录结构:
~/.msf4/modules/
└── post/
└── linux/
└── escalation/
将 copy_fail.rb 文件复制到以下目录:
~/.msf4/modules/post/linux/escalation/
最终结构:
~/.msf4/modules/
└── post/
└── linux/
└── escalation/
└── copy_fail.rb
启动Metasploit控制台:
msfconsole
重新加载所有模块:
reload_all
加载利用模块:
use post/linux/escalation/copy_fail
show options
set SESSION 1
run
或
exploit
msfconsole
use post/linux/escalation/copy_fail
show options
set SESSION 1
run
模块针对易受攻击的Linux内核:
4.14 <= 内核版本 <= 6.19.12
本项目仅供教育目的和授权的安全研究使用。未经授权对您不拥有或没有明确测试权限的系统进行使用,可能违反相关法律法规。
请负责任地使用。