服务器最小权限管理怎么排查 sudo 配置错误导致普通用户提权的漏洞

梦明大大_7021

梦明大大_7021

2026-10-16

339人浏览

原创

关键在于识别高危sudo规则:先运行sudo -l查看当前用户权限,重点关注(root) nopasswd、shell类命令、可加载动态库工具、异常用户切换语法及非绝对路径/通配符;再核查/etc/sudoers及/etc/sudoers.d/下配置,结合id验证组权限与defaults环境设置;最后通过gtfobins验证危险命令组合并执行三步收敛法检验最小化、参数锁定与上下文隔离。

服务器最小权限管理怎么排查 sudo 配置错误导致普通用户提权的漏洞

排查 sudo 配置错误导致的提权漏洞,关键不是看“有没有 sudo”,而是看“谁、能以什么身份、执行哪些命令、是否需要密码、在什么环境下”。重点在于发现那些本不该开放、或开放方式松散的授权规则。

快速定位高危 sudo 规则:从 sudo -l 开始

普通用户登录后,第一时间运行:

sudo -l

该命令会直接列出当前用户被授予的所有 sudo 权限。重点关注以下几类输出:

  • 含 (root) NOPASSWD 的条目:表示无需密码即可以 root 身份执行某命令,是最高风险信号
  • 允许执行 shell 类命令(如 /bin/bash、/bin/sh、/usr/bin/python*、/usr/bin/perl)
  • 允许执行 可加载动态库或执行外部命令的工具(如 find、vim、less、nano、git、docker)
  • 出现 (ALL, !root) 或 (root, !root) 等异常用户切换语法(关联 CVE-2019-14287)
  • 命令路径为 非绝对路径 或包含通配符(如 /usr/bin/*、/home/*/script.sh),易被 PATH 劫持或路径遍历利用

检查 /etc/sudoers 及其包含项的真实配置

sudo -l 只显示生效规则,但实际配置可能分散在多个位置。需人工核查:

StudyX
StudyX

一款AI办公效率工具,主要用于一体化AI学习助手,支持作业辅导、笔记整理、闪卡生成与考试备考,适合需要提升相关任务效率的用户。

下载
  • 主配置文件:/etc/sudoers(必须用 visudo 编辑,避免语法错误锁死 sudo)
  • 额外配置目录:/etc/sudoers.d/ 下所有非备份文件(如 01-admin、web-deploy),它们按字母序加载,可能覆盖或扩展主策略
  • 检查是否存在 组权限配置(如 %wheel ALL=(ALL) NOPASSWD: ALL),再确认当前用户是否属于该组(用 id 命令验证)
  • 留意 Defaults 行,特别是 env_reset、env_keep、always_set_home、setenv 等设置——它们直接影响环境变量是否可控,是劫持提权的关键跳板

识别危险命令组合与隐式提权路径

有些命令本身不启动 shell,但在特定参数下可突破限制。例如:

  • find /tmp -exec /bin/sh \; —— 若 sudo 允许无参调用 find,攻击者可自行构造 -exec
  • vim -c ':!/bin/sh' —— vim 在 sudo 下启动时若未禁用 shell 调用,可直接逃逸
  • python -c 'import os; os.system("/bin/sh")' —— 所有带交互式解释器的命令都需警惕
  • tar -cf /dev/null /dev/null --use-compress-program=/bin/sh —— 某些老版本 tar 支持自定义压缩程序

建议对照 GTFOBins 搜索已知可利用命令,验证当前 sudo 授权是否落入其利用链。

验证配置是否过度宽松:三步收敛法

对每一条可疑规则,执行以下判断:

  • 最小化原则检验:该命令是否必须由当前用户执行?能否改用专用服务账户或 API 方式替代?
  • 参数锁定检验:规则中是否限定具体参数?例如 sudoers 中写成 /usr/bin/systemctl restart nginx 比 /usr/bin/systemctl * 安全得多
  • 上下文隔离检验:是否启用 Defaults env_reset?是否显式清空危险变量(如 env_delete += "LD_PRELOAD LD_LIBRARY_PATH")?是否限制可写临时目录(Defaults secure_path)?

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

920

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2932

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

976

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

869

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

454

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2656

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4952

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

787

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
尚观shell视频教程
尚观shell视频教程

共8课时 | 1.9万人学习

Linux开发视频教程
Linux开发视频教程

共18课时 | 4.6万人学习

Perl 入门教程
Perl 入门教程

共29课时 | 31.3万人学习