首页/系统与基础设施/自动化运维速查/提权路径的最小化设计
排障与安全50 条

提权路径的最小化设计

提权路径的最小化设计要同时压缩路径数量与范围:排查提权规则、计划任务、服务定义、程序查找顺序与特权位文件,消除「低权限可写且被高权限执行」的组合,并把路径检查纳入上线流程。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌‌​‌‌​​‌‌​‌​​‌​‌‌​‌‌​​​‌‌​​‌​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌​​​‌‌​‌‌​​​​‌​‌‌​‌‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​‌​​‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌​‌‌​​​​‌​‌‌​‌​‌‌‌​​​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

提权路径是能用脚走到的路线

从低权限到高权限,系统上真实存在的路线往往不止一条:配置好的提权规则、以高权限运行的计划任务、被高权限引用的可写脚本、可被替换的服务程序,这些都是合法可达的路径。安全评估关心的不是「有没有提权能力」,而是「有几条路、每条路的范围多大、谁能走」。最小化设计就是把路线数量与每条路线的可达范围同时压缩,并消除「低权限可写 + 高权限执行」这种组合。

基本信息

适用对象Linux 与类 Unix 主机的本地权限边界
路径来源提权规则、计划任务、服务定义、外部命令查找顺序
危险组合低权限可写但被高权限执行的文件或目录
发现手段与基线对比找新增路径,比无基线盲扫更有效
收敛目标路径数量最少、每条路径范围最小、全部可审计

常见路径来源

  • 提权规则:命令清单过宽或包含可执行其他程序的工具时,可扩展为任意命令
  • 计划任务:以高权限运行的脚本若所在目录可被低权限账号写入,等于开放提权
  • 服务定义:服务单元或启动脚本可被改写时,重启即执行任意内容
  • 程序查找顺序:高权限进程按环境变量或默认路径查找命令时,可能被同名文件替换
  • 带特权位文件:历史遗留的特权程序往往功能过强且缺少维护
  • 共享目录:被高权限读取的配置目录若可写,就能改变高权限组件的行为

路径盘点

路径盘点
find / -xdev -perm -4000 -type f 2>/dev/null | head -50   # 列出带特权位的可执行文件
sudo -l -U svcauto | head                                   # 该账号的提权规则范围
find /etc/systemd/system -name '*.service' -perm -o+w        # 可被他人改写的服务定义
find /etc/cron* /var/spool/cron -writable -type f 2>/dev/null | head  # 可写的计划任务
ls -l /etc/cron.d 2>/dev/null                               # 计划任务目录权限
awk -F: '($3==0){print $1}' /etc/passwd                     # 具备高权限的账号清单

路径与收敛方向

路径风险条件收敛方向
提权规则命令过宽或带通配按绝对路径精确列出命令
计划任务脚本所在目录可写目录权限收紧到管理员
服务定义单元文件可被改写限权并纳入变更管理
查找顺序依赖可被影响的环境变量使用绝对路径与清理环境
特权位文件功能远超当前需要移除特权位或改为受控调用
盘点结果要和基线对比:一次全量扫描能列出上百个带特权位的文件,但真正需要关心的是「最近新增了哪些」「权限变宽了哪些」。有基线后,新增路径才可能被及时注意到。
最小化路径不是一次性的清理工作:任何新上线的服务、脚本或运维工具都可能引入新路径。把路径检查纳入上线检查项,比事后定期扫描更能防止路径重新变多。

易错点

  • 只清理不设基线:路径随新服务不断新增,清理成果几个月内消失
  • 忽略可写目录:低权限可写而高权限执行是最直接的提权组合,常被漏查
  • 只看提权规则:计划任务、服务定义与程序查找顺序同样是提权路径
  • 特权位文件长期保留:历史遗留的特权程序功能过强且少有维护
  • 上线检查不含路径检查:新增服务引入的新路径无人发现,直到被利用

数据来源与参考

  • CIS 基准:Linux 本地权限与提权路径建议
  • Linux 手册页:capabilities(7)、crontab(5)
  • NIST SP 800-53:最小权限与配置管理

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/automation/privilege-escalation-minimal-path.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌‌​‌‌​​‌‌​‌​​‌​‌‌​‌‌​​​‌‌​​‌​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌​​​‌‌​‌‌​​​​‌​‌‌​‌‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​‌​​‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌​‌‌​​​​‌​‌‌​‌​‌‌‌​​​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​