Linux:SUID提权

一、什么是SUID权限:

SUID是一种对二进制程序进行设置的特殊权限,在运行相应程序时会拥有临时的root权限,也就是仅在运行时拥有root权限,且只在此程序拥有root权限,程序外则无,若是对一些特殊命令 (命令也是程序的一种)设置了SUID,那么将会有被提权的风险,常用的SUID提权命令有nmap、vim、find、bash、more、less、nano和cp等。

二、提权步骤:

1、查看当前用户身份:

在命令行输入whoami等命令,确认自己为普通用户(其实这一部可以省略,大多数情况下都是普通用户,不然也不需要提权)

2、find命令寻找具有SUID权限的文件:

命令为:

find / -user root -perm -4000 -print 2>/dev/null
find命令的格式为 find [路径] [参数]
命令解释:
  • / :代表根目录,也就是说从根目录开始查找

  • -user :按文件属主类型查找

  • -perm:按文件权限来查找,4000,2000,1000为分别表示SUID,SGID,SBIT

  • -print:将匹配到的文件进行标准输出

  • 2>/dev/null : 2代表标准错误输出(文件描述符的一种),>代表输出重定向,/dev/null是一个特殊的文件,输出到此文件的东西都会被丢弃,你为可以理解为垃圾桶

执行结果为:

 

我们可以看到结果大多为/bin文件夹里面的文件,这里要说一下:/bin目录下包含了用户命令文件,也就是说find的命令匹配到的/bin目录里的命令大多都可以进行提权操作,在执行相关命令的同时拥有root权限

3、find命令提权:

通过搜索结果我们可以看到,find命令是拥有SUID权限的,接下来我们便利用find命令进行提权

这里需要用到find命令里面的一个参数: -exec (对匹配的文件执行该参数所给出的shell命令)

shell命令格式应为:命令 { } ;

exec后面的命令是以分号为结尾的,故 ; 不可省略

提权命令:

find 任意已有文件名 -exec whoami \;

(\为转义字符,将引号转义为最初的引号,因为;在不同系统不同命令中有着不同的含义,所以需要转义)

结果为:

我们可以看到当前用户为root

到此find提权结束,你可以令-exec后为任何shell命令,它都将以root的权限进行

其他命令的提权以后再更新

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
©2023 By Elite

冀公网安备 13108202000889号

| 鲁ICP备2023011162号

声明:本站中用到的所有图片图标,均来源网络,如有侵权请及时联系删除
Theme Argon