尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

SUID提权

SUID提权
📅 发布时间:2026/6/19 13:47:49
在实践中,获得 SUID 文件列表后,可参考https://gtfobins.github.io/网站。该网站收集了大量 Unix 二进制文件的可利用方法,并按照功能分类(如 SUID、sudo、文件读取等)。只需在网站上搜索找到的 SUID 程序名,即可看到详细的利用命令

find / -user root -perm -4000 -type f 2>/dev/null

SUID提权(Set user ID)

SUID是Linux系统中的一种特殊的文件权限设置,当任何执行文件设置了SUID权限后,用户执行该文件时,将拥有文件所有者的权限,而非执行用户自身的权限。这意味着,当一个普通用户执行具有SUID权限且所有者为root的文件,那么在执行该文件的过程中,这个普通用户将暂时获得root权限。

一、查找

(1)查找具有SUID权限的文件(不仅仅所有者为root)

命令:

find / -perm -4000 -type f 2>/dev/null

① /:表示从根目录开始查找

② -perm -4000:用于匹配具有SUID权限的文件(在Linux权限表中,4代表SUID,0000表示其他权限位不做限制)

③ -type f:指定只查找文件,不查找目录

④ 2>/dev/null:将错误输出重定向到空设备,避免产生大量错误信息干扰查找(/dev/null是特殊的文件系统对象,它会丢弃所有写入其中的内容)

(2) 查找 SUID、所有者为root的文件

命令:

find / -user root -perm -u=s -type f 2>/dev/null

注:

(1)查找所有者为root的文件:-user root

(2)同样匹配具有SUID权限的文件” 对应 -perm -u=s(u=s表示设置了SUID位)

二、实战

1.输入:

find / -user root -perm -4000 -exec ls -ldb {} \;
#发现有/usr/bin/find,既可以用find来提权了
注:对找到的 /usr/bin/su 用 ls 查看一下是否设置了 suid 权限
ls -al /usr/bin/su例:-rwsr-xr-x 有 s 则设置了(并且这里的所有者为root)
  1. 进行 Suid 提权(用 find)
find 任意文件名(存在即可) -exec /bin/sh -p \; -quit
(再输入 whoami 再次查看权限)-exec:对找到的文件执行命令/bin/sh -p:执行 shell,-p 参数保留特权(不重置 EUID),关键点! 现代 sh (如 bash)在执行时,如果发现 euid 和 uid 不匹配,会将 euid(即 suid) 强制重置为uid。-p 参数强制 Shell 保持 euid (Root 权限)。\;:-exec 参数的结束符-quit:找到第一个匹配项后就退出,如果不加,find 搜到多少文件就会弹回多少个 Shell

注:这里的 "find 任意文件名(存在即可)" 只是为了利用SUID的机制、短暂获得 root 权限,来生成一个 root 权限的 shell

三、若vim/vi设置了suid

vim通常不会默认设置 SUID,但如果管理员错误地给vim设置了 SUID 位,那么普通用户可以通过vim以 root 权限打开文件并执行 shell 命令。

通常是这样执行:

vim -c ':!/bin/bash'

在 vim 中,:!可以执行外部命令。由于 vim 以 root 权限运行,执行/bin/bash将得到一个 root shell。

四、bash本身设置了suid

如果bash本身设置了 SUID 位(非常罕见,因为危险),那么直接运行bash -p即可获得 root shell

五、less/more

如果less或more是 SUID root 的,在浏览文件时可以通过!命令执行 shell。

less /etc/passwd# 在 less 中按 ! 然后输入 bash

六、cp/mv

如果cp或mv是 SUID,可以用来覆盖系统文件(如/etc/passwd、/etc/shadow)来创建新 root 用户,或修改/etc/sudoers。但这通常需要能够写入目标文件,且系统可能开启了文件系统保护(如不可变属性),但仍是潜在的提权途径

七、awk

awk可以执行系统命令,如果它设置了 SUID :

awk 'BEGIN {system("/bin/bash")}'

八、python/perl/ruby 等解释器

如果某个解释器被设置了 SUID,那么可以直接在脚本中执行系统调用获取 root shell。具体取决于版本和编译选项

九、环境变量劫持配合 SUID

具体看环境变量提权.md

本文来自博客园,作者:Doll_Marker,转载请注明原文链接:https://www.cnblogs.com/dollaikun/p/20650905

相关新闻

  • 深入解析MC68HC912BD32:16位汽车MCU架构、外设与开发实战
  • 2026怀化放心贵金属回收,CCIC 中检授权收黄金回收铂金回收白银回收持证实体门店 - 诚金汇钻回收公司
  • DCGAN实战精要:从原理到PyTorch代码级调优

最新新闻

  • 目前口碑好的碱泵工厂哪家可靠 - 速递信息
  • 杭州黄金回收哪家正规2026实测 上城萧山实体门店测评 - 润富黄金回收
  • MBD_实战篇_Stateflow在汽车控制器状态管理中的核心应用
  • 7天掌握高效云存储与图片管理:PicList实战指南
  • 杭州亨得利浪琴手表计时归位故障全记录:官方售后深度实测,附2026全国正规服务网点大全 - 亨得利腕表维修中心
  • 长沙闲置名包回收选哪家?逸程持证估价,变现更安心 - 逸程

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号