合规与安全声明
以下内容仅用于获得系统所有者的明确授权的安全测试、审计与加固演练,严禁用于未授权的渗透或攻击。任何未经授权的提权行为都可能违反当地法律并造成损害与损失。
标准流程与信息收集
- 明确测试边界与授权范围,准备可回滚与可审计的操作方案。
- 系统识别与版本确认:
- 查看内核与发行版:uname -a、cat /etc/os-release、cat /etc/issue。
- 查看当前用户与组:id、groups。
- 快速枚举脚本与本地提权建议器:
- Linux Exploit Suggester 系列(LES、LES2):基于内核/发行版匹配潜在本地提权漏洞与EXP。
- 辅助脚本与手工命令结合,形成“版本→潜在漏洞→验证路径”的闭环。
常见本地提权路径与要点
- 内核漏洞提权
- 思路:确认内核与发行版→匹配历史本地提权漏洞→在受控环境验证EXP稳定性→评估对生产系统的风险(可能导致崩溃/数据损坏)。
- 代表案例:
- Dirty Cow(CVE-2016-5195):影响广泛,低权限可写只读映射,示例命令:gcc -pthread dirty.c -o dirty -lcrypt;./dirty(仅在授权环境复现)。
- Dirty Pipe(CVE-2022-0847):影响Linux 内核 ≥ 5.8,在5.16.11/5.15.25/5.10.102起修复;可稳定覆写可读文件(如**/etc/passwd**或SUID程序),示例:gcc -o dirtypipez dirtypipez.c;./dirtypipez /usr/bin/su。
- 配置错误类提权(无需内核漏洞)
- SUID 滥用:find / -perm -u=s -type f 2>/dev/null;若发现find等SUID程序,可:find /tmp -exec /bin/sh -p ; -quit;或利用bash -p、vim等SUID程序执行特权命令。
- sudo 配置不当:sudo -l 若见 NOPASSWD: ALL 或弱规则,可直接:sudo /bin/bash 或 sudo su -。
- 计划任务(Cron):cat /etc/crontab、crontab -l、ls -la /etc/cron*;若脚本可写,注入提权命令;若任务使用tar等含通配符的命令,可构造“–checkpoint=1 --checkpoint-action=exec=/bin/sh”实现命令注入。
- NFS no_root_squash:showmount -e ;挂载后在共享目录创建SUID bash:cp /bin/bash /mnt/shell && chmod u+s /mnt/shell;目标机执行 /mnt/shell -p 获取root。
- Docker 组:id | grep docker;若用户在docker组,可:docker run -v /:/mnt -it alpine chroot /mnt bash 直接获得root上下文。
近期需重点关注的提权风险
- sudo 本地提权漏洞(CVE-2025-32462、CVE-2025-32463)
- 影响版本:sudo 1.9.14–1.9.17(CVE-2025-32463,chroot相关)与 1.8.8–1.8.32、1.9.0–1.9.17(CVE-2025-32462,host相关)。
- 修复:升级至 sudo ≥ 1.9.17p1;临时缓解(无法立即升级时)可注释含chroot/host的高危规则并限制相关命令,但强烈建议尽快升级。
- PAM 与 udisks2 组合链(CVE-2025-6018、CVE-2025-6019)
- 影响与链条:CVE-2025-6018 通过 PAM user_readenv=1 导致 SSH 普通用户可获 allow_active;CVE-2025-6019 借助 udisks2/libblockdev 在挂载恶意 XFS 镜像时缺失 nosuid/nodev 限制,获得SUID-root Shell。
- 修复:更新 PAM/udisks2/libblockdev;将 Polkit 的 org.freedesktop.udisks2.modify-device 从 allow_active 调整为 auth_admin;审计 /etc/pam.d/* 中 pam_env 配置。
防护与检测清单
- 及时更新:内核、sudo、PAM、udisks2、libblockdev 与容器基础镜像,遵循发行版安全公告与及时补丁策略。
- 最小权限:
- 谨慎授予SUID/SGID;定期审计 find / -perm -u=s -type f 2>/dev/null 的结果。
- 精细化 /etc/sudoers 与 /etc/sudoers.d/,避免 NOPASSWD: ALL 与高危命令(如 chroot/host)的过度授权;变更后用 visudo -c 校验。
- 加固计划任务与共享服务:
- Cron 脚本与目录采用最小权限与完整性校验;避免通配符直接拼接命令,必要时使用绝对路径与受限环境。
- NFS 共享默认启用 root_squash,严禁在生产环境开启 no_root_squash。
- 容器与虚拟化:避免将普通用户加入 docker 组;容器镜像内移除不必要的 SUID 二进制。
- 监测与审计:集中收集与分析 /var/log/auth.log、sudo 日志与系统调用审计(如 auditd),对异常 sudo、可疑 SUID 文件、异常挂载与定时任务变更设置告警。